Allgemeine Syntax-Regeln
PureBasic hat ein paar Syntax-Regeln eingeführt, welche sich niemals ändern werden. Dies sind:Kommentare
Beispiel
If a = 10 ; Dies ist ein Kommentar zur näheren Erläuterung.Schlüsselwörter
Alle Schlüsselwörter (englisch: "Keywords") werden für grundlegende Dinge innerhalb von PureBasic verwendet, wie das Erstellen von Arrays (Dim) oder Listen (NewList), oder die Kontrolle des Programmablaufs (If : Else : EndIf). Sie werden nicht von Klammern '()' gefolgt, welche typischerweise für PureBasic Funktionen genutzt werden.Beispiel
If a = 1 ; If, Else und EndIf sind Schlüsselwörter; während 'a = 1' eine ... ; Variable ist, die innerhalb eines Ausdrucks verwendet wird. Else ... EndIfSchlüsselwörter werden regelmäßig in den Kapiteln auf der linken Seite der Index-Seite im Referenz-Handbuch beschrieben.
Funktionen
Jeder Funktion muss ein öffnendes rundes Klammerzeichen '(' folgen, oder sie wird nicht als Funktion erkannt (das gilt auch für Funktionen ohne Parameter).Beispiel
EventWindow() ; ist eine Funktion. EventWindow ; ist eine Variable.Funktionen sind regelmäßig Bestandteil der PureBasic "Befehls-Bibliotheken", welche auf der rechten Seite der Index-Seite im Referenz-Handbuch beschrieben werden.
Konstanten
Allen Konstanten geht das Hash-Zeichen # voraus. Sie können nur einmal im Code deklariert werden und behalten immer ihre vordefinierten Werte. (Der Compiler ersetzt beim Kompilieren des Executable alle Konstanten-Namen durch ihre entsprechenden Werte.)Beispiel
#Hello = 10 ist eine Konstante. Hello = 10 ist eine Variable.Literale Strings (Zeichenketten)
Literale Strings werden mit dem Zeichen " deklariert. Escape-Sequenzen werden unterstützt, indem der Literalzeichenfolge das Zeichen ~ vorangestellt wird. Die unterstützten Escape-Sequenzen sind:\a: alarm Chr(7) (Alarm) \b: backspace Chr(8) (Rücktaste) \f: formfeed Chr(12) (Seitenvorschub) \n: newline Chr(10) (Zeilenumbruch) \r: carriage return Chr(13) (Wagenrücklauf) \t: horizontal tab Chr(9) (Horizontaler Tab) \v: vertical tab Chr(11) (Vertikaler Tab) \": double quote Chr(34) (Doppelte Anführungszeichen) \\: backslash Chr(92) (Rückstrich)Es gibt zwei spezielle Konstanten für Strings:#Empty$: repräsentiert einen leeren String (exakt das gleiche wie "") #Null$ : repräsentiert einen Null-String. Dieser kann für API-Funktionen verwendet werden, welche einen Null-Zeiger auf einen String benötigen, oder um einen String wirklich freizugeben.Achtung: Auf Windows funktioniert \t nicht mit den grafischen Funktionen der 2DDrawing- und VectorDrawing-Bibliotheken.Beispiel
a$ = "Hello world" ; Standard-String b$ = ~"Escape\nMe !" ; String mit Escape-SequenzenSprungmarken
Allen Sprungmarken (Labels) muss ein Doppelpunkt : folgen. Die Namen von Sprungmarken dürfen keine Operatoren (+,-,...) oder Sonderzeichen (ß,ä,ö,ü,...) enthalten. Innerhalb einer procedure definierte Sprungmarken sind nur in dieser Prozedur verfügbar.Beispiel
Ich_bin_eine_Sprungmarke:Module
Module verwenden einen :: (doppelten Doppelpunkt), wenn auf einen Modulnamen verwiesen wird. Achten Sie darauf, diese nicht mit dem einfachen Doppelpunkt zu verwechseln, der von Sprungmarken verwendet wird.Beispiel
Debug CarModule::NbCarsAusdrücke
Ein Ausdruck ist etwas, das ausgewertet werden kann. Ein Ausdruck kann beliebige Variablen, Konstanten oder Funktionen desselben Typs mischen. Wenn Sie Zahlen in einem Ausdruck verwenden, können Sie ihnen das $ Symbol voranstellen, um eine Hexadezimalzahl anzugeben, oder mit dem % Symbol, um eine Binärzahl anzugeben. Ohne eines der beiden Zeichen wird die Zahl als Dezimalzahl behandelt. Strings müssen in gerade doppelte Anführungszeichen eingeschlossen werden.Beispiel: gültige Ausdrücke:
a = a + 1 + (12 * 3) a = a + WindowHeight(#Window) + b/2 + #MyConstant If a <> 12 + 2 b + 2 >= c + 3 EndIf a$ = b$ + "dies ist ein String Wert" + c$ Foo = Foo + $69 / %1001 ; Nutzung hexadezimaler und binärer ZahlenVerketten von Befehlen
Eine beliebige Anzahl an Befehlen kann auf derselben Zeile mittels der : Option aneinandergereiht werden.Beispiel
If IsCrazy = 0 : MessageRequester("Info", "Not Crazy") : Else : MessageRequester("Info", "Crazy") : EndIfZeilenfortsetzung
Lange Ausdrücke können auf mehrere Zeilen aufgeteilt werden. Eine aufgesplittete Zeile muss mit einem der folgenden Operatoren enden: Plus (+), Komma (,), oder (|), And, Or, Xor.Beispiel
Text$ = "Very very very very long text" + #LF$ + "another long text" + #LF$ + " and the end of the long text" MessageRequester("Hello this is a very long title", "And a very long message, so we can use the multiline" + #LF$ + Text$, #PB_MessageRequester_Ok)Typische Begriffe in der Anleitung
Begriffe, die in dieser Anleitung benutzt werden:<variable> : eine Basic Variable.
<expression> : ein Ausdruck, wie oben beschrieben.
<constant> : eine numerische Konstante.
<label> : ein Programmlabel (Sprungmarke).
<type> : jeder Typ, (Standard oder in einer Struktur).
Sonstiges
- In dieser Anleitung sind alle Themen in alphabetischer Reihenfolge aufgeführt, um mögliche Suchzeiten zu verkürzen.
- Rückgabewerte von Befehlen sind immer vom Typ Integer, wenn kein anderer Typ auf der Syntax-Zeile der jeweiligen Befehlsbeschreibung angegeben ist.
- In der PureBasic-Dokumentation werden die Begriffe "Befehle" und "Funktionen" synonym verwendet, unabhängig davon, ob die Funktion einen Wert zurückgibt oder nicht. Um zu erfahren, welcher Wert von einem bestimmten Befehl oder einer bestimmten Funktion zurückgegeben wird, schauen Sie in die Beschreibung in der Befehls-Dokumentation.