Autor Beitrag
MrDude
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 22

Win 2000, Win XP Pro., Kubuntu, Debian
C# (VS 2008)
BeitragVerfasst: Sa 19.05.07 13:01 
Hallo alle zusammen,

ich möchte einen mehrzeiligen Text in die Zwischenablage kopieren, leider kommt dann beim pasten im Windows Notepad kein mehrzeiliger Text raus.

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
string txt;
txt = "Zeile 1\n";
txt += "Zeile 2\n";
txt += "Zeile 3\n";
txt += "Zeile 4";
Clipboard.SetText(txt);


Wenn ich das irgendwo paste kommt richtig:
ausblenden Quelltext
1:
2:
3:
4:
Zeile 1
Zeile 2
Zeile 3
Zeile 4

aber im Windows Notepad kommt nur
ausblenden Quelltext
1:
Zeile 1Zeile 2Zeile 3Zeile 4					

Brauch ich um das richtig zu machen noch ein Zeichen? mit \r dazu gehts auch nicht und das macht bei allen anderen Programmen zwei Zeilenumbrüche...

MfG

MrDude
JüTho
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2021
Erhaltene Danke: 6

Win XP Prof
C# 2.0 (#D für NET 2.0, dazu Firebird); früher Delphi 5 und Delphi 2005 Pro
BeitragVerfasst: Sa 19.05.07 14:17 
Versuche es einmal mit Environment.Newline; vielleicht wird das überall richtig erkannt.

Jürgen

PS. Ich hoffe doch, dass Du "txt += ..." nur als Beispiel geschrieben hast. Strings sind grundsätzlich unveränderlich; ein derartiges Verhalten ist nur in Ausnahmefällen akzeptabel. Verwende stattdessen verwende mehrere Verknüpfungen direkt hintereinander "txt = ... + ... +" oder StringBuilder.
arj
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 378

Win XP/Vista, Debian, (K)Ubuntu
Delphi 5 Prof, Delphi 7 Prof, C# (#Develop, VS 2005), Java (Eclipse), C++, QT, PHP, Python
BeitragVerfasst: Sa 19.05.07 16:06 
Der Hintergrund warum das nicht geht ist folgender:
Unter Windows wird ein Zeilenumbruch mit \n\r dargestellt.
(Als Newline UND Carriage-Return).
Notepad erwartet das. Andere Editoren wie zum Beispiel WordPad kommen
auch nur mit dem Newline zeichen klar.

Unter Linux wird beispielsweise nur das Newline zeichen verwendet,
unter Mac war es lange Zeit so, dass nur das \r verwendet wurde.

Deshalb Environment.Newline von JüTho verwenden, dann sollte es gehen ;)