![]() |
function mit 2 ausgabewerten
Hi,
ich suche nach einer möglichkeit bei einer Funktion zwei ausgabewerte zu bekommen in etwa so...
Delphi-Quellcode:
function x(a,b:string):(c,d:string)
wie kann ich das realisieren ? über REsult kann ich ja immer nur einen wert ausgeben. |
Re: function mit 2 ausgabewerten
das Thema hatten wir schon oft. Entweder nimmst du einen Record wo mehrere Werte drin sind oder nutzt var/out Parameter
|
Re: function mit 2 ausgabewerten
also ich hab jetzt ein record dafür verwand allerdings kommt ein fehler:
Delphi-Quellcode:
was mache ich falsch ?
function tform1.finden(a,b:string):record;
var aw:record; aw_zx:string; aw_sb:string; end; begin {...} result:=aw; end; {fehler:[Error] Unit1.pas(207): Identifier expected but 'RECORD' found} |
Re: function mit 2 ausgabewerten
Delphi-Quellcode:
type
TFoo = record a, b: string; end; function Bar(s: string): TFoo; begin Result.a := s + ' <- sorum'; end; |
Re: function mit 2 ausgabewerten
Du musst den Record doch erst vorher noch definieren.
Delphi-Quellcode:
var Adresse: record
name: string; plz: integer; ort: string; end; function AdresseFinden(a, b:string): Adresse; begin Result.Name := 'String 1'; Result.Plz := 'String 2'; Result.Ort := 'String 3'; end; |
Re: function mit 2 ausgabewerten
Delphi-Quellcode:
type TMyResult = Record S: String; I: Integer; end; function Calc(A, B: Integer): TMyResult; begin Result.S := IntToStr(A + B); Result.I := A + B; end; procedure TForm1.FormCreate(Sender: TObject); var Temp: TMyResult; begin Temp := Calc(1, 1); showmessage(Temp.S + ' / '+ IntToStr(temp.I)); end; |
Re: function mit 2 ausgabewerten
Um auch mal die Alternative zu zeigen:
Delphi-Quellcode:
Und so kann man das ganze dann aufrufen:
procedure MachIrgendwas(InputA, InputB: string; var OutputA, OutputB: string);
begin [...] OutputA := 'Balblub'; OutputB := 'Balblub'; end;
Delphi-Quellcode:
var
s1, s2: String; begin [...] MachIrgendwas('Text1', 'Text2', s1, s2); ShowMessage(s1); //s1 enthält jetzt sozusagen das erste Ergebnis ShowMessage(s2); //s2 enthält jetzt sozusagen das zweite Ergebnis [...] EDIT: An sich würden sogar nur die beiden var-Parameter reichen, wenn du dort schon die Sachen übergibst. |
Re: function mit 2 ausgabewerten
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:10 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz