Autor Beitrag
DelphMan
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 57



BeitragVerfasst: Sa 28.10.06 18:44 
Hallo,


mich stört derzeit das Rumgeeiere der Form:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
var s:string;
...
s:='Zeile 1'+#13+#10+
   'Zeile 2'+#13+#10;


Gibts es nicht sowas wie:

ausblenden Quelltext
1:
2:
s:=[[Hier ein String selbst mit einfachen Anführungszeichen: ' !
   und mit einer weiteren Zeile.]];



Ich suche also die magischen Sonderzeichen, mit denen ich mehrzeilig
im Delphi-Quellcode Strings definieren kann, die selbst sogar ohne
Escapezeichen: " und ' enthalten dürfen.

In Perl gibt es z.B. solche Hilfskonstrukte wie z.B.

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
$a = <<"EOF";
Zeile 1
Zeile 2
Böse Zeichen " '
EOF
echo $a;


Gibt dann aus:

Zeile 1
Zeile 2
Böse Zeichen " '


Gruß


DelphMan
wulfskin
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1349
Erhaltene Danke: 1

Win XP
D5 Pers (SSL), D2005 Pro, C, C#
BeitragVerfasst: Sa 28.10.06 19:19 
Hallo,

so geht es:
ausblenden Delphi-Quelltext
1:
2:
const
  ABC = 'Zeile1' + #13#10 + 'Zeile2';
Hilfe hätte allerdings auch was gebracht...
Escapezeichen kenne ich nicht, dafür gibt es dann diese Raute...

Gruß Hape!

_________________
Manche antworten um ihren Beitragszähler zu erhöhen, andere um zu Helfen.
DelphMan Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 57



BeitragVerfasst: Sa 28.10.06 19:37 
Tut mir leid, aber die Antwort verstehe ich jetzt leider nicht so ganz.
Lannes
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2352
Erhaltene Danke: 4

Win XP, 95, 3.11, IE6
D3 Prof, D4 Standard, D2005 PE, TurboDelphi, Lazarus, D2010
BeitragVerfasst: Sa 28.10.06 19:46 
Hallo,

die Anregung von user profile iconwulfskin noch etwas erweitert:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
const
  Ap =  '''';
  CR =  #13#10;
  ABC = 'Zeile 1'+CR+
        'Zeile 2'+CR+
        'Böse Zeichen " '+Ap+CR+
        'EOF';


Finde ich übersichtlicher als dieser Hilfskonstrukt von Perl: :nut:
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
$a = <<"EOF";  
Zeile 1  
Zeile 2  
Böse Zeichen " '  
EOF    
EOF  
echo $a;


Ich kenn Perl nicht, kann ich so auch EOF als String ausgeben?

_________________
MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )
DelphMan Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 57



BeitragVerfasst: Sa 28.10.06 19:50 
Ah, joar, auch eine Idee, auf jeden Fall besser als bisher! Danke!

Ja, man kann in Perl auch "EOF" ausgeben, dann schreibt man:

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
$a = <<"DerStringKommtNie";  
Zeile 1  
Zeile 2  
Böse Zeichen " '  
EOF  
DerStringKommtNie
echo $a;
marvin190
ontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 55

Win XP, SuSe Linux 10.1
Delphi 3/5/2005 Personal; C++ Builder 6
BeitragVerfasst: Sa 28.10.06 19:54 
Hallo!

Ab Delphi 7 (vielleicht auch 6) lässt sich das doch wirklich unschöne #10#13 auch durch sLineBreak ersetzten

_________________
Mfg Marvin
Carpe Diem! - Genieße den Tag! - [gr. Horaz]