![]() |
TMemo und Tstringlist Datenübergabe beschleunigen?
Hallo zusammen,
Ausgangssituation ist ein TMemo was einige Tausend Zeilen enthält. Zur Verarbeitung wir es in eine Stringliste kopiert, gelöscht und diese nach der Verarbeitung wieder in das Memo zurück kopiert. Ausgerechnet der letzte Schritt dauert "ewig" was mach ich da falsch?
Delphi-Quellcode:
Gruß
Memo1.lines.BeginUpdate;
Liste.assign(Memo1.Lines); Memo1.Lines.Clear; for i:=liste.Count-1 downto 0 do begin (* machwas z.b. if pos(text,Liste[i])>0 then Liste.delete(i); *********************** *) end; Memo1.Lines.assign(Liste); Memo1.lines.EndUpdate; K-H |
AW: TMemo und Tstringlist Datenübergabe beschleunigen?
Ich hatte mal vor Jahren (mit Delphi <= 7 ?) die Erfahrung gemacht, dass ein
Delphi-Quellcode:
Memo1.Lines.Text := Liste.Text;
deutlich schneller war als ein
Delphi-Quellcode:
Memo1.Lines.assign(Liste);
|
AW: TMemo und Tstringlist Datenübergabe beschleunigen?
Zitat:
Ein
Delphi-Quellcode:
oder
Memo1.Lines := Liste
Delphi-Quellcode:
arbeitet jede Zeile einzeln ab, während ein
Memo1.Lines.Assign(Liste)
Delphi-Quellcode:
das alles mit einem einzigen Aufruf der WinApi erledigt.
Memo1.Lines.Text := Lines.Text
|
AW: TMemo und Tstringlist Datenübergabe beschleunigen?
Zitat:
Ich hatte mir damals die "schnellere" Variante angewöhnt und daher auch keine Probleme mehr. |
AW: TMemo und Tstringlist Datenübergabe beschleunigen?
Danke, das war's.
Das
Delphi-Quellcode:
hab ich mir angewöhnt, weil bei
.Assign
Delphi-Quellcode:
"Krüppelzeilen" unter den Tisch fallen.
.Text=.Text
Vielen Dank noch einmal! Gruß K-H |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:59 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