Wenn man ein "array of String" erstellt, sollte man sofort an eine TStringlist denken.
Hier mal ein Beispiel zum nachdenken:
Delphi-Quellcode:
procedure teilen(s:string;const a:TStringlist;const t:char=':');
begin
a.Clear; //stringlist löschen
a.strictdelimiter:=true; //auf Hinweis von der_Unwissende eingefügt
a.Delimiter:=t; //Delimiter setzen
a.DelimitedText:=s; //s wird in die Stringlist anhand des Delimiters einsortiert
end;
procedure TForm1.Button1Click(Sender: TObject);
var stringlist:TStringlist;
s:string;
begin
//Stringlist im Hauptspeicher erzeugen
stringlist:=Tstringlist.create;
//Probestring erzeugen
s:='abc:def:ghi:2';
//funktion starten
teilen(s,stringlist);
//testweise Ausgabe des Ergebnisses in einem Memo
memo1.lines.Assign(stringlist);
//Stringlist aus dem Hauptspeicher löschen
stringlist.free
end;
Edit: Beachte dass meine Funktion teilen genau dasselbe macht, wie deine. Du kannst nachher die einzelnen elemente mit stringlist.strings[x] ansprechen. x liegt zwischen 0 und stringlist.count-1
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.