|
Beschreibung |
Diese Anweisung definiert ein Feld. Ein Feld ist eine Ansammlung von vielen Variablen. Dabei kann man nicht nur Integer, sondern auch Float- und Stringfelder definieren. Es können auch mehrdimensionale Felder erzeugt werden. Hier einige Beispiele, um den Begriff "Dimension" besser zu verstehen:
- Eindimensionales Feld wie DIM Stundenplan$(8) kann man sich als eine Reihe von Werten vorstellen. So kann man z.B. einen Stundenplan mit Fächern für einen Tag erstellen.
- Zweidimensionales Feld wie DIM Stundenplan$(8,5) kann man sich wie eine Tabelle vorstellen. Man kann damit einen Stundenplan für die ganze Woche merken.
- Dreidimensionales Feld wie DIM Stundenplan$(8,5,12) kann als Tabelle mit mehreren Blätter vorgestellt werden. So kann man z.B. Stundenpläne für alle Klassen von 1 bis 12 speichern.
- Weiterhin können auch Felder mit mehr als drei Dimensionen erstellt werden. Dies wird allerdings selten gebraucht und sollte überlegt eingesetzt werden.

 | Ein neues Feld kann nur im Hauptprogramm definiert werden. Dabei wird so ein Feld automatisch global definiert - d.h. es kann auch in den Funktionen ausgelesen oder verändert werden. Ein Feld lässt sich mit nachfolgenden DIM-Befehlen in der Größe verändern - allerdings werden dabei alle Daten wieder gelöscht (so kann man auch Speicher wieder freigeben). Diese Methode funktioniert auch in Funktionen.
|
 | Beachte, dass dadurch jedes Mal Speicher reserviert wird. Die Felder sollen möglichst klein sein. Dies wird besonders von Anfängern nicht beachtet. So wird mit dem Befehl DIM Feld(99,99,99) ein Feld erstellt, das genau 1000000 Werte aufnehmen kann! Da ein Feld immer ab Null anfängt, und dadurch jeder Index in dem Beispiel eine "Tiefe" von 100 hat, ergibt sich nach der Rechnung: 100*100*100=1000000. Jeder Eintrag verbraucht aber wiederum Speicher. So braucht man 4 Byte, um einen Integerwert zu speichern. Dadurch ergibt sich in unserem Beispiel eine benötigte Speichergröße von min. 4000000 Byte - oder 3,81 MegaByte!!! Durch solche kleine "Fehler" kann man einen schwachen Rechner sogar verlangsamen, da die notwendigen Daten aus dem Speicher auf die langsame Festplatte verbannt werden können. |
|
|
Parameter |
Index = Größe, die die Anzahl der Einträge kennzeichnet. |
|
Rückgabewert |
- |
|
Beispiel |
Dieses Beispiel erstellt einen Regen. Die Koordinate für Punkte werden in Feldern abgespeichert:
GRAPHICS 640,480,0,1 SETBUFFER BACKBUFFER()
DIM X(100), Y(100), V(100) FOR i=0 TO 100 X(i)=RND(0,639) Y(i)=RND(0,479) V(i)=RND(1,10) NEXT
WHILE KEYHIT(1)=0 CLS FOR i=0 TO 100 Y(i)=Y(i)+V(i) IF Y(i)>479 THEN Y(i)=0: V(i)=RND(1,10) PLOT X(i),Y(i) NEXT FLIP WEND |
|
Siehe auch |
AFTER, BEFORE, DELETE, EACH, FIELD, FIRST, INSERT, LAST, NEW, TYPE |