Enviar Dica

By admin

Se você tem uma dica legal ou alguma outra informação sobre o mundo Delphi e deseja ver ela publicada aqui no nosso blog, agora você pode participar enviando para o e-mail:

participar@dicasdelphi.com.br

Envie a sua dica se contiver código evie ele comentado, e anexe o projeto zipado com o .pas, etc… O executável não precisa. Além disso envie as suas informações de contato, nome, e-mail, site, etc, para ser colocado na refência da dica pois assim as pessoas vão saber quem é o autor da dica e poderão entrar em contato, etc…

Comments


fabricio
julho 27th, 2009

componente Nfe para delphi free http://www.pointltda.com.br visite e confira.


Angelo Marques
setembro 23rd, 2009

Tenho percebido que alguns programadores afirmam que o delphi não permite retornar array em funções. Na verdade, não é bem assim. É possível retornar um array, porém é exigida uma técnica especial. Para retornar um array, basta que a função determine o tipo de retorno para variant. Ex: function Teste(dado:string):variant
Dentro da função, na variável Result (ou Teste) deve ser armazenada a array de retorno. O código que chama a função, armazenará o retorno em uma array dinâmica. E pronto! Claro que isso pode causar alguns erros, vez que fica desligada a verificação automática de tipos, mas é melhor que não ter a possibilidade de retornar um array. O exemplo abaixo é de uma função criada pro mim, que busca uma string dentro de outra, retornando um array contendo todas as vezes que a primeira string é encontrada na segunda.
Function GetPosString(Sub,Dado:string):variant;
var
aPos: array of integer;
x, h, iTam1, iTam2, iPos:integer;
begin
iTam1:= Length(Sub);
iTam2:= Length(Dado);
if iTam1 > iTam2 then
begin
GetPosString:= aPos;
exit;
end;
x:=1;
while x0 then
begin
SetLength(aPos,high(aPos)+2);
aPos[high(aPos)]:=iPos;
x:=iPos;
end;
inc(x);
end;
GetPosString:= aPos;
end;
Espero ter colaborado com os colegas. Abraços, MARQUES

Leave a comment