Einzelnen Beitrag anzeigen

Benutzerbild von Billa
Billa

Registriert seit: 11. Aug 2003
237 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#11

AW: TStringlist von function() zurückgeben - nicht möglich?

  Alt 11. Mai 2022, 12:11
Nur mal ganz schnell rausgehauen: um eine Stringlist zu übergeben, könnte "DelimitedText" helfen.

Function BlaBla(a, b : TStrings): string;
begin
SList := TStringList.Create;
try
SList.Delimiter := '|';
SList.StrictDelimiter := true;

// hier die Manipuilationen der Ergebnisliste

SList.Add( a[0]+b[0] );
....

ResultStr := SList.DelimitedText;
finally
SList.Free;
end
Result := ResultStr;
end

und "auf der anderen Seite" wieder in eine Liste umwandeln

SList := TStringList.Create;
try
SList.Delimiter := '|';
SList.StrictDelimiter := true;
SList.DelimitedText := XXX;

// Hier der Zugriff auf die Elemente aus SList

finally
SList.free;
end

Dann ist die Rückgabe ein String. Man muss sich halt nur einen guten "Delimiter" ausdenken, der garantiert nicht in den Werten vorkommt. Ich verwende gern "|", weil Komma, Semikolon und ähnliches gerne mal in den Werten steht. Das ist natürlich nicht das schnellste, ist sicher nicht optimal und taugt auch nur bei begrenzten Mengen, vermeidet aber die oben erwähnten Gefahren und ist einfach einzusetzen
Gruß Billa

Nur weil ich paranoid bin, heißt das nicht, daß die da draussen nicht hinter mir her sind....
  Mit Zitat antworten Zitat