Einzelnen Beitrag anzeigen

maanton

Registriert seit: 10. Sep 2007
16 Beiträge
 
#5

Re: TMemo : Leerzeilen am Ende erkennen

  Alt 18. Sep 2007, 12:59
Hallo s-off !

Da liegt genau mein Problem :

Wenn wir zu meiner ursprünglichen Problembeschreibung zurück gehen liefert mir lines.count immer 2 zurück. (Würde sich zwischen den beiden Zeilen eine Leerzeile befinden (also ein CRLF) würde lines.count 3 zurückliefern).
Memo.Lines.Strings[i] liefert mir den Inhalt der einzelnen Zeilen; da -bei mir (Delphi6)- in den Bsp lines.count immer 2 zurückliefert bin ich damit angeschmiert. Aus Geschwindigkeitsgründen würd ich schon ganz gern mit Memo.Lines.Strings arbeiten - ein Hinzufummeln mit z.B. textzeile := textzeile + #13 + #10; ist ja auch kein Problem.

<CR><LF> beschreibt für mich immer ein Zeilenende : Carriage Return (also Druckkopf zurück) und Line Feed (also Zeilenvorschub). Ergo hätte mein Beispiel in der Antwort an MackHack 5 Zeilen.
(Wenn ich also einen Cursor (caret) an das Ende zu plazieren hätte, würde ich diesen nach dem letzten Zeichen, also an den Beginn der 6. Zeile setzen)


Ich versuch es mal mit einer anderen Beschreibung (entspricht den Bsp. in der ursprünglichen Prob.beschreibung). Diese hier zeigt die Rücklieferung der TMemo-Control. :

1. Bsp :

Soll-Wert : Memo.Text = BlaDiBla<CR><LF>BlubbDiBlubb<CR><LF><CR><LF>
Ist-Wert : Memo.Text = BlaDiBla<CR><LF>BlubbDiBlubb<CR><LF>


2.Bsp

Soll-Wert : Memo.Text = BlaDiBla<CR><LF>BlubbDiBlubb<CR><LF><CR><LF><CR><L F><CR><LF>
Ist-Wert : Memo.Text = BlaDiBla<CR><LF>BlubbDiBlubb<CR><LF>

3. Bsp

Soll-Wert : Memo.Text = BlaDiBla<CR><LF>BlubbDiBlubb
Ist-Wert : Memo.Text = BlaDiBla<CR><LF>BlubbDiBlubb<CR><LF>

Ich sehe also an den Ist - Werten nicht, ob und wieviele CRLF am Ende sind...

Gruss
maanton

Anmerkungen :
In meiner Antwort an MackHack habe ich zu Beginn der 5. Zeile "" vergessen.
In meiner usprünglichen Beschreibung ist vor BlubbDiBlubb ein " zu setzen. bei <CR><LF>" ist " zu ignorieren. Also, ich hab auch schon Beschreibungen mit weniger Fehlern gemacht... .
Kürzel : <CR> = $D, <LF> =$A oder in "C" : 0x0D,0x0A
  Mit Zitat antworten Zitat