Einzelnen Beitrag anzeigen

Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#7

Re: Komplexe Datentypen als Rückgabewert einer Funktion

  Alt 14. Dez 2005, 13:07
Zitat von inriz:
Ich habe eine Funktion namens GetTokenList. Diese Funktion nimmt einen String entgegen (separiert durch ':'), splittet diesen
anhand des Separators auf und schreibt alles in ein Objekt vom Typ TStringList.
Diese TStringList wird in der Funktion allokiert und die Referenz dieses Objektes wird zurückgegeben.
Genau das würde
Delphi-Quellcode:
function TfmAppPanel.GetTokenList(sCommand, sSeparator : string) : TStringList;
begin
  Result := TStringList.Create;
  Result.Delimiter := Seperator;
  Result.DelimitedText := sCommand;
end;
machen.
Beispiel :

Delphi-Quellcode:
var s : String;
    tokenList : TStringList;
begin
  s := 'a:b:c:Irgendetwas:...';
  tokenList := GetTokenList(s, ':');
  // tokenList.Count = 5,
  // tokenList.Strings[0] = 'a'
  // tokenList.Strings[1] = 'b'
  // tokenList.Strings[2] = 'c'
  // tokenList.Strings[3] = 'Irgendetwas'
  // tokenList.Strings[4] = '...'
end;
Oder hab ich dich falsch verstanden? Werde mir mal gleich deinen Code anschauen, moment

Ja, ist genau das was deine Funktion auch macht nur schon gekapselt. By the way, eine TStringList arbeitet auf den DelimitedText wie ein StringTokenizer (wenn ein Delimitter vorhanden ist), nich auf Text. Wenn du also wie gepostet vorgehst, stehen in der StringList wie bei deinem Ergebnis die einzelnen Token drin

[Edit]Code angesehen und letzten Absatz eingefügt[/Edit]
  Mit Zitat antworten Zitat