Fórum Retorno de Função #353423

11/02/2008

0

Amigos, preciso fazer um que me retorne um ou vários Selects, dependendo do parametro a ser passado, exemplo:
Se for CPF, retorna um select(Dados de uma única tabela[Clientes]). Se for Data, retorna vários selects(Dados da Tabela de Venda, Itens, Forma de Pgto e Plano).

Alguém tem uma idéia de como fazer uma única função, retornando tudo isso? O retorno tem que ser OleVariant?TClientDataSet? Ou que? Se alguém tem alguma idéia, fico no aguardo.


Paulo

Paulo

Responder

Posts

11/02/2008

Paulo

Pessoal, achei algo. Acho que se eu colocar assim:
Nome_Funcao(Parametros).Nome_Do_Client_Data_Set, funciona. Na função eu crio os CDS necessários e chamo assim, passando somente o parametro.


Responder

Gostei + 0

11/02/2008

Djjunior

uma opção tb seria:

Funcao(par: string; var retorno1, retorno2, retorno3: integer): boolean;
begin
  Result := True;
  if par = ´test´ then begin
    retorno1 := 1;
    retorno1 := 2;
    retorno1 := 3;
  end else if par = ´testando´ then begin
    retorno1 := 4;
    retorno1 := 5;
    retorno1 := 6;
  end else
     result := False;
end;



quando vc for chamar a função os parametros retorno1, retorno2 e retorno3 tem que ser variavéis, desta forma é como se sua função tivesse 4 results.


Responder

Gostei + 0

11/02/2008

Onjahyr

Seria mais fácil você usar o tipo variant num Array, pode retornar vários tipos e várias coisas numa só função


Responder

Gostei + 0

11/02/2008

Djjunior

não sei... variant normalmente ocupam muita memória...


Responder

Gostei + 0

11/02/2008

Onjahyr

uma opção tb seria:
Funcao(par: string; var retorno1, retorno2, retorno3: integer): boolean;
begin
  Result := True;
  if par = ´test´ then begin
    retorno1 := 1;
    retorno1 := 2;
    retorno1 := 3;
  end else if par = ´testando´ then begin
    retorno1 := 4;
    retorno1 := 5;
    retorno1 := 6;
  end else
     result := False;
end;

quando vc for chamar a função os parametros retorno1, retorno2 e retorno3 tem que ser variavéis, desta forma é como se sua função tivesse 4 results.


Você vai fazer como paa retornar estes valores? A única coisa que volta é TRUE ou o FALSE, o parâmetro que mensiona é de entrada e não de saída, foi isso que entendi.

Blz.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar