Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi RichEdit/Memo hat eine Zeile zu viel (https://www.delphipraxis.net/15072-richedit-memo-hat-eine-zeile-zu-viel.html)

Pseudemys Nelsoni 21. Jan 2004 15:05


RichEdit/Memo hat eine Zeile zu viel
 
Liste der Anhänge anzeigen (Anzahl: 1)
ich hatte schonmal einen thread drüber, finde ihn aber nichtmehr, daher post ich einfach mel neu.(Soweit ich weiss hat in dem thread eh kein tip geholfen :()


ich habe immer eine Zeile mehr als ich Strings habe, wie könnt ich das lösen? die letzte muss weg!

ich hatte das schon mit

Delphi-Quellcode:
RichEdit1.Text := Copy(RichEdit1.Text, 1, Length(RichEdit1.Text)-1);
versucht. Aber das geht nicht

[edit=sakura] Bild im Anhang! Mfg, sakura[/edit]

s14 21. Jan 2004 15:07

Re: RichEdit/Memo hat eine Zeile zu viel
 
Hast Du es schon mal mit -2 probiert?

Nightshade 21. Jan 2004 15:08

Re: RichEdit/Memo hat eine Zeile zu viel
 
Zitat:

Zitat von Pseudemys Nelsoni
Delphi-Quellcode:
RichEdit1.Text := Copy(RichEdit1.Text, 1, Length(RichEdit1.Text)-1);

Delphi-Quellcode:
RichEdit1.Text := Copy(RichEdit1.Text, 1, Length(RichEdit1.Text)-2);
CR + LF = 2 Zeichen..

Pseudemys Nelsoni 21. Jan 2004 15:10

Re: RichEdit/Memo hat eine Zeile zu viel
 
ja, nur gibt es da ein problem, bei:

Delphi-Quellcode:
memo1.Lines.add('hi');
memo1.Text := copy(memo1.Text, 1, length(memo1.Text)-2);
wird nur jedes ZWEITE mal beim buttonclick was in das memo eingetragen, natürlich sollte es bei jedem gehen :(

s14 21. Jan 2004 15:13

Re: RichEdit/Memo hat eine Zeile zu viel
 
Du must explizit die Zeichen #13 + #10 von hinten her löschen um Fehler zu vermeiden.

Pseudemys Nelsoni 21. Jan 2004 15:14

Re: RichEdit/Memo hat eine Zeile zu viel
 
von hinten her?

s14 21. Jan 2004 15:16

Re: RichEdit/Memo hat eine Zeile zu viel
 
Naja die letzten Zeichen halt :mrgreen:

Delphi-Quellcode:
 memo2.Lines.Text := TrimRight(memo2.Lines.Text);
Gruß
s14

Pseudemys Nelsoni 21. Jan 2004 15:22

Re: RichEdit/Memo hat eine Zeile zu viel
 
:mrgreen:

btw: die letzte zeile verschwindet aber dadurch nicht.

s14 21. Jan 2004 15:27

Re: RichEdit/Memo hat eine Zeile zu viel
 
hmm, bei mir funktionierts aber so:

Delphi-Quellcode:
  memo1.Lines.Add('bla');
  memo1.Lines.Text := TrimRight(memo1.Lines.Text);
keine Leerzeile am Ende

scp 21. Jan 2004 15:31

Re: RichEdit/Memo hat eine Zeile zu viel
 
Oder so:
Delphi-Quellcode:
  while Copy(Memo1.Text, length(Memo1.Text)-1, 2) = #13#10 do
    Memo1.Text := TrimRight(Copy(Memo1.Text, 1, length(Memo1.Text) - 2));
Lösch alle Leerzeilen am Ende weg.

Pseudemys Nelsoni 21. Jan 2004 15:33

Re: RichEdit/Memo hat eine Zeile zu viel
 
stimmt, geht *g*, wird das programm dann nich langsam, wenns nachher so 3000 zeilen hat?

s14 21. Jan 2004 15:36

Re: RichEdit/Memo hat eine Zeile zu viel
 
Das glaube ich nicht, es werden ja nur die letzten Zeichen entfernt.

Pseudemys Nelsoni 21. Jan 2004 15:36

Re: RichEdit/Memo hat eine Zeile zu viel
 
danke, euch beiden, es geht ^^

Zitat:

Das glaube ich nicht, es werden ja nur die letzten Zeichen entfernt.
jo, aber es wird memo1 doch immer wieder neu der komplette text zugewiesen oder?

scp 21. Jan 2004 15:41

Re: RichEdit/Memo hat eine Zeile zu viel
 
Zitat:

Zitat von Pseudemys Nelsoni
danke, euch beiden, es geht ^^

Zitat:

Das glaube ich nicht, es werden ja nur die letzten Zeichen entfernt.
jo, aber es wird memo1 doch immer wieder neu der komplette text zugewiesen oder?

Naja, das würde ja nur mehrmals passieren, wenn du 3000 Leerzeilen hättest. :-)

Pseudemys Nelsoni 21. Jan 2004 15:47

Re: RichEdit/Memo hat eine Zeile zu viel
 
ah ^^ hast recht ;)

hm, muss ich das "while"-ding überall im code wo ich .add benutze mit anhängen? im onchange von einem memo funktioniert das nicht, im RichEdit kommt der Fehler "Fehler beim einfügen von Zeile in RichEdit" oder so :\

scp 21. Jan 2004 15:57

Re: RichEdit/Memo hat eine Zeile zu viel
 
Hmmm. im OnChange ist das allerdings schlecht, da würde ich das while .. do durch if .. then austauschen, dann macht ers nur einmal.

Pseudemys Nelsoni 21. Jan 2004 15:58

Re: RichEdit/Memo hat eine Zeile zu viel
 
hm, im memo geht es doch, wieso geht es im richedit nicht? "Fehler beim einfügen von Richedit-Zeile"

gleicher fehler mit if..then.

habe im onchange:

Delphi-Quellcode:
if Copy(Richedit1.Text, length(Richedit1.Text)-1, 2) = #13#10 then
    Richedit1.Text := TrimRight(Copy(Richedit1.Text, 1, length(Richedit1.Text) - 2));
und im button:

Delphi-Quellcode:
richedit1.Lines.Add('hi');
:\

Pseudemys Nelsoni 21. Jan 2004 16:47

Re: RichEdit/Memo hat eine Zeile zu viel
 
wwieso kann man im OnChange des richedits selbigem keine neue line zuweisen?

nichtmal das: Richedit1.lines.add('bla); geht im OnChange O_o. gibt es eine onchange alternative?

scp 21. Jan 2004 17:02

Re: RichEdit/Memo hat eine Zeile zu viel
 
Hab eben rumprobiert. aber da bin ich auch überfragt. Hab versucht Onchange zeitweise auf nil zu setzen, aber da kam dasselbe raus.

Pseudemys Nelsoni 21. Jan 2004 17:17

Re: RichEdit/Memo hat eine Zeile zu viel
 
schade:(, aber danke :thuimb:


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:43 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