Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi \n mit Zeilenumbruch "ersetzen" (https://www.delphipraxis.net/74840-%5Cn-mit-zeilenumbruch-ersetzen.html)

draGo 9. Aug 2006 13:26


\n mit Zeilenumbruch "ersetzen"
 
Huhu DP,

ich habe ein Memo mit einem Inhalt, welcher \n enthält.
Also zum Beispiel:

Dieser Beispiel Text ist \n Klasse.

Wenn ich nun auf den Button klicke soll \n durch einen Zeilenumbruch ersetzt werden.
Also sollte dann dort stehen:

Dieser Beispiel Text ist
Klasse.

Ohne \n, jedoch mit Zeilenumbruch ^^
Versucht habe ich es folgendermassen...:
Delphi-Quellcode:
StringReplace(Memo.Text,'\n',#13#10,[rfReplaceAll]);
Hat jedoch nicht geklappt.

Ein Freund (c Programmierer) meint \n würde als nur ein Zeichen/Char behandelt werden. (Ich kann ihm da aber nicht so recht glauben, da ich kurz ein Testprogramm geschrieben hatte was mir den Char liefern sollte, und es kam nur \ dabei heraus..), und dass es in einer textform wie \\n behandelt wird. (Was ich auch nicht verstehe, warum das so sein sollte ^^)

Gibt es da vielleicht eine Lösung? :)
Danke schonmal,
mfG draGo

stz 9. Aug 2006 13:36

Re: \n mit Zeilenumbruch "ersetzen"
 
Zitat:

Zitat von draGo
Delphi-Quellcode:
StringReplace(Memo.Text,'\n',#13#10,[rfReplaceAll]);

Ich hoffe, das war nur ein Auszug und sieht bei dir in Wahrheit so aus:
Delphi-Quellcode:
Memo.Text := StringReplace(Memo.Text,'\n',#13#10,[rfReplaceAll]);
StringReplace ist schließlich eine Funktion, die den modifizierten Text zurückliefert.

Zitat:

Zitat von draGo
Ein Freund (c Programmierer) meint \n würde als nur ein Zeichen/Char behandelt werden. (Ich kann ihm da aber nicht so recht glauben, da ich kurz ein Testprogramm geschrieben hatte was mir den Char liefern sollte, und es kam nur \ dabei heraus..), und dass es in einer textform wie \\n behandelt wird. (Was ich auch nicht verstehe, warum das so sein sollte ^^)

Dieser c Programmierer hat auch nur für c gesprochen. Unter Delphi/Pascal kannst du seine Aussagen vergessen :zwinker:

Gruß
Malte

himitsu 9. Aug 2006 13:37

Re: \n mit Zeilenumbruch "ersetzen"
 
StringReplace ist eine Funktion, keine Prozedur :warn:

Delphi-Quellcode:
Memo.Text := StringReplace(Memo.Text, '\n', #13#10, [rfReplaceAll]);
[add]
manchma wünscht ich mir hier was shcnelleres und 'ne TRedBox ^^

PS: jupp, in Delphi gibt es diese Steucherzeichen nicht, dafür ist ja #10 da (oder für Windows besser geeignet das #13#10).

stz 9. Aug 2006 13:39

Re: \n mit Zeilenumbruch "ersetzen"
 
schön, dass du mir recht gibst :wink:

draGo 9. Aug 2006 13:40

Re: \n mit Zeilenumbruch "ersetzen"
 
Zitat:

Zitat von stz
Zitat:

Zitat von draGo
Delphi-Quellcode:
StringReplace(Memo.Text,'\n',#13#10,[rfReplaceAll]);

Ich hoffe, das war nur ein Auszug und sieht bei dir in Wahrheit so aus:
Delphi-Quellcode:
Memo.Text := StringReplace(Memo.Text,'\n',#13#10,[rfReplaceAll]);
StringReplace ist schließlich eine Funktion, die den modifizierten Text zurückliefert.

*hust* Ähm...Ich kann alles erklären :angel2:
Ich glaub das frühe aufstehen, wegen der schule bekommt mir nicht so gut...Hatte das Memo.Text := vergessen ...^^
Danke dir.

Zitat:

Zitat von stz
Dieser c Programmierer hat auch nur für c gesprochen. Unter Delphi/Pascal kannst du seine Aussagen vergessen :zwinker:

Gut, ich dachte schon :)

Danke nochmal ^^
mfG
draGo

Torpedo 9. Aug 2006 14:10

Re: \n mit Zeilenumbruch "ersetzen"
 
Zitat:

Zitat von draGo
Ein Freund (c Programmierer) meint \n würde als nur ein Zeichen/Char behandelt werden. (Ich kann ihm da aber nicht so recht glauben, da ich kurz ein Testprogramm geschrieben hatte was mir den Char liefern sollte, und es kam nur \ dabei heraus..), und dass es in einer textform wie \\n behandelt wird. (Was ich auch nicht verstehe, warum das so sein sollte ^^)

\n wird in c nur als ein Zeichen behandelt. \\n als 2, weil \ escaped ist. Dann ist es aber auch kein Zeilenumbruch mehr.

Code:
char neuezeile = '\n';
printf("Erste Zeile%cZweite Zeile", neuezeile);
Wäre \n mehr als ein Zeichen, würde es in keine char-Variable passen. :wink:


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:17 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz