Fórum Funções que Retornam Dois Valores #184677

27/09/2003

0

Alguem sabe como ´receber´ mais de um valor
de determinada função:

Ex: Função DivMod(Dividend: Integer; Divisor: Word; var Result, Remainder: Word);

Esta função retorna tanto o resultado da divisão, quando o resto

Obrigado...


Pirasol

Pirasol

Responder

Posts

27/09/2003

Aristodemo

Olá pirasol,
Veja um exemplo:
--------------
TValores = record
Valor1, Valor2: integer;
end;
....
function Valores(Val1, Val2: integer): TValores;
begin
result.Valor1 := Val1;
result.Valor2 := Val2;
end;
...
var
temp:= TValores;
...
temp := Valores(1,2);
--------------

Espero ter ajudado.

Abraços...


Responder

Gostei + 0

28/09/2003

Adilsond

Voce também pode utilizar uma procedure para isto:

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
    procedure Exemplo(var Vlr1, Vlr2: Integer);
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Exemplo(var Vlr1, Vlr2: Integer);
begin
  Inc(Vlr1,10);
  Inc(Vlr2,20);
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  Val1,
  Val2: Integer;
begin
  Val1 := 10;
  Val2 := 10;
  Exemplo(Val1,Val2);
  ShowMessage(´Val1: ´ + IntToStr(Val1) + ´  Val2: ´ + IntToStr(Val2));
end;

end.



Responder

Gostei + 0

28/09/2003

Wbb

Pirasol, há algum tempo eu postei o seguinte tópico: [b:8852ebf921]Array de function. É possível?[/b:8852ebf921]. O pessoal me deu uma tremenda ajuda neste assunto, em que foram apresentadas algumas maneiras de resolver seu problema fácil e rápidamente. Procure este tópico e dê uma olhada.

Até mais.
wbb


Responder

Gostei + 0

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

Aceitar