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