Edit: da du XE3 hier, hier noch viel einfacher:
Delphi-Quellcode:
var
aArr: TArray<string>;
sStr: string;
begin
sStr:= 'a:b:c:d:e:f:g:h:i:j:k:l:m:n:o:p:q:r:s:t:u:v:w:x:y:z';
aArr := sStr.Split([':']);
end;
Das ist auch deutlich schneller als die erste Funktion da unten und viel weniger aufwendig zu implementieren als die zweite Funktion da unten.
Das hier könnte ich eventuell interessieren (Explode-Funktion):
http://www.delphipraxis.net/3471-ein...-erzeugen.html
Es gibt auch eine schnellere Version, die Implementierung ist aber deutlich unschöner finde ich. Und diese schnellere Version lohnt sich auch nur, wenn es auf die Millisekunde genau ankommt.
Ich habe mal einen Test gemacht und 50.000x einen String und eine Zahl getrennt durch irgendein Zeichen an eine andere Exe geschickt die das dann mit Explode aufbohrt und aufwertet.
Das funktioniert wunderbar und ist schnell genug.
Wer trotzdem jede Millisekunde zählen will:
http://www.delphipraxis.net/82268-[optimiert]-explode-prozedur-reloaded-ersatz-fuer-codelib.html