Hi,
Delphi-Quellcode:
function GetTok(str: string; Tok: integer; sep: char): string;
var
i, j: integer;
b: Boolean;
pos: Integer;
begin
Result := '';
if (Sep = '') or (Tok < 1) then
Exit;
j := 1;
b := False;
pos := 0;
for i := 1 to length(str) do
begin
if str[i] = sep then
begin
if not b then
begin
Inc(j);
b := True;
end;
if j > Tok then
Break
else
Continue;
end
else
b := False;
if (pos = 0) and (j = Tok) then
pos := i;
end;
if Pos > 1 then
Result := Copy(str, pos, i - pos);
end;
ist in jedem meiner Testfälle schneller als deine Funktion.
MfG
Stevie
P.S. Gibt's PosEx erst in Delphi7? Hab hier Delphi6Pro an der Arbeit und find das Teil nicht!?
Edit: Nochmal geändert...