![]() |
Re: parse textfile to paradox
Sonst meine ich mich zu erinnern, dass es hier in der CodeLib etwas namens
![]() |
parse textfile to paradox: Wer ist schneller als ich?
Ich rufe alle Hacker auf, das hier schneller hinzubekommen! Wenn man nämlich den Delimiter als 'Char' ansieht, gehts einfach und fix:
Delphi-Quellcode:
Einzige Bedingung: Der Prozedurkopf muss identisch sein. Alles ist erlaubt!
Procedure FasterExplode (Const aString : String; aDel : Char; aToken : TStringList);
Var i,j,n : Integer; p : PChar; Begin j := 1; p := @aString[1]; n := Length (aString); For i := 1 to n do begin If p[i] = aDel Then begin aToken.add (Copy (aString, j, i - j)); j := i + 1; End; inc (p); End; aToken.Add (Copy (aString, j, n - j + 1)); End; |
Re: parse textfile to paradox
Hallo,
danke an alle !Ich habe jetzt folgende Funktion benutzt: procedure StrTokenToStrings(S: AnsiString; Separator: AnsiChar; const List: TStrings); var Token: AnsiString; begin Assert(List <> nil); if List = nil then Exit; List.Clear; while S <> '' do begin Token := StrToken(S, Separator); List.Add(Token); end; end; function StrToken(var S: AnsiString; Separator: AnsiChar): AnsiString; var I: Integer; begin I := Pos(Separator, S); if I <> 0 then begin Result := Copy(S, 1, I - 1); Delete(S, 1, I); end else begin Result := S; S := ''; end; end; Nach ein paar Test-Tagen war die bei mir am schnellste ! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:42 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz