Bank=CREATEBANK ([Byte])


Beschreibungv1.44
Definiert ein neues Speicherfeld. Es funktioniert so ähnlich wie DIM, muss aber über spezielle PEEK/POKE-Befehle angesprochen werden. Es ist ein sehr speicherschonendes Verfahren. Diese Funktion liefert einen Integerwert, der für weitere Befehle notwendig ist. Mit FREEBANK kann dieses Speicherfeld wieder gelöscht werden.

Beachte, dass man bei CREATEBANK die Größe in Byte angibt. Short verbraucht aber 2 Byte, Integer verbraucht 4 Byte und Float verbraucht 4 Byte. Werden POKE-Befehle angewendet, so dürfen die Werte nicht an die falsche Stelle platziert werden, da andere Werte dadurch überschrieben werden können.

Ein Speicherfeld hat viele Vorteile. Es ist aber nur eindimensional. Für 2D-Kartenfelder kann es aber dennoch problemlos verwendet werden. Dazu muss man die Größe der Karte wissen (z.B. 200x200). Es ergibt sich dadurch autom. die benötigte Größe von 40000 Einträgen. Wird für einen Eintrag nur ein Byte benötigt, so braucht man 40000 Bytes. Mit dieser Formel kann man die Byteposition im Speicherfeld finden:

nr=x+y*200

und so umgekehrt:

x=nr mod 200
y=nr/200


Parameter
Byte = Speichergröße in Byte (Standard=0)


Rückgabewert
Identität der Speicherbank. Wenn eine Null zurückgeliefert wird, dann konnte dieses Speicherfeld nicht erstellt werden.


Beispiel
Dieses Beispiel demonstriert die BANK-Möglichkeiten:

bnkTest=CREATEBANK(500)

POKEBYTE bnkTest,1,255
POKEINT bnkTest,2,12345678
POKESHORT bnkTest,6,12345
POKEFLOAT bnkTest,8,12345.6789

PRINT PEEKBYTE (bnkTest,1)
PRINT PEEKINT (bnkTest,2)
PRINT PEEKSHORT (bnkTest,6)
PRINT PEEKFLOAT (bnkTest,8)

FREEBANK bnkTest


Siehe auch
BANKSIZE, COPYBANK, FREEBANK, PEEKBYTE, PEEKFLOAT, PEEKINT, PEEKSHORT, POKEBYTE, POKEFLOAT, POKEINT, POKESHORT, RESIZEBANK