![]() |
Memo Bricht in Lines um
Also,
eigentlich ist es ganz einfach. Ich habe ein Memo, dem ich mit Add verschiedene Strings zuweise.
Code:
Nun möchte ich später irgendwann den zweiten Eintrag ersetzen, das mache ich ganz simple mit
myMemo.Clear;
myMemo.Lines.Add('First Line'); i:= myMemo.Lines.Add('Something important'); myMemo.Lines.Add('***END***');
Code:
Das funktioniert auch wunderbar, solange das Memo keinen Zeilenumbruch macht, also wenn entweder der Text kurz genug ist oder myMemo.wordWrap auf FALSE gesetzt ist.
myMemo.Lines[i]:= 'Even more important';
Im Netz finde ich immer nur den Hinweis, dass ein Umbruch im Memo keine Auswirkung auf die Lines hat, aber irgendwie funktioniert das nicht. Übersehe ich was? |
AW: Memo Bricht in Lines um
Hallo,
ich würde das Memo nur zur Anzeige benutzen und die Daten in einer StringList vorhalten. Das Ersetzen erfolgt dann in der StringList und per Memo.Lines.Assign dann zurück ins Memo. |
AW: Memo Bricht in Lines um
Hi
Danke für den Tip. Das scheint einwandfrei zu funktionieren. Bin aber dennoch etwas verwundert über das Verhalten des Memos. Tomy |
AW: Memo Bricht in Lines um
Zitat:
Relevant ist das Verhalten der Struktur, die der Datenhaltung dient, und da gibt es keine Möglichkeit von außen einzugreifen. Gruß K-H |
AW: Memo Bricht in Lines um
Naja, nach meinem Verständnis bietet das Memo schon auch die Möglichkeit der Dateneingabe und auch einer Verwaltung ( Insert etc.. ) der zugewiesenen Daten, für mich schon Anzeichen einer 'Datenhaltung/Verwaltung'.
Ist halt Philosophie. Was mich wirklich wundert ist, dass im Netz immer behauptet wird, das die Anzeige die Stringlist (Lines) nicht verändern würde. Aber selbst bei einer Basisaufgabe einer Datenanzeige, nämlich der Reaktion auf eine geänderte Größe funktioniert diese Datenanzeigekomponente nicht korrekt.... |
AW: Memo Bricht in Lines um
Zitat:
Zum anderen werden die Daten, die angezeigt werden können, in einer TStrings kompatiblen Struktur abgelegt. das ist nicht dasselbe wie TStringlist! (OK ist korinthenkackerisch verleitet abernicht zu vorschnellen Schlüssen) Gruß K-H |
AW: Memo Bricht in Lines um
Hmm...
Damit ein Memo die Zeilen NICHT an der sichtbaren Breite umbricht, stelle doch mal 'ScrollBars' auf 'ssBoth'... Damit versucht dann das Memo die Textzeile komplett anzuzeigen und bricht erst sehr spät um.. |
AW: Memo Bricht in Lines um
Zitat:
|
AW: Memo Bricht in Lines um
In einem TRichEdit konnte ich dieses Problem umgehen. Das sollte im TMemo analog funktionieren:
Code:
Bin aber nicht sicher, wie sich das bei sehr großen Datenmengen auf die Laufzeit auswirkt.
Memo.Lines.BeginUpdate;
Memo.WordWrap := false; Memo.Lines[i] := ... Memo.WordWrap := true; Memo.Lines.EndUpdate; |
AW: Memo Bricht in Lines um
Ein Memo hat die wunderliche Eigenschaft WordWrap.
Wenn man die im Objektinspektor (oder sonstwo im Quelltext) auf false setzt, findet keine automatischer Zeilenumbruch statt. Der daraus resultierende Umbruch findet nur in der Anzeige statt. Auf die Eigenschaft von Lines (vom Typ TStrings) hat das keinen Einfluss. Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:21 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