kleiner Spickzettel PureBasic 5.61 "Feel the ..Pure.. Power"
 AurufProcedureName(Parameter,...)  Debug Left("Hallo sichtbares Universum.",5) ; Rufe Left auf und gebe "Hallo" aus. 
 Debug Ausdruck.d=(0.19+0.25)*6 : Debug Ausdruck ; Gibt Ausdruck im Debugfenster aus.
 Declare.Typ Name(Parameter...) Declare.d GesamtPreis(Flaschen.i) ; Erklärt eine Procedure. Verwendung ist ab der nächsten Zeile möglich.
 Define.Typ Name Define Zeichenkette.s ; Erklärt Zeichenkette als String. Zeichenkette kann Texte aufnehmen. Zeichenkette="Test Text"
 EnabelExplict EnableExplicit ; Schutz vor Schreibfehlern ein. Variablen müssen ab hier erklärt werden zum Beispiel mit Define oder Protected.
 End ExitCode End 4711 ; Programm wird beendet. Das aufrufende Programm bekommt 4711 zurück. 
 For Ganzzahl=Ausdruck to Ausdruck Step Schrittweite : Befehle : Next For i=1 To 10 Step 3 : Debug i : Next ; Zählschleife gibt 1 4 7 10 aus.
 Foreach Liste_oder_Map() : Befehle : Next NewList L():AddElement(L()):L()=17:AddElement(L()):L()=4:ForEach L():Debug L():Next ;17 und 4
 If Bedingung : Befehle : Endif Zahl=Val(InputRequester("","Zahl","")):If Zahl>=10:Debug "mehrstellig":EndIf;Wenn Bedingung erfüllt Befehl ausfürhen.
 If Bedingung : Befehle : Else : Befehle : Endif Zahl=Val(InputRequester("","Zahl","")):If Zahl>=10:Debug "mehrstellig":Else:Debug "einstellig":EndIf
 If Bedingung : Befehle : Elseif NächsteBedingung : Befehle : .... : Endif Zahl=Val(InputRequester("","Zahl","")):
  If Zahl<10 : Debug "einstellig" : ElseIf Zahl<100 : Debug "zweitellig" : EndIf
 IncludeFile "DateiName" IncludeFile #PB_Compiler_Home + "examples/3d/Screen3DRequester.pb" ;Fügt PB-Datei Screen3DRequester.pb ein.
 Not If Not 3=4 : Debug "3 ist nicht gleich 4. " : EndIf ; Not macht eine richtige Bedingung falsch und eine Falsche richtig.
 Procedure.Typ Name(Parameter,...) : Befehle : ProcedureReturn Ausdruck : EndProcedure  Procedure.d GesamtPreis(Flaschen.i) :
   ProcedureReturn (0.19+0.25)*Flaschen : EndProcedure ; Definiert was eine Procedure zu tun hat.
   Debug GesamtPreis(6) ;Ruft die Procedure auf. 
 Protected.Typ Name Protected Zeichenkette.s ; Erklärt Zeichenkette in einer Procedure.  
 Read.Typ : Datasection : Data.Typ Daten : EndDatasection Read.s T.s : Debug T : DataSection : Data.s "Hallo" : EndDataSection ;Liest Hallo in T.
 Repeat : Befehle : Until Bedingung a=1 : Repeat : a+a : Debug a : Until a>1000 ; Führe Befehle aus bis Bedingung erfüllt ist.
 Select Ausdruck : Case Ausdruck : Befehle : ... : EndSelect Wert=Val(InputRequester("","Zahl","")): Select Wert : Case 2 : Debug "Zwei" 
  Case 3 : Debug "Drei" : Case 1,4 To 9 : Debug "N": Default : Debug Wert : EndSelect 
 Structure NameTyp: VariablenName.Typ : ... : EndStructure Structure NameTyp : Name.s : Alter.w : EndStructure
  Define Person.NameTyp ; Erklärung Veränderliche.StrukturName
  Person\Name="Walter" : Person\Alter=33 : Debug Person\Alter ;Zugriff Veränderliche\FeldName
 While Bedingung : Befehle : Wend a=1000 : While a>5 : a=a/3 : Debug a :Wend ; Solange Bedingung erfüllt ist führe Befehle aus. 
 
 wichtige vordefinierte Konstanten:  #False ; falsch  - Hat den Wert 0.  #PB_Any Dynamische Nummerierung 
 #PB_UTF8 ; Ist ein Zeichenformat mit zur Zeit 136690 Zeichen. #True ; wahr - Hat den Wert 1. #PB_Window_BorderLess ;Fenster ohne Rahmen
 
 Tasten:  F1 Hilfe F2 Markierung F3 Weitersuchen F4 Faltung F5 Run F6 Stop F7 Fortsetzen F8 Schritt F9 Haltepunkt F10 Schritt darüber
 F11 Schritt hinaus F12 Update Variablen und Proceduren Anzeige Tab Autovervollständigen einfügen Esc schließe Autovervollsändigen Alt+F4 Ende
 Strg+a alles markieren Strg+b Blockkommentar Strg+c kopiere Strg+e Kommentar nach links verschieben Strg+g gehe zu Strg+i formatieren
 Strg+k Schlüsselwort Strg+l letzte Zeile Strg+m Blockcode Strg+n Neu  Strg+o öffne Strg+s Speichern Strg+v einfügen Strg+w Schließen
 Strg+y Wiederholen Strg+x Ausschneiden Strg+z Rückgängig Strg+Tab nächste Datei
 
 42 wichtige Funktionen:
 Laenge=4711 : *Speicher=AllocateMemory(Laenge) : ShowMemoryViewer(*Speicher,Laenge) ; Reserviert 4711 Byte Speicher und zeigt den Speicher an. 
 ExamineDesktops() : FarbTiefe = DesktopDepth(0)  : Debug FarbTiefe ; Gibt die Farbtiefe an. 
 ExamineDesktops() : Wiederholrate = DesktopFrequency(0) : Debug Wiederholrate ; Gibt die Wiederholrate an, maschmal und bei Linux 0.
 ExamineDesktops() : y = DesktopHeight(0) : Debug y ; Gibt die Höhe des Bildschirms in Pixel an. 
 ExamineDesktops() : x = DesktopWidth(0) : Debug x ; Gibt die Breite des Bildschirms in Pixel an. 
 ExamineDesktops() : Position_X = DesktopX(0) : Debug Position_X ; 
 ExamineDesktops() : Position_Y = DesktopY(0): : Debug Position_Y ; 
 Bm=ExamineDesktops()-1 : InitSprite() ; Gebe Hallo sichtbares Universum. auf einem Ganzseitenfenster aus. 
  Fenster=OpenWindow(#PB_Any, DesktopX(Bm), DesktopY(Bm), DesktopWidth(Bm), DesktopHeight(Bm),"DT",#PB_Window_BorderLess) 
  OpenWindowedScreen(WindowID(Fenster), DesktopX(Bm), DesktopY(Bm), DesktopWidth(Bm), DesktopHeight(Bm))
  StartDrawing(WindowOutput(Fenster)) 
    DrawText(DesktopWidth(Bm)/3,DesktopHeight(Bm)/20,"Hallo sichtbares Universum.",RGB($ff,0,0))  
  StopDrawing()
  MessageRequester("Titel","Text") 
  Start=3 : Debug FindString("Hallo sichtbares Universum.","sichtbares",Start) ; Finde Text.
 *Speicher=UTF8(Chr($263A)+" Hallo sichtbares Universum.") ; Speicher Text im UTF8-Format. 
    Debug MemorySize(*Speicher) ; Zeigt die Länge des Speichers. 
    ShowMemoryViewer(*Speicher,MemorySize(*Speicher)) ;Zeigt den Speicherinhalt.
    String$=PeekS(*Speicher,-1,#PB_UTF8) : Debug String$ ; Zeigt den Speicherinhalt als String an. 
    FreeMemory(*Speicher) ; Gibt den Speicher frei. 
 Eingabe$ = InputRequester("Titel", "Nachricht:", "Vorgabe") : Debug Eingabe$ ; Eingabe eines Strings. 
 Ganzzahl=Int(47.11) : Debug Ganzzahl ; Schneidet Nachkommastellen ab.
 InitKeyboard() : InitSprite() : ExamineDesktops() : OpenScreen(DesktopWidth(0),DesktopHeight(0),DesktopDepth(0),"Zähle") : i=1
   Repeat : ClearScreen(0): StartDrawing(ScreenOutput()) : DrawText(DesktopWidth(0)/2,DesktopHeight(0)/2,Str(i),RGB(100+i%100,0,0)) : StopDrawing()
   FlipBuffers() : i=i+1 : ExamineKeyboard() : Until KeyboardPushed(#PB_Key_All) ; Zähle in der Bildschirmmitte.
 Ganzzahl = Val(Mid("Zahl:4711",6)) : Debug Ganzzahl ; Verwandelt Text ab Position 6 in Zahl.
 *Speicher=UTF8("Hallo sichtbares Universum.") ; Datei schreiben und lesen. 
   Datei = OpenFile(#PB_Any, "Datei.dat") ; Öffne Datei. 
   WriteData(Datei,*Speicher,MemorySize(*Speicher)) ; Schreibe den Inhalt vom Speicher.
   FileSeek(Datei,17) ; Gehe zur Position 17 der Datei. 
   ReadData(Datei,*Speicher,11) ; Lese 11 Bytes von der Datei in Speicher. 
   ShowMemoryViewer(*Speicher,MemorySize(*Speicher)) ; Zeige Inhalt von Speicher. 
   CloseFile(Datei) ; Schließe Datei. 
 If 0=OpenWindowedScreen(WindowID(0), 0, 0, DesktopWidth(Bildschirm), DesktopHeight(Bildschirm)) : End : Endif
 InitNetwork() : *Speicher=ReceiveHTTPMemory("http://www.purebasic.com")
   ShowMemoryViewer(*Speicher,MemorySize(*Speicher)) ; Zeigt Webseite in Hex-Ansicht.
 Debug ReplaceString("Hallo sichtbares Universum.","sichtbares","unsichtbares") ; Ersetze Teilstring. 
 String$= "Kölner Hausnummer:"+Str(4711) : Debug String$ ; Wandelt Zahl in String um.
 String$ = StrD(47.11) : Debug "Zahl:"+String$ ; Wandelt Kommazahl in String. 
 Kommazahl.d=ValD("47.11") : Debug Kommazahl ; Mache aus einem String eine Kommazahl.

 Zeichen:
 "String" StringAnfang, String und StringEnde
 #Konstante=4711
 $FF $Hexzahl
 4%3 Rest von 4 geteilt durch 3 ergibt 1
 (3+4)*2 Ausdruck in der Klammer wird zuerst berechnet. 3 plus 4 macht 7 - 7 mal 2 macht 14
 Feld(Index) Feldzugriff
 () Liste Mappe Array
 4*3 Zahl mal Zahl 4 mal 3 ergibt 12
 *Speicher
 4+3 Zahl plus Zahl 4 plus 3 ergibt 7
 "Hallo "+"sichtbares "+"Universum!" Verbinde Strings
 , Trennzeichen
 4-3 Zahl Minus Zahl 4 minus 3 ergibt 1
 . .Typ .a .b .c .d .f .i .q .s .u .w
 4/3 Ganzzahl geteilt durch Ganzzahl 4 geteilet durch 3 ergibt 1
 4.0/3.0 KommaZahl geteilt durch KommaZahl 4.0 geteilt druch 3.0 ergibt 1.3333333333333333
 Label: Sprungmarke für DataSection, Goto, Gosub und OnErrorGoto
 Befehl1 : Befehl2 Verketten von Befehlen in einer Zeile
 ; Kommentar damit der Leser des Programms, das Programm versteht oder wieder versteht.
 3<4 Zahl kleiner Zahl 3 ist kleiner als 4 ist wahr
 3<=4 Zahl kleiner gleich Zahl 3 ist kleiner gleich 4 ist wahr.
 3<>4 Zahl ungleich Zahl 3 ist ungleich 4 ist wahr.
 Wert=42 Variable wird zu Ausdruck Speichere 42 in Wert
 String$="Hallo" Variable wird zu Ausdruck - Speichere "Hallo" in String$
 3=4 Zahl gleich Zahl  3 ist gleich 4 ist falsch
 3>4 Zahl größer Zahl  3 ist größer 4 ist falsch.
 3>=4 Zahl größer gleich Zahl  3 ist größer gleich 4 ist falsch
 ?Label Adresse von Sprungmarke
 @Variable Speicheradresse von Variable
 _ Zeichen wie Buchstabe

Bibliotheken 2D Malen AudioCD Bilder Bildschirm CGI Cipher Datei Dateisystem Datenbank Datum Debugger Desktop Dialog Drag & Drop Drucker E-Mail Felder Film Ftp Gadget Hilfe Http ImagePlugin Joystick JSON Konsole Library Listen Map Mathematik Menü Maus Musik Netzwerk OnError Packer Preference Prozesse Regular Expression Requester Runtime Scintilla Schrift Serial Port Sortieren Sound SoundPlugin Speicher Sprite StatusBar String System SysTray Tastatur Thread Toolbar VectorDrawing Window XML Zwischenablage Engine3D Billboard Camera Entity Entity Animation Gadget 3D Joint Light Material Mesh Node Node Animation Particle Sound 3D Special Effect Spline Static Geometry Terrain Text3D Texture Vehicle Vertex Animation Window 3D