Moin Zusammen,
ich möchte auch noch auf PosEx hinweisen:
Delphi-Quellcode:
var
sValue : string;
iPos : Integer;
i : Integer;
begin
sValue := '6782,237,3489,34576,346539,34566,345,34,534';
iPos := Pos(',',sValue);
for i := 1 to 2 do begin
iPos := PosEx(',',sValue,iPos+1);
end;
sValue := Copy(sValue,iPos+1,MaxInt);
ShowMessage(sValue);
end;
Sollte Delphi 6 PosEx noch nicht kennen (
Unit StrUtils), habe ich hier noch eine abgespeckte Version:
Delphi-Quellcode:
function csPosEx(const AsSeparator : string;const AsValue : string;const AiStart : Integer) : Integer;
var
iPos : Integer;
iLen : Integer;
begin
if AiStart <= 0 then begin
Result := Pos(AsSeparator,AsValue);
end else begin
iPos := AiStart;
iLen := Length(AsValue);
while iPos <= iLen do begin
if AsValue[iPos] = AsSeparator[1] then begin
Result := iPos;
Exit;
end;
Inc(iPos);
end;
Result := 0;
end;
end;
Abgespeckt meint hier übrigens, dass nur auf ein Zeichen geprüft wird, nicht auf einen Substring, was aber für den gewünschten Anwendungsfall ausreicht.
Bevor noch jemand meckert, dass nicht geprüft wird, ob AsSeparator leer ist: Das macht PosEx auch nicht anders