Hallo Leute,
ich habe ein Programm das verschiedene LogFiles ausließt und mitverfolgt damit sofort neue Logeinträge angezeigt werden.
Aktuell schreibe ich die Daten wie folgt in das SynEdit:
Delphi-Quellcode:
vGUISynEdit.BeginUpdate;
vGUISynEdit.Text := vGUISynEdit.Text+NewText+#10;
vGUISynEdit.Perform(WM_VSCROLL, SB_BOTTOM, 0);
vGUISynEdit.EndUpdate;
Die Probleme die dabei entstehen sollten jedem klar sein:
* Der Text wird immer komplett ausgelesen und neu in die Kompo geschrieben (Problem wenn Logfile sehr groß)
* Das Textfeld merkt sich durch das neue einspielen nicht wo der User hingescrollt hat und springt somit immer an den Anfang (Workaround: WM_VSCROLL, SB_BOTTOM)
Viel schöner wäre natürlich ein hinzufügen der Zeile mit einem Lines.Add(NewText);. Dabei wird am schluss aber ein Zeilenumbruch eingefügt der unter umständen nicht im Log vorhanden ist.
Deswegen suche ich eine Möglichkeit nur den neuen Text hinzuzufügen ohne Zeilenumbruch.
Es kann auch eine andere Komponente sein. Solange diese Syntax Highliting unterstützt.