Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - function zwei Ausgabewerte


Tjeri - Di 22.09.09 19:47
Titel: function zwei Ausgabewerte
Gibt es eine Möglichkeit, einer function mehr als einen Ausgabewert zuzuweisen, also das ich 2 Werte habe, die ich ins result schreiben kann...ich hab versucht einen Array als ausgabewert zu nehmen aber das scheint er nicht anzunehmen.


Boldar - Di 22.09.09 19:52

du musst dass array als typ deklarieren:


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
type tmyarr = array [0..1of byte;
{...}

function bla : TMyarr;
begin
  result[0]:=32;
  result[1]:=42;
end;


Oder du definierst einen record:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
TMyrec = record
  a, b: byte;
end;
{..}

function bla : TMyrec;
begin
  result.a:=32;
  result.b:=42;
end;


Oder du arbeitest mit var-Parametern:

Delphi-Quelltext
1:
2:
3:
4:
5:
procedure bla (var a, b: byte);
begin
  a:=32;
  b:=42;
end;


Mitmischer 1703 - Di 22.09.09 20:59

oder mit out parametern :)