Inhalt

Beispiel

Ini

[Settings]
   Prog="1" ;Wir wollen ja einen Fortschrittsbalken sehen
   AddFile="Beispiel.bb" ;und eine Code-Datei soll auch durchgearbeitet werden.
[/Settings]

[DataBank];Wie erstellen eine neue Databank-Art
   Name="Bank1";Die hat natürlich auch einen Namen
   Ini="1";Wir aktivieren die Ini-Funktionen
   Bin="1";und die Bytecode-Funktionen
   [Once];Die nächsten Variablen gibt es ein einziges mal pro Bank.
      [NewInt];Diese Variable wird ein Integer,
         Name="Int";hat auch einen Namen
         Value="%101010";und einen ganz bekannten Standardwert.
   [Multiple];Nun bestimmen wir die Daten der Datensätze/Einträge.
      [NewInt];no comment...
         Name="Int"
         Value="Millisecs()";Huch! Was soll ein Integer mit einem String?
         Reference="1";Hier ist die Lösung: alle mit dem selben Aufruf erstellten Funktionen bekommen den selben Startwert; dies ist hier die Zeit des Aufrufs.
         Ini="0";Diese Variable wollen wir weder in der Ini noch im Bytecode speichern.
         Bin="0"
      [NewInt]
         Name="Int2"
         Value="Create(Bank2)";DBPC-Befehle darf man auch nutzen.
         Reference="2";und jeder Eintrag bekommt seinen eigenen Wert.
      [NewString];Andere Datentypen haben auch etwas.
         Name="BlaBla"
         Value="GlobalString$+"&":GlobalString$=GlobalString$+Rand(0,9):Delay 100";Reference="2" lässt sich gut ausnutzen...
         Reference="2"
[/DataBank]
[DataBank];Und auf ein Neues...
   Name="Bank2"
   [Once]
      [NewByte]
         Name="Müll"
[/DataBank]

BB-Code

Global GlobalString$="1"
Local Bank=Create(Bank1);Eine Databank erstellen
Add(Bank1,Bank);Einen Eintrag hinzufügen
Add(Bank1,Bank,2);Zwei Einträge hinzufügen
Print Get(Bank1,Bank,Int);Einen wert auslesen
Set(Bank1,Bank,Int,41);Einen Wert ändern
Print Get(Bank1,Bank,Int)
Print Get(Bank1,Bank,Int,0)
Local Offset
Print
For Offset=EachIn(Bank1,Bank);Alle Einträge durchgehen
         Local ID=GetID(Bank1,Offset);ID zum Offset bestimmen
         Print "Eintrag "+ID
         Print "Offset "+Offset(Bank1,ID);Offset zur ID bestimmen
         Print Peek(Bank1,Bank,Int,Offset);Einen Eintrag auslesen
         Poke(Bank1,Bank,Int,MilliSecs(),Offset);Einen Eintrag setzten
         Print Peek(Bank1,Bank,Int,Offset)
         Print Peek(Bank1,Bank,Int2,Offset)
         Print Peek(Bank1,Bank,BlaBla,Offset)
         Print
Next
WaitKey
Swap(Bank1,Bank,0,1);Zwei Einträge tauschen.
Print
For Offset=EachIn(Bank1,Bank)
         Print Peek(Bank1,Bank,BlaBla,Offset)
Next
WaitKey
Insert(Bank1,Bank,2,1);Einen Eintrag verschieben
Print
For Offset=EachIn(Bank1,Bank)
         Print Peek(Bank1,Bank,BlaBla,Offset)
Next
WaitKey
Print
Copy(Bank1,Bank,0,Bank,1);Daten eines Eintrags in einen anderen hineinkopieren.
For Offset=EachIn(Bank1,Bank)
         Print Peek(Bank1,Bank,BlaBla,Offset)
Next
WaitKey
Local File=WriteFile("Test.ini")
WriteLine File,"[Bank1]";Die erste Zeile der Ini-Einträge wird nicht von den Funktionen geschrieben/gelesen.
Save(Bank1,Bank,File,0);Bank speichern
WriteLine File,"[/Bank1]"
CloseFile File
Free(Bank1,Bank);Bank löschen

Bank=Create(Bank1)
File=ReadFile("Test.ini")
ReadLine File
Load(Bank1,Bank,File,"/Bank1",1);Bank laden, vorhandene Einträge werden nicht gelöscht.
CloseFile File

Print
For
Offset=EachIn(Bank1,Bank)
         Print Peek(Bank1,Bank,BlaBla,Offset)
Next
WaitKey
File=WriteFile("Test.dat")
SaveBin(Bank1,Bank,File);Bank speichern
CloseFile File
Free(Bank1,Bank);Bank löschen

Bank=Create(Bank1)
File=ReadFile("Test.dat")
LoadBin(Bank1,Bank,File);Bank laden, vorhandene Einträge werden nicht gelöscht.
CloseFile File

Print
For
Offset=EachIn(Bank1,Bank)
         Print Peek(Bank1,Bank,BlaBla,Offset)
Next
WaitKey

Print

Remove(Bank1,Bank,0,2);Zwei Einträge entfernen
Print CountEntries(Bank1,Bank)+" Einträge";Einträge zählen
For Offset=EachIn(Bank1,Bank)
         Print Peek(Bank1,Bank,BlaBla,Offset)
Next
WaitKey
Free(Bank1,Bank);Bank löschen
End

Precompiler

Sowohl Ini als auch Code sind fertig?
Dann schnell die Ini auf die DBPC-Exe ziehen!
Einen Augenblick später dann die neu erstellten Dateien compilieren und das "Wunder" ist vollbracht.
Inhalt

Valid HTML 4.01 Transitional