(Moderator)
Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
Delphi 2007 Enterprise
|
Re: TStringList: Arbeiten ohne Add-Methode
7. Jun 2005, 17:02
Zitat:
Meine Frage wurde jedoch imho noch nicht klar beantwortet. Ich wollte nämlich nur wissen, ob es so in Ordnung ist, wenn ich es auf einem der oben beschriebenen Wege mach (bzw. ob ich Speicher mit Setlength reservieren muss)
1. mit Add('') und dann aList[aList.count - 1] := aList[aList.count - 1] + aNewChar gehts.
2. Für SetLength sehe ich keine Möglichkeit.
Warum nicht so:
Delphi-Quellcode:
Procedure LineToStrings (aInput : String; aSrc : TStringList);
Var
aStart, i, n : Integer;
aLine : String;
Begin
aSrc.Clear;
aStart := 1; // Index auf das erste Zeichen der aktuellen Zeile
aInput := aInput + ccEOF; // sicherstellen, das auch die LETZTE Zeile erkannt wird.
For i:=1 To Length (aInput) do
If aInput[i] in [';', ccEOF] then Begin // Zeilenende erreicht?
// Die Zeile ist zwischen aStart und i-1
aLine := Trim (Copy (aInput, aStart, i - aStart));
If aLine<>'' Then aSrc.Add (aLine);
aStart := i + 1;
End;
End;
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
|
|
Zitat
|