Einzelnen Beitrag anzeigen

Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#4

Re: string zerlegen ('d:\test\test2\test3\test4') result:=t

  Alt 1. Dez 2005, 10:14
Delphi-Quellcode:
function Tokenize(const S: string; const C: Char): TStringDynArray;
var
  SLen, SIdx, NTok, TokStart, TokLen: Integer;
begin
  if S <> 'then
  begin
    SLen := Length(S);
    SetLength(Result, SLen);
    TokStart := 0;
    NTok := 0;
    TokLen := 0;
    for SIdx := 1 to SLen do
    begin
      if S[SIdx] <> C then
      begin
        if TokStart = 0 then
          TokStart := SIdx;
        Inc(TokLen);
      end;
      if ((SIdx = SLen) or (S[SIdx] = C)) and (TokStart > 0) then
      begin
        Inc(NTok);
        Result[NTok-1] := Copy(S, TokStart, TokLen);
        TokStart := 0;
        TokLen := 0;
      end;
    end;
    SetLength(Result, NTok);
  end else
    SetLength(Result, 0);
end;
und dann einfach:

Delphi-Quellcode:
var
  Arr: TStringDynArray;
  I: Integer;
begin
  Arr := Tokenize('d:\test\test2\test3\test4', '\');
  for I := 0 to High(Arr) do
    ShowMessage(Arr[I]);
end;
MfG
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat