AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Zeile aus Stringlist löschen, wie optimieren?

Ein Thema von p80286 · begonnen am 14. Feb 2014 · letzter Beitrag vom 17. Feb 2014
 
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.960 Beiträge
 
Delphi 12 Athens
 
#17

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
AppCentral
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:56 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-2025 by Thomas Breitkreuz