Lines->AddStrings() langsam?
-
Hallo zusammen,
ich lese eine recht lange Textdatei in eine TStringList ein (>20.000 Zeilen), klappt auch ganz gut, auch das Entfernen von Leerzeilen klappt wunderbar und vor allem schnell.
Wenn ich jedoch diese TStringList mit Lines->AddStrings() in mein RichEdit ausgebe dauert das mitunter recht lange >10 Sek. (OK klingt zwar nicht lang aber selbe Datei mit z.B. Notepad geöffnet dauert <2 Sek).
Habe ich evtl. was übersehen an Möglichkeiten zur Ausgabe?
Danke für die Antworten im v o r r a u s
So long
Wolfi
-
Hallo
Das hier ist die schnellste Methdoe, alles aus Stringlist in RichEdit zu kopieren :
RichEdit->Lines->Text = StringList->Text;/Edit : vor längerer Zeit gabs hier mal einen Thread zu diesem Thema...
bis bald
akari
-
Ich danke Dir für deine schnelle Antwort und Sorry hatte ich nicht gesehen/gefunden den anderen Thread.
So long
WolfiEDIT: Habe ich gleich mal getestet leider ist es nicht wirklich schneller, werde mich aber auf die erneute Suche nach dem anderen Thread begeben.
-
evtl mal mit Streams versuchen?
aber ich glaube über ->Text ist gleichschnell wie über Streams
-
Sucht ihr diesen Thread?
http://www.c-plusplus.net/forum/viewtopic-var-t-is-115295-and-postdays-is-0-and-postorder-is-asc-and-start-is-10.html
-
Joe_M. schrieb:
Sucht ihr diesen Thread?
http://www.c-plusplus.net/forum/viewtopic-var-t-is-115295-and-postdays-is-0-and-postorder-is-asc-and-start-is-10.htmlden wollte ich gerade suchen
also hatte ich das richtig in errinerung, dass die Textzuweisung und über Streams keinen grossen unterschied macht 
-
Wolfi222 schrieb:
EDIT: Habe ich gleich mal getestet leider ist es nicht wirklich schneller, werde mich aber auf die erneute Suche nach dem anderen Thread begeben.
Das kann ich mir nicht vorstellen. Der Unterschied zwischen dem Hinzufügen per TRichEdit::Lines::Add() und TRichEdit::Text ist riesig. 20000 (kurze) Zeilen per direkter Textzuweisung 0,1 bis 0,2 Sekuden. Per Iteration über die SringList und dem Adden dauert es doch schon gut 15 Sekunden.
-
So nochmal ein kurzes Feedback,
habe jetzt nochmal alles ausprobiert und egal wie die Ausgabe dauert einfach länger im RichEdit.
Da ich nun nicht unbedingt auf eben dieses angewiesen bin habe ich ein schlichtes Memo Feld genommen und die Ausgabe ist selbst bei den grossen Dateien < 1 Sekunde.
Die Ursache dafür weiss ich allerdings nicht und nochmal danke für die schnellen Antworten.
So long
Wolfi
-
Hallo
Die Ursache ist sicher, das RichEdit die Zeilen ja noch unterschiedlich formatieren muß, während Memo dieser in einer Formatierung untereinander weg raushauen kann.
bis bald
akari