Buchempfehlung
Windows System Programming
Windows System Programming
Das Kompendium liefert viele interessante Informationen zur Windows-Programmierung auf Englisch. [Mehr Infos...]
FreeBASIC-Chat
Es sind Benutzer im FreeBASIC-Chat online.
(Stand:  )
FreeBASIC bei Twitter
Twitter FreeBASIC-Nachrichten jetzt auch über Twitter erhalten. Follow us!


Referenz - ESCAPE

Referenz-Navigation

 

Syntax: OPTION ESCAPE
Typ: Schlüsselwort
Kategorie: Verschiedenes

OPTION ESCAPE aktiviert die Verwendung von Escape-Characters in Strings. Diese Option kann nur bis FreeBASIC v0.16 eingesetzt werden, oder in entsprechend höheren Versionen, die mit der Kommandozeilenoption Befehlsreferenzeintrag-lang deprecated kompiliert wurden! Für den Einsatz von ESCAPE-Sequenzen in Versionen ab v0.17 mit der Option -lang fb siehe unter 'Ab FreeBASIC v0.17'.

Durch diese Option werden in FreeBASIC Backslashes ( "\", CHR(92) ) als Escape-Characters verwendet. Der Ausdruck hinter dem Escape-Character wird nicht 1:1 ausgegeben, sondern zuerst interpretiert. Folgt dem Character eine Zahl, so funktioniert der Character 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).

Außerdem behandelt FreeBASIC diese Strings folgendermaßen:

Seit FreeBASIC v0.16s ist es möglich, einem String ein Dollarzeichen $ voranzustellen. In diesem Fall wird für diesen String die Interpretation der Escape-Zeichen deaktiviert. Dies ist natürlich nicht nötig, wenn OPTION ESCAPE nicht verwendet wird.

Beispiel:

OPTION ESCAPE

#DEFINE CRLF "\r\n"

DIM AS STRING message

message = "\45 this is the \"first\" line\r\nthis "
message += "is the \"second\" line \45"
PRINT message

PRINT CRLF + "^-- CRLF --V" + CRLF;

PRINT "The Path is \34" $"C:\FREEBASIC\33a" "\34"
SLEEP

Ausgabe:

- this is the "first" line
this is the "second" line -

^-- CRLF --V
The Path is "C:\FREEBASIC\33a

Ab FreeBASIC v0.17

Da mit FreeBASIC v0.17 die Verwendung von OPTION-Standards nicht mehr zulässig ist, müssen Strings, die Escape-Sequenzen enthalten, jetzt explizit markiert werden. Dies geschieht dadurch, dass ihnen ein Ausrufezeichen vorangestellt wird:

!"String, der Escape-Sequenzen enthält"

Das oben gezeigte Beispiel muss also für FreeBASIC ab v0.17 folgendermaßen lauten, wenn die Kommandozeilenoption -lang fb lautet:

#DEFINE CRLF !"\r\n"

DIM AS STRING message

message = !"\45 this is the \"first\" line\r\nthis "
message += !"is the \"second\" line \45"
PRINT message

PRINT CRLF + !"^-- CRLF --V" + CRLF;

PRINT !"The Path is \34" "C:\FREEBASIC\33a" !"\34"
SLEEP

Die Markierung von Strings, die nicht geparsed werden sollen, mit einem Dollarzeichen $ ist also nicht mehr nötig; aus Kompatibilitätsgründen ist sie aber immer noch erlaubt. Die letzte Zeile dieses Beispiels dürfte also ebenso lauten:

PRINT !"The Path is \34" $"C:\FREEBASIC\33a" !"\34"

Unterschiede zu QB: neu in FreeBASIC

Unterschiede zu früheren Versionen von FreeBASIC:

Siehe auch:
BefehlsreferenzeintragOPTION, BefehlsreferenzeintragAusrufezeichen, BefehlsreferenzeintragDollarzeichen, Befehlsreferenzeintrag__FB_OPTION_ESCAPE__


Zusätzliche Informationen und Funktionen
  • Der Referenzeintrag wurde am 24.07.2007 von Redakteurnemored angelegt.
  • Die aktuellste Version wurde am 06.08.2011 von Redakteurnemored gespeichert.
  Versionen Versionen