Einzelnen Beitrag anzeigen

nettoplus

Registriert seit: 17. Nov 2012
Ort: Hessen, Deutschland
3 Beiträge
 
Delphi 10.3 Rio
 
#16

AW: Function mit mehreren Rückgabewerten

  Alt 10. Dez 2024, 12:04
@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;
Marian

Geändert von TBx (10. Dez 2024 um 12:18 Uhr) Grund: Delphi-Tags eingefügt
  Mit Zitat antworten Zitat