Fragen zu TMemo
-
- Beiträge: 306
- Registriert: Do 9. Apr 2009, 10:10
- OS, Lazarus, FPC: Ubuntu 9.10 (L 0.9.28 FPC 2.2.4)
- CPU-Target: 32Bit
- Wohnort: 785..
Fragen zu TMemo
TMemo hat das tolle MaxLength-Property.... soll das die Gesamtzeichenanzahl sein oder nur für eine Zeile ?
Ein TMemo in ner Schleife mit TMemo.Lines.add zu befüllen funktioniert bei mir nur, wenn man am Ende der Zeilen einen Zeilenumbruch anfügt. Ist das ein Bug oder gewollt ?
(Falls das so gewollt ist versteh ich nicht, warum man über Lines die einzelnen Zeilen ansprechen können soll, wenn man sowieso einen Zeilenumbruch benötigt)
Füge ich einen Zeilenumbruch am Ende der Zeile ein, dann wird eine [ungewollte] leere Zeile eingefügt.
Dann noch etwas: fügt man zur Designtime ein ha ll oo jeweils in verschiedene Zeilen ein, wird zur Laufzeit daraus ein halloo in der ersten Linie.
Kann jemand diese Verhaltensweisen von TMemo bei sich bestätigen ?
Momentan verwende ich Lazarus svn fixes 0.9.30 und FPC 2.4.2
Ein TMemo in ner Schleife mit TMemo.Lines.add zu befüllen funktioniert bei mir nur, wenn man am Ende der Zeilen einen Zeilenumbruch anfügt. Ist das ein Bug oder gewollt ?
(Falls das so gewollt ist versteh ich nicht, warum man über Lines die einzelnen Zeilen ansprechen können soll, wenn man sowieso einen Zeilenumbruch benötigt)
Füge ich einen Zeilenumbruch am Ende der Zeile ein, dann wird eine [ungewollte] leere Zeile eingefügt.
Dann noch etwas: fügt man zur Designtime ein ha ll oo jeweils in verschiedene Zeilen ein, wird zur Laufzeit daraus ein halloo in der ersten Linie.
Kann jemand diese Verhaltensweisen von TMemo bei sich bestätigen ?
Momentan verwende ich Lazarus svn fixes 0.9.30 und FPC 2.4.2
Ubuntu 9.10 (L 0.9.28 FPC 2.4.x)
Re: Fragen zu TMemo
u-boot hat geschrieben:Kann jemand diese Verhaltensweisen von TMemo bei sich bestätigen ?
Nein, nichts davon.
Lazarus 0.9.31 r28409M FPC 2.4.2 i386-linux-gtk 2
-
- Lazarusforum e. V.
- Beiträge: 7178
- Registriert: So 19. Nov 2006, 12:06
- OS, Lazarus, FPC: Linux Mint 19.3
- CPU-Target: AMD
- Wohnort: Oldenburg(Oldenburg)
Re: Fragen zu TMemo
Ein TMemo in ner Schleife mit TMemo.Lines.add zu befüllen funktioniert bei mir nur, wenn man am Ende der Zeilen einen Zeilenumbruch anfügt. Ist das ein Bug oder gewollt ?
Diese Methode fügt legendlich eine neue Zeile hinzu. Also musst du für jede neue Zeile, diese Methode erneut aufrufen. Das was du im Moment machst ist Folgendes: Du fügst nur eine Zeile hinzu. Mehr nicht.
MFG
Michael Springwald
Michael Springwald
-
- Lazarusforum e. V.
- Beiträge: 116
- Registriert: Di 21. Dez 2010, 09:59
- OS, Lazarus, FPC: Win (L 0.9.26 beta FPC 2.2.2)
- CPU-Target: 32 Bit
Re: Fragen zu TMemo
pluto hat geschrieben:Ein TMemo in ner Schleife mit TMemo.Lines.add zu befüllen funktioniert bei mir nur, wenn man am Ende der Zeilen einen Zeilenumbruch anfügt. Ist das ein Bug oder gewollt ?
Diese Methode fügt legendlich eine neue Zeile hinzu. Also musst du für jede neue Zeile, diese Methode erneut aufrufen. Das was du im Moment machst ist Folgendes: Du fügst nur eine Zeile hinzu. Mehr nicht.
Hab ich da was verpaßt? Hast Du das erraten oder steht das irgendwo in einem Posting?
Ich habe den OP schon so verstanden, dass er irgenetwas in der Art
Code: Alles auswählen
for i:=0 to MyStringList.Count-1 do
MyMemo.Add(MyStringList[i]);
macht und dass mit Add an sich eben keine neue Zeile eingefügt wird, sondern lediglich der Text.
Zur Frage nach der Funktionsweise von Add kann ich nicht viel sagen, ich bin auch davon ausgegangen, dass diese Methode eine neue Zeile anfügt. Zu Deiner letzten Leerzeile: Das ist so ja nicht ganz richtig: Du erzeugst ja keine Leerzeile, sondern einen Zeilenumbruch, danach steht nichts. Wenn Dich dieser letzte Zeilenumbruch stört, dann solltest Du den letzten Zeilenvorschub eben nicht schreiben. Je nach gusto beispielsweise
Code: Alles auswählen
for i:=0 to MyStringList.Count-1 do begin
MyMemo.Add(MyStringList[i]);
if i<MyStringList.Count-1 then MyMemo.Add(#13#10);
end;
oder
Code: Alles auswählen
for i:=0 to MyStringList.Count-1 do begin
if i>0 then MyMemo.Add(#13#10);
MyMemo.Add(MyStringList[i]);
end;
Aber vielleicht habe ich Dich auch völlig falsch verstanden. Hast Du mal ein paar Zeilen Code?
-
- Lazarusforum e. V.
- Beiträge: 3158
- Registriert: Di 22. Jul 2008, 19:27
- OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
- CPU-Target: 32bit x86 armhf
- Wohnort: Köln
- Kontaktdaten:
Re: Fragen zu TMemo
Wie wärs mit
Edit: Welche Lazarus-Version verwendest du? Meine (SVN 28849) besitzt keine Methode TMemo.Add();
Code: Alles auswählen
MyMemo.Lines.Add('neue Zeile!');
Edit: Welche Lazarus-Version verwendest du? Meine (SVN 28849) besitzt keine Methode TMemo.Add();
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
-
- Lazarusforum e. V.
- Beiträge: 7178
- Registriert: So 19. Nov 2006, 12:06
- OS, Lazarus, FPC: Linux Mint 19.3
- CPU-Target: AMD
- Wohnort: Oldenburg(Oldenburg)
Re: Fragen zu TMemo
@am2 Hätte mir den Code genauer anschauen sollen. Dann hätte ich vielleicht gar nicht gepostet.
MFG
Michael Springwald
Michael Springwald
-
- Beiträge: 306
- Registriert: Do 9. Apr 2009, 10:10
- OS, Lazarus, FPC: Ubuntu 9.10 (L 0.9.28 FPC 2.2.4)
- CPU-Target: 32Bit
- Wohnort: 785..
Re: Fragen zu TMemo
Ich weiss immer noch nicht an was es lag. Ich habe nichts bis auf Maxlength wissentlich verändert und nun funktioniert das mit dem memo.line.add . Ehrlich gesagt, keine Ahnung warum. Ich glaub mittlerweile wird dieses Maxlength bei mir einfach ignoriert. Jedenfalls scheint da noch ein Käferchen zu sein, den ich nicht mal reproduzieren kann.
Ubuntu 9.10 (L 0.9.28 FPC 2.4.x)
-
- Lazarusforum e. V.
- Beiträge: 7178
- Registriert: So 19. Nov 2006, 12:06
- OS, Lazarus, FPC: Linux Mint 19.3
- CPU-Target: AMD
- Wohnort: Oldenburg(Oldenburg)
Re: Fragen zu TMemo
Vielleicht hast du auch "nur" ein -1 Problem bzw +1 Problem.
MFG
Michael Springwald
Michael Springwald
Re: Fragen zu TMemo
Hallo,
wie kann man einen Text - nachträglich - in einem/bzw. zwei TMemo(s) farblich ändern.
Grund:
Ich fülle ein TMemo aus einer TStringList. Jede Zeile wird mit einer Zeile aus einem 2.TMemo (über Index) verglichen. Wenn ich Unterschiede feststelle sollen beide Zeilen farblich markiert werden.
Ich hoffe das mich jemand auf die Spur der Lösung bringen kann.
wie kann man einen Text - nachträglich - in einem/bzw. zwei TMemo(s) farblich ändern.
Grund:
Ich fülle ein TMemo aus einer TStringList. Jede Zeile wird mit einer Zeile aus einem 2.TMemo (über Index) verglichen. Wenn ich Unterschiede feststelle sollen beide Zeilen farblich markiert werden.
Ich hoffe das mich jemand auf die Spur der Lösung bringen kann.
-
- Lazarusforum e. V.
- Beiträge: 7178
- Registriert: So 19. Nov 2006, 12:06
- OS, Lazarus, FPC: Linux Mint 19.3
- CPU-Target: AMD
- Wohnort: Oldenburg(Oldenburg)
Re: Fragen zu TMemo
mit einem TMemo überhaupt nicht. Jedenfalls habe ich es versucht und es sollte eigentlich über die API gehen, aber bei meinen letzten Versuchen ging das nicht.
Du könntest höchsten ein TSynEdit oder TSynMemo verwenden... die können aber kein Automatischen Zeilenumbruch...
Du könntest höchsten ein TSynEdit oder TSynMemo verwenden... die können aber kein Automatischen Zeilenumbruch...
MFG
Michael Springwald
Michael Springwald
Re: Fragen zu TMemo
Und was ist mit TRichMemo?