Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.167 Beiträge
 
Delphi 12 Athens
 
#23

AW: Zeile aus Stringlist löschen, wie optimieren?

  Alt 14. Feb 2014, 19:27
Wie siehts mit StringReplace aus? Schonmal probiert wie das abschneidet?

StringReplace(Stringlist.Text,#13#10,'',[rfReplaceAll])
sLineBreak, sonst macht das Ding nur noch in Windows seine Arbeit. (Linux, Mac, Android ....)

Und es sollten ja nicht die Zeilenumbrüche raus, sondern nur Leerzeilen, also #13#10#13#10 (sLineBreak + sLineBreak),
aber wie "gut" das funktioniert hatte ich schon beschrieben.

In der Liste umkopieren oder in andere Liste umkopieren braucht kaum mehr Speicher.
Jedenfalls nicht für die Strings. (nur bissl für Objektinstanz und dann bissl mehr, für die Zeigerliste auf die Strings)

Vor dem Umkopieren der Liste kann man aber auch noch die Länge der Liste vorreservieren. Delphi-Referenz durchsuchenTStringList.Capacity

Und in der Liste umkopieren .. Delphi-Referenz durchsuchenTStringList.Exchange?

Zitat:
sl.Assign(slTmp);
Das kopiert aber auch nochmal die Liste. (notfalls könnte man aber auch einfach die beiden Objekte austauschen)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (14. Feb 2014 um 19:30 Uhr)
  Mit Zitat antworten Zitat