Referenz - Ausrufezeichen
Das Ausrufezeichen ! aktiviert die Verwendung von Escape-Zeichen in  Strings. Dadurch werden in FreeBASIC Backslashes ("\", ASCII-Code 92) als Escape-Zeichen verwendet. Der Ausdruck hinter dem Escape-Zeichen wird nicht 1:1 ausgegeben, sondern zuerst interpretiert. Folgt dem Zeichen eine Zahl, so funktioniert das Zeichen wie ein CHR; anstelle der Zahl wird das zugehörige ASCII-Zeichen ausgegeben. Die Zahl kann in jedem beliebigen Zählsystem angegeben werden, wenn das Präfix &? verwendet wird (z. B. &h für
Strings. Dadurch werden in FreeBASIC Backslashes ("\", ASCII-Code 92) als Escape-Zeichen verwendet. Der Ausdruck hinter dem Escape-Zeichen wird nicht 1:1 ausgegeben, sondern zuerst interpretiert. Folgt dem Zeichen eine Zahl, so funktioniert das Zeichen wie ein CHR; anstelle der Zahl wird das zugehörige ASCII-Zeichen ausgegeben. Die Zahl kann in jedem beliebigen Zählsystem angegeben werden, wenn das Präfix &? verwendet wird (z. B. &h für  hexadezimal).
hexadezimal).
Außerdem werden folgende Strings von FreeBASIC gesondert behandelt:
- \r wie ein CHR(13) (carriage-return)
- \n und \l wie ein CHR(10) (line-feed). \r\n ergibt also ein CRLF, unter Windows die EDV-Version eines Zeilenumbruchs.
- \a wie ein CHR(7) (Bell)
- \b wie ein CHR(8) (Backspace)
- \t wie ein CHR(9) (Tab)
- \v wie ein CHR(11) (vtab)
- \f wie ein CHR(12) (formfeed)
- \" wie ein CHR(34) (Doppeltes Anführungszeichen ")
- \' wie ein CHR(39) (Einfaches Anführungszeichen ')
- Alle anderen Zeichen hinter dem Escape-Zeichen werden so interpretiert, wie sie im Ausdruck stehen. \\ wird also zu \.
Beispiel:
#IFDEF __FB_PCOS__
  #DEFINE NEWLINE !"\r\n"  ' Windows-Zeilenumbruch
#ELSEIF DEFINED(__FB_UNIX__)
  #DEFINE NEWLINE !"\n"    ' UNIX/Linux-Zeilenumbruch
#ELSE
  #ERROR "Fehler: Plattform nicht unterstützt"
#ENDIF
DIM AS STRING meldung
meldung = !"\45 Das ist die \"erste\" Zeile\r\nDas "
meldung &= !"ist die \"zweite\" Zeile \45"
PRINT meldung
PRINT NEWLINE & "^-- NEWLINE --v" & NEWLINE;
SLEEP
Ausgabe:
- Das ist die "erste" Zeile
Das ist die "zweite" Zeile -
^-- NEWLINE --v
 
Das Ausrufezeichen arbeitet als Präprozessor. Es kann nur vor in Anführungszeichen gesetzten Zeichenketten eingesetzt werden, nicht jedoch vor Variablen o. ä. Folgendes Beispiel wird daher einen Compilier-Fehler erzeugen:
DIM AS STRING text = "Text mit einem\r\nZeilenumbruch"
PRINT !text    ' nicht erlaubter Aufruf!Bis FreeBASIC v0.16 war es möglich, den Compiler dazu anzuweisen, generell in allen Strings die Escape-Sequenzen zu interpretieren. Dazu wurde die Anweisung  OPTION ESCAPE eingesetzt. Um anschließend Strings zu kennzeichnen, deren Inhalt nicht interpretiert werden sollte, wurde vor diese Strings ein Dollarzeichen $ gesetzt. Seit FreeBASIC v0.17 ist OPTION ESCAPE jedoch nur noch in der Dialektform
OPTION ESCAPE eingesetzt. Um anschließend Strings zu kennzeichnen, deren Inhalt nicht interpretiert werden sollte, wurde vor diese Strings ein Dollarzeichen $ gesetzt. Seit FreeBASIC v0.17 ist OPTION ESCAPE jedoch nur noch in der Dialektform  -lang deprecated erlaubt. Das Dollarzeichen kann zwar weiter verwendet werden, hat aber ohne OPTION ESCAPE keine praktische Auswirkung mehr.
-lang deprecated erlaubt. Das Dollarzeichen kann zwar weiter verwendet werden, hat aber ohne OPTION ESCAPE keine praktische Auswirkung mehr.
Unterschiede zu QB: neu in FreeBASIC
| Zusätzliche Informationen und Funktionen | ||||
|---|---|---|---|---|
| 
 | ||||

 Wer ist online?
 Wer ist online? Buchempfehlung
 Buchempfehlung
 FreeBASIC-Chat
 FreeBASIC-Chat
 FreeBASIC-Nachrichten jetzt auch über Twitter erhalten. Follow us!
			FreeBASIC-Nachrichten jetzt auch über Twitter erhalten. Follow us!
 Versionen
 Versionen