Dies sind die neuen Befehle für den BlitzBasic-Code.
Vor dem Verwenden des Precomilers, sollte man sich vergewissern, dass keine eigene Funktion mit einem dieser Namen verwendet wird. Sonst gibt es vom Precompiler einiges an Müll.
Es herrscht im Moment eine Klammerpflicht, was die Funktionen betrifft. Sonst erkennt der Precompiler sie nicht. Aber eine Lösung für alle Funktionen, die nichts zurückgeben müssen, ist geplant.
Dagegen sind Klammern um den Databank- und den Variablennamen genau so verboten wie Leerzeichen innerhalb dieser Namen und andere Zeichen, die in BlitzBasic schon eine Bedeutung haben. Achtung: Es gibt noch keine Kontrolle gegen Verbotene Zeichen im Namen. Der Fehler kommt dann erst später.
Der Index von Arrays wird in eckigen Klammern nach dem Variablennamen angegeben. Die Dimensionen werden von Kommas getrennt.
Befehl(Parameter) |
Erläuterung |
Bank%=Create(<DataBank>) |
Diese Funktion erstellt eine Databank und gibt deren Handle zurück. Alle Variablen werden auf ihre Startwerte gesetzt. |
Free(<DataBank>,Bank%) |
Diese Funktion löscht die angegebene Databank. |
StartID%=Add(<DataBank>,Bank%,[Number%=1]) |
Diese Funktion fügt einen Eintrag der angegebene Bank hinzu und gibt dessen ID an. Das heißt, dass Ein Satz von den "Multiple"-Variablen mit ihren Standardwerten erstellt werden. Mit dem optionalen Parameter "Number" lässt sich die Anzahl der zu erstellenden Einträge ändern; dann wird die ID des ersten Eintrags zurückgegeben. |
Remove(<DataBank>,Bank%,ID%,[Number%=1]) |
Diese Funktion entfernt den angegebenen Eintrag von der angegebenen Bank, mit dem optionalen Parameter lässt sich die Anzahl der zu löschenden Einträge ab dem angegebenen Eintrag einstellen. |
Zahl%=CountEntries(<DataBank>,Bank%) |
Diese Funktion gibt die Anzahl der Einträge der Bank zurück. |
Offset%=Offset(<DataBank>,ID%) |
Diese Funktion gibt den Offset eines Eintrages mit der angegebenen ID von der angegebenen Databank zurück. Diesen braucht man für "Peek" und "Poke". |
ID%=GetID(<DataBank>,Offset%) |
Diese Funktion bestimmt aus dem Offsets eines Eintrages, welchen man z.B. mit "EachIn" erhält, seine ID. |
Swap(<DataBank>,Bank%,ID1%,ID2%) |
Diese Funktion tauscht die beiden angegebenen Einträge miteinander. |
Insert(<DataBank>,Bank%,Src_ID%,Dest_ID%) |
Diese Funktion Verschiebt einen Eintrag in der Bank. |
Set(<DataBank>,Bank%,<Variable>,Wert,[ID%]) |
"Set" ändert den Wert der angegebenen Variable. Wenn der optionale Parameter "ID" existiert, dann wird die "Multiple"-Variable zu dem Eintrag mit dieser ID gesetzt; ohne ihn wird die "Once"-Variable mit diesem Namen gesetzt. |
Wert=Get(<DataBank>,Bank%,<Variable>,[ID%]) |
"Get" gibt den Wert der angegebenen Variable zurück. Zum Parameter "ID": siehe Set |
Poke(<DataBank>,Bank%,<Variable>,Wert,[Offset%]) |
"Poke" ändert den Wert der angegebenen Variable. Der optionale Parameter "Offset" verhält sich wie der Parameter "ID" bei Set; der einzige Unterschied ist, dass hier der Eintragsoffset und nicht die EintragsID genutzt wird. |
Wert=Peek(<DataBank>,Bank%,<Variable>,[Offset%]) |
"Peek" ist wie "Get", unterscheidet sich aber von diesem wie "Poke" in dem letzten Parameter. |
For Offsetvariable=EachIn(<DataBank>,Bank%) |
Mit "EachIn" kann man alle Einträge einer Databank durchgehen. Er setzt dabei die Offsetvariable pro Durchlauf auf den Wert des nächsten Eintrags. |
Fehlerzeile=Load(<DataBank>,Bank%,Stream%,EscapeSections$,[Strict%=0]) |
Mit diesem Befehl liest man Daten aus der angegebenen Ini. Das Auslesen wird beendet, sobald das Ende der Datei erreicht, eine der mit ";" getrennten Escape-Sektionen gelesen oder ein Fehler bei aktiviertem "Strict" gefunden wurde. Bei letzterem wird die Zeilennummer des Fehlers angegeben. Schon in der Databank vorhandene Einträge werden nicht überschrieben; die eingelesenen Einträge werden hinter den schon vorhandenen hinzugefügt. |
Save(<DataBank>,Bank%,Stream%,[Intending=0]) |
Dieser Befehl schreibt die Daten einer Datebank in eine Ini. Die Einrückung lässt sich mit dem Parameter "Intending" ändern. |
Copy(<DataBank>,Src_Bank%,[Src_ID%],Dest_Bank%,[Dest_ID%]) |
Hiermit kann man einen Teil des Inhalts einer Databank in einen anderen Teil oder in eine andere Databank kopieren. Werden beide ID-Parameter weggelassen, wird der einmalige Teil kopiert. Sonst geben die beiden Parameter den Quelleneintrag und den Zieleintrag an. |
Fehlerbytes=LoadBin(<DataBank>,Bank%,Stream%) |
Mit diesem Befehl liest man als Bytecode gespeicherte Daten in eine Databank ein. Wenn die angegebene Databank-Größe nicht ins "Größenraster" der möglichen Databank-Größen passt, dann wird der nicht vollständig angegebene Eintrag weggelassen, aber dessen Bytes werden gelesen. Die Anzahl an nicht beachteten Bytes wird von dieser Funktion zurückgegeben. Wenn sie nicht 0 ist, kann man bei den meisten Anwendungsfällen davon ausgehen, dass die gelesene Datei nicht richtig gespeichert wurde. Schon in der Databank vorhandene Einträge werden nicht überschrieben; die eingelesenen Einträge werden hinter den schon vorhandenen hinzugefügt. |
SaveBin(<DataBank>,Bank%,Stream%) |
Dieser Befehl schreibt die Daten einer Databank als Bytecode. |