@SyntaxXx schreibt:
Zitat:
Ich habe nun eine eigene function geschriebenm, inder ich aber mehrere Rückgabewerte bekomme.
Jetzt ist die Frage, wie ich auf diese zugreifen kann, da ja Result nur einen Wert wiedergibt?
Um es ein wenig zu vereinfachen hier ein kleines Beispiel (Nur gerade aus den kopf geschrieben)
markierenCode:
function MoreResults:string;
begin
a := 1;
b := 2;
end;
Diese Anfrage ist schon ziemlich alt, seit dem hat sich bei Delphi viel neu entwickelt. Deswegen beschloss ich die Antworten etwas zu ergänzen.
Schließlich bleibt es im net länger und andere lesen das gerne.
Also als Funktionsergebnis kann man ein Record oder ein Array nehmen. Wie das geht, zeigt dieses Beispiel:
Delphi-Quellcode:
interface
type
dreierOut: Array[1..3] of integer;
function MoreResults:dreierOut;
procedure berechneWas;
var
Ergebnis: dreierOut;
Result: integer;
implementation
function TForm1.MoreResults:dreierOut;
var
a, b, c : integer;
begin
a := 49;
b := 12;
c := 66;
dreierOut[1] := a;
dreierOut[2] := b;
dreierOut[3] := c;
end;
procedure TForm1.berechneWas;
begin
…
Ergebnis:= MoreResults;
// oder:
Result:= MoreResults[1];
end;