![]() |
schnelle Alternative für TMemo
Hallo zusammen,
gibt es eine schnellere Alternative zu TMemo ? Hintergrund : Ich möchte eine relativ große Textdatei (ca. 100000 Zeile) einlesen und dabei anzeigen. Ohne die Anzeige in einem Memofeld geht das innerhalb sehr kurzer Zeit. Bei einer gleichzeitigen Anzeige in einem Memofeld braucht das Programm ca. 40 Sekunden. Eigentlich ist das Einlesen nur ein Test. In Wirklichkeit geht es um die Anzeige von vielen Datensätzen die wahlweise über Ethernet oder RS232 schnell hintereinader beim Programm eintreffen. Die Variante mit der Datei habe ich nur programmiert, um von eventuellen Seiteneffekten unabhängig zu sein. Ich verwende DELPHI 6 Prof. unter WIN XP SP2 Schöne Pfingsten |
Re: schnelle Alternative für TMemo
Also hab' mir eine Test-Textdatei mir 100.000 Zeilen angelegt. Wie Du schon geschrieben hast dauert das Laden via LoadFromStream in das TMemo nur wenige Millisekunden.
Du wirst jetzt wohl zeilenweise einlesen (ReadLN?) und per Lines.Add einfügen? Das dauert bei mir dann etwa in Delphi5: ohne FastMM4 13 Sekunden (wohl kürzere Zeilen), an ein Mitlesen ist nicht zu denken. mit FastMM4 10 Sekunden. mit FastMM4 und BeginUpdate/EndUpdate 3 Sekunden (keine Anzeige beim Füllen) Jetzt die Frage, ob nur zeilenweises füllen des TMemo das Problem ist, also Lines.Add und eine Anzeige wirklich nötig ist? Mitlesen kann das doch kein Mensch? Evtl. alle 1000 Zeilen ein EndUpdate/beginUpdate, damit es stoßweise angezeigt wird? |
Re: schnelle Alternative für TMemo
Wer will eigentlich alle 100.000 Zeilen sehen? Reichen nicht die ersten paar Zeilen?
|
Re: schnelle Alternative für TMemo
Oder per Filter verschiedene Ereignisse filtern und nur je nach Filter bestimmte Sachen anzeigen.
Die 100k Zeilen hat eh keiner mehr im Überblick. |
Re: schnelle Alternative für TMemo
erst mal danke für die Tips!
Natürlich kann das kein Mensch mitlesen. Ich habe das Problem stark vereinfacht. Wie gesaget geht es in Wirklichkeit um eine Anzeige einer Datenübertragung (RS232 bzw. Ethernet) zu Debug- zwecken. Dabei trat das Problem auf, dass es bei vielen, schnell eintreffenden Datensätzen zu Problemen kam, wenn die Debug-Ausgabe mitlief. Daher habe ich nach Alternativen zu TMemo gesucht. In der Zwischenzeit habe ich mal RichEdit getestet, das scheint etwas besser zu sein, aber auch nicht wirklich die Probleme zu beseitigen. Natürlich kann man filtern, aber eine vollständige Anzeige war im ersten Anlauf der einfachste Weg, um Fehler zu beobachten. |
Re: schnelle Alternative für TMemo
Dafür würde ich eher die
![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:10 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