Logo PC/GEOS auf dem Mac R-Basic GEOS-PCs Dateien GeoStream

Felder und DATA-Zeilen

Felder (auch Arrays genannt) sind eine etwas spezielle Variablen-Art. Sie dienen genau wie "einfache" Variablen dazu, Zahlen oder Text zwischenzuspeichern und solange aufzuheben, bis der Inhalt der Variablen wieder vom Programm benötigt wird.

Mit dem Kommando DIM teilen Sie R-Basic mit, wie die Variablen heissen, die Sie in Ihrem Programm nutzen wollen. Sie dürfen mehrere Variablen hintereinander schreiben, wenn Sie sie durch ein Komma trennen. In der Klammer geben Sie die Anzahl der Variablen an, die unter dem jeweiligen Namen gespeichert werden sollen.

   DIM monate$(12), sinn_des_lebens(42), alter(100), stadt$(50), x(10), y(10)

Weitere Infos - die auch auf Feldvariablen zutreffen - finden Sie im Text über die "einfachen" Variablen.

Das besondere an Feldern ist die Möglichkeit, mehrere Variablen unter einem gemeinsamen Namen zu speichern. Wenn Sie z.B. mit den zwölf Monatsnamen arbeiten wollen, könnten Sie die Namen zwar in zwölf separaten Variablen speichern:

   DIM monat1$, monat2$, monat3$, ...
   monat1$ = "Januar" : monat2$ = "Februar" : monat3$ = "Mrz" : ...

Praktischer ist es jedoch, die Namen in zwölf Feldern einer Feldvariable unter einem gemeinsamen Namen zu speichern:

   DIM monate$(12)
   DATA "Januar","Februar","Mrz", ...

Feldvariablen erhalten ihre Daten z.B. aus DATA-Zeilen, die mit einer FOR-NEXT-Schleife eingelesen werden können. Auch die Weiterverarbeitung der Feldvariablen geschieht häufig in einer Schleife, was wesentlich komfortabler zu handhaben ist, als zwölf einzelne Variablen z.B. mit IF-Abfragen zu verarbeiten.

Intern beginnt das erste Feld einer Feldvariable immer mit dem Wert Null.

Ein kurzes Beispiel

Wenn Sie ein kleines Programm schreiben wollen, das die Namen aller zwölf Monate im Fenster ausgibt, können Sie dies mit wenigen Zeilen Programmcode erledigen.

Zuerst definieren Sie mit dem Kommando DIM eine Feldvariable, die zwölf Zeichenketten aufnehmen kann. Nennen Sie die Variable "monate". Da Sie wissen, dass in der Feldvariable Textzeichen gespeichert werden, hängen Sie ein Dollarzeichen an und da Sie wissen, dass ein Jahr zwölf Monate hat, tragen Sie in der Klammer hinter dem Namen eine zwölf ein:

   DIM monate$(12)

Für die beiden FOR-NEXT-Schleifen brauchen Sie noch eine einfache Zahlenvariable:

   DIM monate$(12), zaehler

Und schon geht's mit der ersten Schleife los. Sie wird zwölf mal durchlaufen und liest dabei mit dem Kommando READ jeweils den Namen eines Monats aus den DATA-Zeilen in eines der zwölf Felder der Feldvariable monate$(12) ein:

   FOR zaehler = 1 TO 12
    READ monate$(zaehler)
   NEXT

Die zweite Schleife ist fast identisch aufgebaut. Hier wird allerdings bei jedem Durchlauf einer der zwölf gespeicherten Namen mit dem PRINT-Kommando im Fenster ausgegeben:

   FOR zaehler = 1 TO 12
    PRINT monate$(zaehler)
   NEXT

Zum Schluss kommen noch die DATA-Zeilen mit den abgelegten Monatsnamen.

   DATA "Januar","Februar","Mrz","Mai","Juni"
   DATA "Juli","August","September","Oktober","November","Dezember"

DATA-Zeilen können im Klassik-Modus von R-Basic an beliebiger Stelle im Programm stehen. Es hat sich jedoch bereits vor langer Zeit bei vielen Basic-Dialekten eingebürgert, sie am Ende des Programms zu platzieren. Der Objekt-Modus von R-Basic bietet hingegen ein separates Fenster zum verwalten der DIM- und DATA-Zeilen.

Das Kommando READ findet die DATA-Zeilen automatisch und liest beginnend beim ersten Wert der ersten DATA-Zeile nacheinander so viele Komma-getrennte Werte ein, wie z.B. durch eine Schleife vorgegeben wird.

Und so sieht's aus

Weiterführende Infos zu Feldvariablen und DATA-Zeilen finden Sie z.B. auch in der R-Basic Hilfe.

© Bernd Mützel Aktualisiert 21.04.2015 Impressum Zum Seitenanfang