Variablen und Felder in BasiCode



Über das Internet haben sich schon einige BasiCode-Anwender von damals gemeldet - sogar aus der Schweiz!

Einer von ihnen, Karsten Schenk, der vom AMIGA kommt (auf dem es nach seiner Auskunft nie BasiCode gab), und der den DOS-Bascoder erweiterte, regte an, einmal auf die Verwendung der Variablen durch BasiCode einzugehen. Das soll hier in Form eines Auszugs aus einer in Arbeit befindlichen Neuauflage des Manuals geschehen.

Kursiv dargestellte Passagen kennzeichnen Sachverhalte, die auf dem Amstrad PCW (Schneider JOYCE) wegen fehlender Farbtauglichkeit leider nicht zur Verfügung stehen, sonst wurden die Neuerungen der Version 3C nach Möglichkeit umgesetzt.



Allen im Programm verwendeten Variablen ist vor ihrem ersten Aufruf ein Wert zuzuweisen - nicht alle beteiligten Computer sind in der Lage, Variablen implizit zu initialisieren. Die Variablen HO, VE, HG, VG und SV werden durch den Sprung nach Zeile 20 initialisiert.

Numerische Variablen sind vom Typ "real" und haben einfache Genauigkeit (6 gültige Ziffern), Integer-Variablen (z.B. als Schleifenzähler) sind nicht nutzbar. Eine Stringvariable wird durch den Zusatz "$" nach dem Namen gekennzeichnet; sie kann 255 Zeichen lang sein.

Logische Werte werden je nach Computer unterschiedlich repräsentiert (z.B. "wahr" => "+1" oder "-1"). Eine logische Variable darf deshalb nicht Gegenstand arithmetischer Operationen sein. Vergleiche, die "wahr" oder "falsch" ergeben, sind in Klammern zu setzen, um die Abarbeitungsfolge zu gewährleisten.

Felder (arrays) sind vor Gebrauch in einem Programm zu dimensionieren. Ein wiederholtes Ausführen der Dimensionierung ist zu vermeiden. Mit einer DIM-Anweisung können mehrere Felder gleichzeitig dimensioniert werden.

Zugelassen sind ein- oder zweidimensionale Felder (Listen oder Tabellen). Mit der Dimensionierung werden gleichzeitig die Elemente auf "0" bzw. "leer" gesetzt. Es kann nicht davon ausgegangen werden, daß der Aufruf einer Feldvariablen im Programm automatisch ein Feld mit 11 Elementen dimensioniert. Auch Felder mit weniger als 11 Elementen sind zu dimensionieren (z.B. DIM A(4)). Die Zählung der Feldelemente beginnt bei "0".

Variablen- und Feldernamen sind maximal zwei Zeichen lang (Stringvariablen einschließlich Kennung "$" also maximal drei):
- Großbuchstabe
- Großbuchstabe, Großbuchstabe oder
- Großbuchstabe, Ziffer, keine Sonderzeichen wie "!", "%", "#" usw.

Um Konflikte mit Schlüsselwörtern und

Systemvariablen mancher Computer zu vermeiden, sind eine Reihe von Variablennamen verboten:

AS, AT, DI, DI$, DO, DO$, DS, DS$, EI, EI$, EL, ER, FN, GO, GO$, GR, HC, IF, LN, MA, MP, PI, SQ, SQ$, ST, ST$, TI, TI$, TO, TO$

Außerdem sind Variablennamen mit dem Anfangsbuchstaben "O" der Verwendung in den GOSUB-Routinen unterhalb der Zeile 1000 vorbehalten.

Bestimmte Variablennamen sind für die Übergabe von Parametern an die Bascoder-Routinen reserviert.

A, CC, CN, CT, FR, HG, HO, IN, IN$, NF, NF$, RV, SD, SP, SR, SR$, SV, VE, VG


HO,VE - Cursor-Positionierung Textbetrieb (110, 120)
  - Auslesen des Textschirms (220)
  - Cursor-Positionierung Grafik-Betrieb (620 ... 650)
IN, IN$ - Tastaturabfrage - (200, 210, 450)
IN - Auslesen Textschirm (220)
  - Status-Variable externe Speicher (540, 550, 560)
IN$ - Lesen von externen Speichern (550)
SR, SR$ - Bilden einer Stringvariablen (300, 310)
SR$ - String-Ausgabe auf Bildschirm (150, 650)
  - Drucker (350)
  - Externe Speicher (560)
  - Klein- => Groß-Buchstaben (330)
CN - Formatierung numerischer Ausgaben (310)
  - Zeichenfarbe bei grafischem Betrieb (620, 630, 650)
  - Unterscheidung Groß-/ Klein- buchstabe (220)
CC - momentan für CN festgelegte Farbe bei grafischem Betrieb (620, 630, 650)
CT - Formatierung numerischer Ausgaben (310)
NF, NF$ - Externes Speichern von Daten-Files (500 ... 580)
FR - Freier Speicherplatz (270)
  - Wirksamkeit der Stop-Taste (280)
SD - Warte-Routine (450)
  - Musik (400)
SP, SV - Musik (400)
RV - Zufallsvariable (260)
HG,VG - Grafischer Cursor, Bildpunkte (620, 630, 650)



Quellen: computer-bulletin no.32 (7/89) stichting basicode, eindhoven
bzw. BASICODE-3 Journal Nummer 3 7. Maerz 1990
sowie Stichting BASICODE: Definitie BASICODE-3C (April 1991)
Toelichting BASICODE-3C (April 1991)
BASICODE-3 Bulletin no. 74 und 75 10. und 17.7.91
bzw. BASICODE-JOURNAL Informationen zu BASICODE-3C
Erstausstrahlung: Deutschlandsender Kultur REM-spezial 18.9.91

Thomas Rademacher im September 2003