Einzelnen Beitrag anzeigen

Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.358 Beiträge
 
Delphi 11 Alexandria
 
#21

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

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

StringReplace(Stringlist.Text,#13#10,'',[rfReplaceAll])
Sehr schlecht, denn dabei werden erst alle Strings aus der Liste zu einem einzelnen verkettet (sprich mindestens doppelter Speicherverbrauch, vom Zusatzaufwand ganz abgesehen) und dann darin die Zeilenumbrüche gesucht, die vorher schon so schön bekannt waren, und dann ein weiterer String mit dem Ergebnis angelegt (sprich noch einmal Speicher verballert).

Insgesamt verstehe ich das ganze so:
Eine Datei wird geladen, nach mehreren Kriterien sollen dann Zeilen gelöscht werden und am Ende soll das Ergebnis wieder gespeichert werden. Richtig?
Wenn ja, befürworte ich immer noch die Variante, die ich schon früher genannt hatte:
Einfach alles unverändert lassen und nur die zu löschenden Zeilen beim Speichern auslassen. Dafür kann man sich einfach ein Array of Boolean anlegen und darin markieren welche Zeilen gelöscht sind. Solange die Kriterien zur Löschung nicht indexabhängig sind und die Anzahl der Zeilen prozentual nicht sehr hoch ist, sollte das die schnellste Variante sein.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat