Allgemeine Regeln
PureBasic hat ein paar Syntax-Regeln eingeführt, welche sich niemals ändern werden. Dies sind:Kommentare
Kommentare werden gekennzeichnet mittels ;. Alle nach dem ; eingegebenen Texte werden vom Compiler ignoriert.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 typisch für PureBasic Funktionen sind.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
Allen Funktionen muss eine ( folgen, oder sie werden nicht als Funktion erkannt, das gilt auch für parameter-lose Funktionen.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
Alle Konstanten werden eingeleitet von einem #. Sie können nur einmal im Verlauf des Programms deklariert werden und behalten stets ihren vorgegebenen Wert. (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 Hilfe des " Zeichens deklariert. Escape-Sequenzen werden mittels des ~ Zeichens vor dem literalen String unterstützt. Die erlaubten 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.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. Wenn die Sprungmarke innerhalb einer Prozedur definiert wird, dann ist die Sprungmarke nur in dieser Prozedur verfügbar.Beispiel
Ich_bin_eine_Sprungmarke:Ausdrücke
Ein Ausdruck ist etwas, was berechnet werden kann. Ein Ausdruck kann beliebige Variablen, Konstanten oder Funktionen desselben Typs beinhalten. Wenn Sie Zahlen innerhalb eines Ausdrucks benutzen, können Sie das $ Zeichen vor der Zahl einfügen, um die Benutzung als Hexadezimal-Zahl anzuzeigen. Oder ein % Zeichen, um eine Binär-Zahl anzuzeigen. Ohne eines der beiden Zeichen wird die Zahl als Dezimal-Zahl behandelt. Strings müssen mit 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
Wenn eine Zeile einen großen Ausdruck enthält, kann diese in mehrere Zeilen aufgesplittet werden. Eine aufgesplittete Zeile muss mit einem der folgenden Operatoren enden: Plus (+), Komma (,), Or (|), 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 wird sowohl von "Befehlen" als auch "Funktionen" gesprochen - es handelt sich dabei um ein und das Gleiche, unabhängig von einem Rückgabewert. Ob vom Befehl bzw. der Funktion ein Wert zurückgegeben wird, ist der jeweiligen Befehlsbeschreibung zu entnehmen.