ich hab schon mal son code gepostet und zwar viel kürzer:
Delphi-Quellcode:
function Split(sString, sDelimeter:String):TStringList;
var Res:TStringList;
begin
Res := TStringList.Create;
Res.Text := StringReplace(sString, sDelimeter, #13#10, [rfIgnoreCase, rfReplaceAll]);
Result := Res;
Res.Free;
end;