Einzelnen Beitrag anzeigen

alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#12

parse textfile to paradox: Wer ist schneller als ich?

  Alt 10. Jun 2005, 17:25
Ich rufe alle Hacker auf, das hier schneller hinzubekommen! Wenn man nämlich den Delimiter als 'Char' ansieht, gehts einfach und fix:
Delphi-Quellcode:
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;
Einzige Bedingung: Der Prozedurkopf muss identisch sein. Alles ist erlaubt!
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat