basta jogar os campos e retorno para um array

Campos: array of Variant;
Retorno: array of Variant;

SetLength(Campos,2);
SetLength(Retorno,2);

Campos[0] := 'MEU_CAMPO1';
Campos[1] := 'MEU_CAMPO2';

dentro da procedure Pesquisa faça:

procedure Pesquisa(meuDataset: Tdataset; Campos: array of Variant; var
Retorno: array of Variant;)
...
for i := 0 to Length(Campos) - 1 do
        Retorno[i] := MeuDataSetPesquisa.FieldByName(Campos[i]).Value;
...

chamando assim:

Pesquisa(MeuDataSetPesquisa, Campos, Retorno)


Att.
JB

2009/7/10 Thiago gmail <thiago.racha...@gmail.com>:
>
>
> Tenho uma rotina padronizada que passo como parametro a tabela e o campo de
> retorno e ele retorna o valor do registro selecionado. Agora preciso fazer
> que esta rotina possa retornar o valor de mais de um campo.
>
> por exemplo
>
> var VarRetorno1, VarRetorno2 : variant;
> begin
> Pesquisa(Tabelax, [CampoRetorno1, CampoRetorno2], [VarRetorno1,
> VarRetorno2])
> end;
>
> sendo que VarRetorno são as variáveis que vão receber os valores do registro
> selecionado
>
> Alguem pode me dar uma luz de como fazer?
>
> [As partes desta mensagem que não continham texto foram removidas]
>
> 



-- 
____________________________
José Benedito
Software Developer
skype:jb.sologix

Responder a