wie füge ich in eine Memofeld einen \n\r?
-
Nop, das "\n" funktioniert im Memo nicht (Gott weiß warum),
-
Danke!
Mit RichEdit klappt es wunderbar.mit TMemo kriege ich statt eine Carriage Ruturn immer eine Sonder Zeichen angezeigt.
Gruss
Sayangoin
-
Unter WinDOS besteht ein korrekter Zeilenumbruch aus '\r\n'.
-
Funzt aber trotzdem nicht im Memo. Ich denke man muß dort den Text aufdröseln un mit Add() wieder einfügen. Zu faul...

Und warum sollte ich als fauler Progger "\r\n" einfügen, wenn "\n" absolut reicht?!?
-
kann man es nicht durch "\x10\x15" ersetzten??? sowas müsste doch auch möglich sein
-
Warum glaubt mir eigentlich keiner, ich habe es zumindest ausprobiert. Wenn ihr das auch getan hättet...
Wenn es denn unbedingt ein Memo sein soll:
Memo1->Text = "Hallo%nWelt%n"; TStringList* slTemp = new TStringList(); slTemp->Text = Memo1->Text; int pos; AnsiString SearchString = "%n"; AnsiString ReplaceString = "\n"; pos = slTemp->Text.AnsiPos(SearchString) ; if (pos) { do { slTemp->Text = slTemp->Text.Delete(pos, SearchString.Length()); slTemp->Text = slTemp->Text.Insert(ReplaceString, pos); pos = slTemp->Text.AnsiPos(SearchString) ; } while (pos); } Memo1->Text = slTemp->Text; delete slTemp;
-
Hallo,
es gibt StringReplace() wie schon Jansen sagte
Memo1->Text = StringReplace(Memo1->Text, "%n", "\r\n", TReplaceFlags() <<rfReplaceAll);das nehmen wirklich die faulen Programmierer :p
-
ABER DIE /N und /R WERDEN NICHT KORREKT UMGESETZT, ES ERSCHEINEN SONDERZEICHEN IM MEMO, ANSTELLE EINES ZEILENUMBRUCHS!!!!!!!!!!!!!!!!!
-
Hallo ich bin nicht schwerhörig!
aber bei deiner Lösung ersetzt das Memo dein hinzugefügtes "\n" automatisch durch ein "\r\n" deshalb wird kein Steuerzeichen angezeigt!
Dieses kannst du ganz einfach nachvollziehen, indem du den Text in einer
Textdatei speicherst alaMemo1->Lines->SaveToFile("c:\\test.txt");
-
Lies doch bitte mal was da steht und was die Aufgabenstellung war...
Beim Ersetzen von "%n" durch "\n" (oder "\r\n") steht im Memo anschließend "Hallo|Welt|" in EINER Zeile und es wird NICHT in mehrere Zeile aufgeteilt. In RichEdit funktioniert das, in StringList funktioniet das, aber NICHT im Memo.
-
Memo1->Text = "Hallo%nWelt%n"; TStringList* slTemp = new TStringList(); slTemp->Text = Memo1->Text; int pos; AnsiString SearchString = "%n"; AnsiString ReplaceString = "\n"; pos = slTemp->Text.AnsiPos(SearchString) ; if (pos) { do { slTemp->Text = slTemp->Text.Delete(pos, SearchString.Length()); slTemp->Text = slTemp->Text.Insert(ReplaceString, pos); pos = slTemp->Text.AnsiPos(SearchString) ; } while (pos); } Memo1->Text = slTemp->Text; delete slTemp; Memo1->Text = StringReplace(Memo1->Text, "\r\n", "-LOL-", TReplaceFlags() <<rfReplaceAll);dein Code geht deswegen auch nicht! weil es automatisch in "\r\n" umgewandelt wird (RichEdit macht auch gleich "\r\n" daraus deshalt sieht man kein Steuerzeichen)
ergo kann man gleich
Memo1->Text = StringReplace(Memo1->Text, "%n", "\r\n", TReplaceFlags() <<rfReplaceAll);verwenden.
-
Ok, du hast recht. Lag daran dass ich "\n\r" eingegeben hatte. Muss wohl die Hitze sein (besser Entschuldigung fällt mir nicht ein...
)Sorry
-
Hast du früher mit einem Mac gearbeitet ? Da wäre "\n\r" richtig.

-
Wäre 'ne praktische Ausrede - aber nein, hab' ich nicht...