Fórum 2 Resultados na função #280670

09/05/2005

0

QUERO CRIAR UMA FUNCAO QUE ME RETORNE 2 RESULTADOS OU SEJA 2 RESULT
COMO É POSSIVEL?

[b:29113e08ab][color=green:29113e08ab]Título Ediutado(Saviski) [/color:29113e08ab]- maiúsculas - leia as [url=http://forum.clubedelphi.net/viewtopic.php?t=6689]regras de conduta do fórum[/url][/b:29113e08ab]


Ronaldo Martins

Ronaldo Martins

Responder

Posts

09/05/2005

Bruno Belchior

Isso não é possível, o que você pode fazer é passar uma variável por referência... ex.:
function SomaEMultiplica(var Parcela1: Integer; Parcela2: Integer): Integer;
begin
  Result := Parcela1 + Parcela2;
  Parcela1 := Parcela1 * Parcela2;
end;

procedure Chamadora;
var
  Par1, Par2, Resultado: Integer; 
begin
  Par1 := 2;
  Par2 := 3;
  Resultado := SomaEMultiplica(Par1, Par2);
end;
Observe que na função no primeiro parâmtro foi antecedido com a palavra [b:8c0bac4aae]var[/b:8c0bac4aae] isso quer dizer que tudo que acontecer ´dentro´ da função com essa variável vai refletir na variável que foi passada nele no método que a chamou, no exemplo a variável [b:8c0bac4aae]Resultado[/b:8c0bac4aae] vai receber 5 (a soma de Par1 e Par2) e a variável [b:8c0bac4aae]Par1[/b:8c0bac4aae] vai ter valor igual a 6 (resultado da multiplicação de Par1 e Par2)...


Responder

Gostei + 0

09/05/2005

Kotho

Você pode definir o tipo de retorno da sua função como Variant...

depois utilize a função VarArrayOf para atribuir valor para o Result:

result := VarArrayOf([´string´, ´string´]);

isso fará que o retorno da sua função seja um array:

var
arr: array of string;
...
arr := funcao(parametros);

showmessage(arr[0]);
showmessage(arr[1]);


Responder

Gostei + 0

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

Aceitar