Buchempfehlung
Mikrocomputertechnik mit Controllern der Atmel AVR-RISC-Familie
Mikrocomputertechnik mit Controllern der Atmel AVR-RISC-Familie
Umfassend, aber leicht verständlich führt dieses Buch in die Programmierung von ATMEL AVR Mikrocontrollern ein. [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: Programmoptionen

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 compiliert 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 ( "\", BefehlsreferenzeintragCHR(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 werden folgende Strings besonders behandelt::

Es ist 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:

#lang "deprecated"
OPTION ESCAPE

#DEFINE CRLF "\r\n"

DIM AS STRING message

message = "\45 Das ist die \"erste\" Zeile.\r\nDas "
message &= "ist die \"zweite\" Zeile. \45"
PRINT message

PRINT CRLF & "^-- CRLF --V" & CRLF;

PRINT "Der Pfad lautet \34" $"C:\FREEBASIC\33a" "\34"
SLEEP

Ausgabe:

- Das ist die "erste" Zeile.
Das ist die "zweite" Zeile. -

^-- CRLF --V
Der Pfad lautet "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 folgendermaßen lauten, wenn in der Dialektform -lang fb (Standard) compiliert wird:

#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__, BefehlsreferenzeintragVerschiedenes


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