ABS
Syntax: X = ABS(Y)
Zweck: Übergibt den absoluten Wert des numerischen Ausdrucks Y.
AND
Syntax: X = numerischer Wert AND numerischer Wert
Zweck: Bildet die logische AND-Verknüpfung (Konjunktion) zweier numerischer Werte.
Wahrheitstabelle: X Y X AND Y
0 0 0
0 1 0
1 0 0
1 1 1
ASC
Syntax: X = ASC(Y$)
Zweck: Übergibt den ASCII-Code für das erste Zeichen der Zeichenkette Y$.
ATN
Syntax: X = ATN(Y)
Zweck: Übergibt den Arcustangens des numerischen Ausdrucks Y.
AUTO
Syntax: AUTO Startzeilennummer, Schrittweite
Zweck: Automatische Zeilennummerierung bei jedem Betätigen der RETURN-Taste. Mit Control G kann man AUTO abschalten.
BLOAD
Syntax: BLOAD ”Name.Extension”,Adresse
Zweck: Lädt eine Datei in den Arbeitsspeicher. Die Adresse kann auch weggelassen werden
BREAK
Syntax: BREAK Zeilennummer oder BREAK symbolischer Sprungmarkennamen Zweck: Unterbricht den Programmablauf an angegebener Stelle
BSAVE
Syntax: BSAVE "Name.Extension”,Adresse,Länge
Zweck: Speichert einen durch Adresse und Länge definierten Teil des Arbeitsspeichers.
CALL
Syntax: CALL numerische Variable (Parametervariable,Parametervariable,...)
Zweck: Ruft ein Maschinensprachenunterprogramm auf.
CDBL
Syntax: X = CDBL(Y)
Zweck: Wandelt den numerischen Ausdruck Y in eine Zahl doppelter Genauigkeit um.
CHAIN
Syntax: CHAIN "Name.Extension”,Startzeile im aufgerufenen Programm,ALL
Zweck: Überträgt die Kontrolle an ein aufgerufenes Programm und übergibt alle Variablen aus dem laufenden Programm.
CHAIN MERGE
Syntax: CHAIN MERGE "Name.Extension”,Startzeile,DELETE Startzeile-Endzeile Zweck: Wie oben, nur werden zuerst die angegebenen Zeilen im alten Programm gelöscht.
CHR$
Syntax: X$ = CHR$(n)
Zweck: Gibt das Zeichen aus, das dem ASCII-Code der eingegebenen Zahl n entspricht (n muß zwischen 0 und 255 liegen).
CINT
Syntax: X = CINT(Y)
Zweck: Rundet eine Zahl auf die nächste Integer-Zahl auf oder ab.
CIRCLE
Syntax: CIRCLE X,Y,Radius oder CIRCLE X,Y,Radius,Anfangswinkel,Endwinkel
Zweck: Zeichnet einen Kreis oder Kreisausschnitt (Anfangs- und Endwinkel sind Winkel in Grad ★ 10).
CLEAR
Syntax: CLEAR oder CLEAR,Anzahl des noch verfügbaren Speicherplatz in Bytes
Zweck: Löschen aller numerischen Variablen und Zeichenkettenvariablen oder definieren der Größe des Arbeitsspeichers des BASIC.
CLEARW
Syntax: CLEARW 0 oder CLEARW 1 oder CLEARW 2 oder CLEARW 3 Zweck: Löscht den Inhalt eines Fensters.
EDIT-Fenster = 0
LIST-Fenster = 1
OUTPUT-Fenster = 2
COMMAND-Fenster = 3
CLOSE
Syntax: CLOSE Dateinummer oder CLOSE # Dateinummer Zweck: Schließt Ein- oder Ausgaben oder Dateien.
CLOSEW
Syntax: CLOSEW 0 oder CLOSEW 1 oder CLOSEW 2 oder CLOSEW 3 Zweck: Schließt ein Fenster.
EDIT-Fenster = 0 LIST-Fenster = 1 OUTPUT-Fenster = 2 COMMAND-Fenster = 3
COLOR
Syntax: COLOR Textfarbe,Füllfarbe,Linienfarbe,Index,Stil
Zweck: Stellt die Text-, Füll- und Zeichenfarbe und die Füllmuster ein.
COMMON
Syntax: COMMON Variable,Variable,...
Zweck: Übergibt Variablen an ein mit CEIAIN aufgerufenes Programm.
CONT
Syntax: CONT
Zweck: Nimmt einen mit BREAK, STOP oder CONTROL G unterbrochenen Programmlauf wieder auf.
COS
Syntax: X = COS(Y)
Zweck: Gibt den Cosinuswert des numerischen Ausdrucks Y aus.
CSNG
Syntax: X = CSNG(Y)
Zweck: Wandelt den numerischen Ausdruck Y in eine Zahl einfacher Genauigkeit um.
CVI,CVS,CVD
Syntax: X = CVI (2-Byte-Zeichenkette)
X = CVS (4-Byte-Zeichenkette)
X = CVD(8-Byte-Zeichenkette)
Zweck: Wandelt den Inhalt von Zeichenkettenvariablen in numerische Werte um.
DATA
Syntax: DATA Konstante,Konstante,...
Zweck: Definiert eine Liste von Konstanten, die mit READ gelesen werden können.
DEF FN
Syntax: DEF FN Funktionsname(Argument,Argument,...) = Definition Zweck: Definiert eine Funktion und gibt ihr einen Namen.
DEFDBL,DEFINT,DEFSNG
Syntax: DEFTyp Buchstabe oder DEFTyp Buchstabe-Buchstabe
Zweck: Gibt einen bzw. einen Bereich von Buchstaben, der als Realzahl definiert werden soll.
DEFDBL definiert eine Realzahl doppelter Genauigkeit.
DEFINT definiert eine Integerzahl.
DEFSNG definiert eine Realzahl einfacher Genauigkeit.
DEFSTR
Syntax: DEFTyp Buchstabe oder DEFTyp Buchstabe-Buchstabe
Zweck: Gibt einen bzw. einen Bereich von Buchstaben, der als Zeichenkette definiert werden soll.
28
BASIC-SYNTAX
DELETE
Syntax: DELETE Zeilennummer-Zeilennummer
Zweck: Löscht den angegebenen Zeilenbereich aus dem Programm.
DIM
Syntax: DIM Variable(Index) oder DIM Variable(Index,Index)
Zweck: Reserviert ein durch Index in der Größe begrenztes Feld im Arbeitsspeicher.
DIR
Syntax: DIR oder DIR Laufwerk: oder DIR Laufwerk:Dateiname.Extension
Zweck: Auflisten von einer oder mehrerer Dateien der Diskette. Es können auch die Joker ★ und ? eingesetzt werden.
EDIT
Syntax: EDIT oder ED oder EDIT Zeilennummer oder ED Zeilennummer Zweck: Ruft den BASIC-Editor auf.
ELLIPSE
Syntax: ELLIPSE hör.Mittelpunkt,vert.Mittelpunkt,hor.Radius,vert.Radius
Zweck: Zeichnet eine Ellipse bzw. falls man noch einen Anfangs- und Endwinkel anhängt einen Ellipsenausschnitt.
END
Syntax: END
Zweck: Beendet die Programmausführung, schließt alle Dateien und kehrt zur Befehlsebene zurück.
EOF
Syntax: EOF (Dateinummer)
Zweck: Zeigt die Bedingung Dateiende (End of file) an.
EQV
Syntax: X = numerischer Wert EQV numerischer Wert
Zweck: Bildet die logische EQV-Verknüpfung (Äquivalenz) zweier numerischer Werte.
Wahrheitstabelle: X Y X EQV Y
Ö Ö ~
0 1 0
1 0 0
1 1 1
ERA
Syntax: ERA Dateiname.Extension oder ERA Laufwerk:Dateiname.Extension Zweck: Löscht eine Datei von Diskette.
ERASE
Syntax: ERASE Variable Zweck: Löscht Feldvariablen.
ERL
Syntax: X = ERL
Zweck: Die Variable ERL enthält die Zeilennummer der Zeile, in der der letzte Fehler aufgetreten ist.
ERR
Syntax: X = ERR
Zweck: Die Variable ERR enthält den Fehlercode für den letzten Fehler.
ERROR
Syntax: ERROR X
Zweck: Mit ERROR kann man den Auftritt eines BASIC-Fehlers simulieren oder einen eigenen Fehlercode definieren.
EXP
Syntax: X = EXP(Y)
Zweck: Ergibt die Konstante e, erhöht um den Exponenten Y.
FIELD
Syntax: FIELD # Dateinummer,Länge AS Zeichenkettenvariable,Länge AS ...
Zweck: Legt Platz für Variablen in einem Puffer für Direktzugriffs-Dateien an.
FILL
Syntax: FILL X-Koordinate,Y-Koordinate
Zweck: Füllt von Punkt X,Y aus eine Fläche mit einer Farbe aus, die vorher mit dem COLOR-Befehl festgelegt wurde.
29
BASIC-SYNTAX
FIX
Syntax: X = FIX(Y)
Zweck: Verkürzt eine Realzahl auf eine Integerzahl.
FLOAT
Syntax: X = FLOAT(Y)
Zweck: Wandelt eine Integerzahl in eine Realzahl mit einfacher Genauigkeit um.
FOLLOW
Syntax: FOLLOW Variable, Variable,...
Zweck: Verfolgt die Werte von Programmvariablen und gibt sie auf den Bildschirm aus.
FOR
Syntax: FOR Variable = X TO Y oder FOR Variable = X TO Y STEP Z
Zweck: Führt eine Folge von Befehlen in einer Schleife aus, wobei die Zahl der Ausführungen angegeben ist.
FRE
Syntax: X = FRE(O)
Zweck: Übergibt die Anzahl der nicht verwendeten Bytes des Arbeitsspeichers.
FULLW
Syntax: FULLW 0 oder FULLW 1 oder FULLW 2 oder FULLW 3 Zweck: öffnet ein Fenster auf volle Bildschirmgröße.
EDIT-Fenster = 0 LIST-Fenster = 1 OUTPUT-Fenster = 2 COMMAND-Fenster = 3
GEMSYS
Syntax: GEMSYS(AES Op Code)
Zweck: Erlaubt mittels des PEEK-Befehls einen Zugriff auf die AES-Kontrollfelder.
GET#
Syntax: GET # Dateinummer oder GET # Dateinummer,Datensatznummer Zweck: Liest einen Datensatz aus einer Direktzugriffs-Datei in einen Puffer.
GOSUB
Syntax: GOSUB Zeilennummer oder GOSUB Sprungmarke Zweck: Verzweigt in eine Unterprogrammroutine.
GOTO
Syntax: GOTO Zeilennummer oder GOTO Sprungmarke
Zweck: Verzweigt unbedingt nach der angegebenen Zeilennummer bzw. Sprungmarke.
GOTOXY
Syntax: GOTOXY Spalte,Reihe
Zweck: Positionieren des Cursors in einer bestimmten Spalte und Reihe.
HEX$
Syntax: x$= HEX$(Dezimalwert)
Zweck: Übergibt den Hexadezimalwert einer Dezimalzahl.
IF ... THEN ...
Syntax: IF logischer Ausdruck THEN Anweisung oder
IF logischer Ausdruck THEN Anweisung ELSE Anweisung Zweck: Ändert den Programmablauf, abhängig vom Ergebnis des logischen Ausdrucks.
IMP
Syntax: X = numerischer Wert IMP numerischer Wert
Zweck: Bildet die logische IMP-Verknüpfung (Implikation) zweier numerischer Werte.
Wahrheitstabelle: X Y X IMP Y
0 0 1
0 1 1
1 0 0
1 1 1
INP
Syntax: X = INP(Datenkanal-Nummer)
Zweck: Gibt einen Byte-Wert von einem bestimmten Datenkanal aus.
30
u//t
BASIC-SYNTAX
INPUT
Syntax: INPUT Variable oder INPUT ”Text”;Variable
Zweck: Ermöglicht Dateneingabe während des Programmablaufs und ordnet diese Daten einer oder mehreren Variablen zu.
INPUT#
Syntax: INPUT# Dateinummer,Variable
Zweck: Liest Daten aus einer sequentiellen Einheit oder Datei und weist sie Programmvariablen zu.
INPUTS
Syntax: X$ = INPUT$(Anzahl der Zeichen) oder
X$ = INPUT$( Anzahl der Zeichen),# Dateinummer Zweck: Übergibt eine Anzahl von Zeichen, die von der Tastatur oder aus einer Datei gelesen wurden.
INSTR
Syntax: X = INSTR(Zeichenkette,Suchzeichenkette) oder
X = INSTR(Startposition, Zeichenkette, Suchzeichenkette)
Zweck: Sucht eine Suchzeichenkette in einer anderen Zeichenkette und übergibt deren Position an eine Variable. Es ist auch möglich, erst ab einer bestimmten Startposition mit der Suche zu beginnen.
INT
Syntax: X = INTfnumerischer Ausdruck)
Zweck: Wandelt einen numerischen Ausdruck in eine Integer-Zahl um.
KILL
Syntax: KILL Name.Extension Zweck: Löscht eine Datei von Diskette.
LEFTS
Syntax: X$ = LEFT$(Zeichenkette,Anzahl der Zeichen)
Zweck: Übergibt die von links gerechnet durch die Anzahl bestimmten Zeichen einer Zeichenkette an X$.
LEN
Syntax: X = LEN(Zeichenki. .te)
Zweck: Übergibt die Länge einer Zeichenkette.
LET
Syntax: LET Variable = Ausdruck
Zweck: Ordnet den Wert eines Ausdrucks einer Variablen zu.
LINE INPUT
Syntax: LINE INPUT;Variable oder LINE INPUT ”Text”;Variable
Zweck: Wie INPUT. Es ist aber möglich eine ganze Zeile (255 Zeichen), als Antwort zu geben. Trennzeichen werden dabei ignoriert.
LINE INPUT#
Syntax: LINE INPUT#;Variable oder LINE INPUT# ”Text”;Variable
Zweck: Wie INPUT#. Es ist aber möglich eine ganze Zeile (255 Zeichen) als Antwort zu geben. Trennzeichen werden dabei ignoriert.
LINEF
Syntax: LINEF X1,Y1,X2,Y2
Zweck: Zeichnet eine Linie mit den Anfangskoordinaten XI,Y1 und den EndkoordinatenX2,Y2.
LIST
Syntax: LIST oder LIST Zeilennummer-Zeilennummer
Zweck: Listet das im Speicher befindliche BASIC-Programm ganz oder teilweise im LIST-Fenster.
LEIST
Syntax: LLIST oder LLIST Zeilennummer-Zeilennummer
Zweck: Wie LIST, nur wird das Programm auf einem Drucker ausgegeben.
LOAD
Syntax: LOAD "Dateiname”
Zweck: Lädt eine Datei von Diskette in den Arbeitsspeicher.
LOC
Syntax: X = LOC(Dateinummer)
Zweck: Gibt entweder eine Datensatznummer oder die Anzahl der Bytes, die von einer Datei gelesen bzw. in eine Datei geschrieben wurden, aus.
31
LOF
Syntax: X = LOF(Dateinummer)
Zweck: Übergibt die Anzahl der Bytes, die einer Datei zugeordnet sind.
LOG
Syntax: X = LOG(numerischer Ausdruck)
Zweck: Gibt den natürlichen Logarithmus einer Zahl aus.
LOGIO
Syntax: X = LOGlO(numerischer Ausdruck)
Zweck: Gibt den Zehnerlogarithmus einer Zahl aus.
LPOS
Syntax: X = LPOS(numerischer Ausdruck)
Zweck: Übergibt die laufende Position des Druckkopfes im Druckerpuffer für einen arbeitenden Drucker aus.
LPRINT
Syntax: LPRINT Variable oder LPRINT ”Text”;Variable Zweck: Druckt Daten auf einem Drucker aus.
LPRINT USING
Syntax: LPRINT USING Formatzeichenkette;Variable Zweck: Druckt Daten formatiert auf einem Drucker aus.
LSET
Syntax: LSET Zeichenkettevariable = Zeichenkettevariable
Zweck: Übergibt Daten in einen Dateipuffer für Direktzugriff. Die Daten werden linksbündig gespeichert und auf die mit FIELD definierte Datenlänge mit Leerstellen aufgefüllt.
MERGE
Syntax: MERGE Name.Extension
Zweck: Mischt die Zeilen einer BASIC-Datei mit dem im Arbeitsspeicher befindlichen Programm.
MID$
Syntax: X$ = MID$(Zeichenkette,Anfangspunkt,Länge)
Zweck: Gibt ein durch Anfangspunkt und Länge bestimmtes Stück einer Zeichenkette aus. Es ist allerdings auch möglich, einer Zeichenkette eine andere durch MID$ definierte Zeichenkette zuzuordnen.
MKD$ ,MKI$ ,MKS$
Syntax: X$ = MKD$(Ausdruck mit doppelter Genauigkeit)
X$ = MKI$ (ganzzahliger Ausdruck)
X$ = MKS$ (Ausdruck mit einfacher Genauigkeit)
Zweck: Wandelt ASCII-Zeichenketten, die Zahlen darstellen, in Byte-Zeichenketten um.
MOD
Syntax: Numerischer Wert MOD numerischer Wert Zweck: Übergibt den Rest einer Integerdivision.
NAME
Syntax: NAME ”alter Name.Extension” AS "neuer Name.Extension”
Zweck: Umbenennen einer Datei auf Diskette.
NEW
Syntax: NEW Name.Extension
Zweck: Löscht eine Datei aus dem Arbeitsspeicher.
NEXT
Syntax: NEXT numerische Variable
Zweck: Gibt das Ende einer FOR ... NEXT Schleife an.
NOT
Syntax: Numerischer Wert NOT numerischer Wert
Zweck: Bildet die logische NOT-Verknüpfung (Komplement) zweier numerischer Werte.
Wahrheitstabelle: X NOT X
32
0
1
1
0
OCT$
Syntax: X$ = OCT$(Dezimalwert)
Zweck: Übergibt den Oktalwert einer Dezimalzahl.
OLD
Syntax: OLD Dateiname
Zweck: Lädt eine bestehende Programmdatei in den Arbeitsspeicher.
ON ERROR GOTO
Syntax: ON ERROR GOTO Zeilennummer
Zweck: Übergibt die Programmkontrolle bei Auftreten eines Fehlers an ein Unterprogramm, dessen Anfang durch die Zeilennummer bestimmt wird.
ON ... GOSUB
Syntax: ON numerische Variable GOSUB Zeilennummer,Zeilennummer,...
Zweck: Verzweigt zu einer von mehreren Zeilennummern, die den Anfang von Unterprogrammroutinen angeben, in Abhängigkeit vom Wert der numerischen Variablen.
ON ... GOTO
Syntax: ON numerische Variable GOTO Zeilennummer,Zeilennummer,...
Zweck: Verzweigt zu einer von mehreren Zeilennummern in Abhängigkeit vom Wert der numerischen Variablen.
OPEN
Syntax: OPEN "Modus”,#Dateinummer,Dateiname.Extension oder
OPEN ”R”,#Dateinummer,Dateiname.Extension,Datensatzlänge Zweck: Ermöglicht die Ein- und Ausgabe an und von einer Datei oder Einheit. Die verschiedenen Modi haben folgende Bedeutung:
”1” öffnet eine sequentielle Datei zum Lesen.
”0” öffnet eine sequentielle Datei zum Schreiben.
”R” öffnet eine Direktzugriffs-Datei zum Lesen und Schreiben.
OPENW
Syntax: OPENW 0 oder OPENW 1 oder OPENW 2 oder OPENW 3 Zweck: öffnet ein Fenster auf eine vorgewählte Größe.
EDIT-Fenster = 0 LIST-Fenster = 1 OUTPUT-Fenster = 2 COMMAND-Fenster = 34
OPTION BASE
Syntax: OPTION BASE 0 oder OPTION BASE 1 Zweck: Definiert den kleinsten Wert für indizierte Variablen.
OR
Syntax: Numerischer Wert OR numerischer Wert
Zweck: Bildet die logische OR-Verknüpfung (Disjunktion) zweier numerischer Werte.
Wahrheitstabelle: X Y X OR Y
0 0 0
0 1 1
1 0 1
1 1 1
OUT
Syntax: OUT Ausgabeadresse,Integerausdruck für zu sendende Daten Zweck: Sendet ein Byte an einen Datenausgabekanal.
PCIRCLE
Syntax: PCIRCLE X,Y,Radius oder PCIRCLE X,Y,Radius,Anfangswinkel,Endwinkel
Zweck: Zeichnet einen ausgefüllten Kreis oder Kreisausschnitt (Anfangs- und Endwinkel sind Winkel in Grad ★ 10).
PEEK
Syntax: X = PEEK(Speicheradresse)
Zweck: Liest ein Wort aus dem Speicher aus.
PELLIPSE
Syntax: PELLIPSE hör .Mittelpunkt,vert.Mittelpunkt, hör .Radius,vert.Radius
Zweck: Zeichnet eine ausgefüllte Ellipse bzw. falls man noch einen Anfangs- und Endwinkel anhängt einen ausgefüllten Ellipsenausschnitt.
33
BASIC-SYNTAX
POKE
Syntax: POKE Speicheradresse,Byte Zweck: Schreibt ein Wort in den Speicher.
POS
Syntax: X = POS(O)
Zweck: Übergibt die derzeitige Spaltenposition des Cursors.
Syntax: PRINT Variable oder PRINT ”Text”;Variable Zweck: Gibt Daten im OUTPUT-Fenster aus.
PRINT USING
Syntax: PRINT USING Formatzeichenkette,Variable Zweck: Gibt Daten formatiert im OUTPUT-Fenster aus.
PRINT#
Syntax: PRINT#Dateinummer,Variable oder PRINT#Dateinummer,”Text”;Variable Zweck: Gibt Daten sequentiell an eine Datei aus.
PRINT# ..„USING
Syntax: PRINT# Dateinummer,USING Formatzeichenkette,Variable Zweck: Gibt Daten formatiert sequentiell an eine Datei aus.
PUT#
Syntax: PUT# Dateinummer,Datensatznummer
Zweck: Schreibt einen Datensatz aus dem Puffer für Direktzugriffsdateien auf Diskette.
QUIT
Syntax: QUIT
Zweck: Beendet das BASIC und kehrt zum GEM-Desktop zurück.
RANDOMIZE
Syntax: RANDOMIZE numerischer Ausdruck
Zweck: Übergibt einen Anfangswert für den Zufallszahlengenerator.
READ
Syntax: READ Variable oder READ Variable,Variable
Zweck: Liest die Wert der DATA-An Weisung und ordnet sie der bzw. den Variablen zu.
REM oder ’
Syntax: REM Bemerkung oder 'Bemerkung
Zweck: Erlaubt das Einfügen von Bemerkungen in das Programm, ohne daß dadurch der Programmablauf gestört wird.
RENUM
Syntax: RENUM oder RENUM neue erste Zeilennummer„Schrittweite oder RENUM neue erste Zeilennummer,Startzeilennummer,Schrittweite Zweck: Nummeriert das Programm ganz oder teilweise neu durch. Wenn keine Parameter angegeben werden, wird die erste neue Zeilennummer und die Schrittweite mit 10 angenommen.
REPLACE
Syntax: REPLACE Name.Extension oder REPLACE Name.Extension,Zeilennummer-Zeilennummer Zweck: Ersetzt eine alte Version einer Datei voll oder teilweise durch eine neue Version.
RESET
Syntax: RESET
Zweck: Schließt alle Dateien ab und löscht den Systempuffer.
RESTORE
Syntax: RESTORE oder RESTORE Zeilennummer
Zweck: Setzt den Zeiger für DATA-Anweisungen zu lesen ganz oder auf eine bestimmte Zeilennummer zurück.
RESUME
Syntax: RESUME Zeilennummer oder RESUME (0)
Zweck: Fährt nach einem aufgetretenen Fehler entweder an der angegebenen Stelle fort oder fährt mit der Anweisung fort die den Fehler verursachte.
34
BASIC-SYNTA X
RESUME NEXT
Syntax: RESUME NEXT
Zweck: Fährt nach einem aufgetretenen Fehler mit der Anweisung fort, die hinter der Anweisung steht, die den Fehler verursachte.
RETURN
Syntax: RETURN
Zweck: Kehrt von einer mit GOSUB aufgerufenen Unterroutine zurück und macht mit der nächsten Anweisung weiter.
RIGHTS
Syntax: X$ = RIGHT$(Zeichenkette,Anzahl der Zeichen)
Zweck: Übergibt die von rechts gerechnet durch die Anzahl bestimmten Zeichen einer Zeichenkette an X$.
RND
Syntax: X = RND oder X = RND(O) doer X = RND(Zahl oder numerische Variable)
Zweck: Erzeugt eine Zufallszahl, deren Anfangswert zuvor mit RANDOMIZE bestimmt wurde. Der Anfangswert kann aber auch mit einer negativen Zahl bzw. numerischen Variablen definiert werden. RND(O) wiederholt die zuletzt erzeugte Zahl. Ist die Zahl bzw. numerische Variable positiv oder es wird nichts hinter RND angegeben, wird die nächste Zufallszahl in Folge erzeugt.
RSET
Syntax: RSET Zeichenkettevariable = Zeichenkettevariable
Zweck: Übergibt Daten in einen Dateipuffer für Direktzugriff. Die Daten werden rechtsbündig gespeichert und auf die mit FIELD definierte Datenlänge mit Leerstellen aufgefüllt.
RUN
Syntax: RUN oder RUN,Zeilennummer oder RUN Name.Extension oder RUN Name.Extension,Zeilennummer Zweck: Beginnt die Programmausführung. Wenn ein Dateiname angegeben wird, wird das Programm geladen und automatisch gestartet. Beide Möglichkeiten können auch erst ab einer bestimmten Zeilennummer gestartet werden.
SAVE
Syntax: SAVE Dateiname oder SAVE Dateiname,Zeilennummei-Zeilennummer Zweck: Speichert das Programm ganz oder teilweise auf Diskette.
SGN
Syntax: X = SNG(numerischer Ausdruck)
Zweck: Übergibt das Vorzeichen des numerischen Ausdrucks.
Ist der numerische Ausdruck positiv, wird eine 1 übergeben.
Ist der numerische Ausdruck gleich 0, wird eine 0 übergeben.
Ist der numerische Ausdruck negativ, wird eine -1 übergeben.
SIN
Syntax: X = SIN(numerischer Ausdruck)
Zweck: Errechnet den Sinuswert für einen Wert im Bogenmaß.
SOUND
Syntax: SOUND Stimme,Lautstärke,Note,Oktave,Tondauer Zweck: Erzeugt einen Ton.
SPACES
Syntax: X$ = SPACE$(numerischer Ausdruck)
Zweck: Gibt eine durch den numerischen Ausdruck definierte Anzahl von Leerzeichenketten aus.
SPC
Syntax: PRINT SPC(numerischer Ausdruck)
Zweck: Gibt eine durch den numerischen Ausdruck definierte Anzahl von Leerstellen in einer PRINT-Anweisung aus.
SQR
Syntax: X = SQR(numerischer Ausdruck)
Zweck: Übergibt die Quadratwurzel eines numerischen Ausdrucks.
STEP
Syntax: STEP oder STEP,Zeilennummer oder STEP Name.Extension oder STEP Name.Extension,Zeilennummer Zweck: Führt ein Programm zeilenweise aus. Falls ein Dateiname angegeben wurde, wird zuerst das Programm geladen und dann ausgeführt. Es ist auch möglich ein Programm erst ab einer bestimmten Zeilennummer zu starten.
35
BASIC-SYNTAX
STOP
Syntax: STOP
Zweck: Bricht den Programmablauf ab und kehrt in das COMMAND-Fenster zurück.
STR$
Syntax: X$ = STR$(numerischer Ausdruck)
Zweck: Übergibt die Zeichenkettendarstellung eines numerischen Ausdrucks.
STRINGS
Syntax: X$ = STRING$(numerischer Ausdruck,Zeichenkette) oder
X$ = STRING$(numerischer Ausdruck,numerischer Ausdruck)
Zweck: Übergibt eine Zeichenkette, deren Länge durch den ersten numerischen Ausdruck definiert ist, und deren Zeichen alle aus dem ASCII-Code des zweiten numerischen Ausdrucks oder der Zeichenkette bestehen.
SWAP
Syntax: SWAP Variable,Variable
Zweck: Vertauscht die Werte zweier Variablen.
SYSTAB
Syntax: X = PEEK(SYSTAB + OFFSET)
Zweck: Liest den Zeiger, der auf die Systemtabelle zeigt.
SYSTEM
Syntax: SYSTEM
Zweck: Verläßt das BASIC und kehrt zum GEM-Desktop zurück.
TAB
Syntax: PRINT TAB(numerischer Ausdruck)
Zweck: Setzt einen Tabulator an der durch den numerischen Ausdruck angegebenen Stelle.
TAN
Syntax: X = TAN(numerischer Ausdruck)
Zweck: Gibt den Tangens eines numerischen Ausdrucks aus.
TRACE
Syntax: TRACE oder TRACE Zeilennummer oder TRACE Zeilennummer-Zeilennummer Zweck: Zeigt während des Programmverlaufs die gesamte Zeile, die gerade bearbeitet wird, an.
TROFF
Syntax: TROFF oder TROFF Zeilenummer Zweck: Schaltet die TRON-Funktion wieder aus.
TRON
Syntax: TRON oder TRON Zeilennummer oder TRON Zeilennummer-Zeilennummer
Zweck: Zeigt während des Programmverlaufs die Zeilennummer der Zeile an, die gerade bearbeitet wird, an.
UNBREAK
Syntax: UNBREAK oder UNBREAK Zeilennummer Zweck: Widerruft einen BREAK-Befehl.
UNFOLLOW
Syntax: UNFOLLOW oder UNFOLLOW Variable,Variable
Zweck: Widerruft den FOLLOW-Befehl ganz oder für bestimmte Variablen.
UNTRACE
Syntax: UNTRACE oder UNTRACE Zeilennummer Zweck: Widerruft den TRACE-Befehl.
USR
Syntax: X = USR Argument oder USRNummer Argument Zweck: Ruft ein Maschinenunterprogramm mit einem Argument auf.
VAL
Syntax: X = VAL(Zeichenkette)
Zweck: Übergibt den numerischen Wert einer Zeichenkette.
VARPTR
Syntax: X = VARPTR(Variable) oder X = VARPTR(# Dateinummer)
Zweck: Überigbt die Arbeitsspeicheradresse einer Variablen oder eines Dateisteuerblocks.
36
BASIC-SYNTAX
VDISYS
Syntax: VDISYS(l)
Zweck: Erlaubt den Zugriff auf das VDI. Zuvor muß zum Schreiben in die Felder CONTRL, INTIN und PTSIN gePOKEt werden. Zum Lesen werden die Felder INTOUT und PTSOUT benutzt.
WAIT
Syntax: WAIT Datenkanalnummer,numerische Variable
Zweck: Hält den Programmverlauf an und kontrolliert den Status eines Ein-/Ausgabekanals.
WAVE
Syntax: WAVE Stimmenauswahl,Hüllkurve,Hüllkurvenzyklus,Dauer, Verzögerung Zweck: Bestimmt die Hüllkurvenart für den SOUND-Befehl.
WEND
Syntax: WEND
Zweck: Stellt das Ende einer WHILE...Wend-Schleife dar.
WHILE
Syntax: WHILE logischer Ausdruck
Zweck: Führt eine Serie von Anweisungen in einer Schleife aus, so lange der logische Ausdruck richtig ist.
WIDTH
Syntax: WIDTH Breite oder WIDTH LPRINT Breite Zweck: Setzt die Zeilenbreite auf Bildschirm oder Drucker.
WRITE
Syntax: WRITE Variable
Zweck: Gibt Daten auf dem Bildschirm aus.
WRITE#
Syntax: WRITE# Dateinummer,Variable Zweck: Schreibt Daten in eine sequentielle Datei.
XOR
Syntax: Numerischer Wert XOR numerischer Wert
Zweck: Bildet die logische XOR-Verknüpfung (Antivalenz) zweier numerischer Werte.
Wahrheitstabelle: X Y X XOR Y
0 0 0
0 1 1
1 0 1
11 0
&H
Syntax: X = &HHexadezimalzahl
Zweck: Wandelt eine Hexadezimalzahl in eine Dezimalzahl um.
&o
Syntax: X = &OOktalzahl
Zweck: Wandelt eine Oktalzahl in eine Dezimalzahl um.
37
BASIC-SYNTAX
Fehlernummern Fehlermeldungen____________________________________________________________________________
2 Fehlerhafte Eingabe
3 RETURN-Anweisung erfordert entsprechendes GOSUB
4 RE AD-Anweisung hat zuwenig DATA-Werte
5 Funktionsaufruf nicht möglich
6 Zahl zu groß
7 Programm zu lang für Speicher
8 Anweisung oder Befehl bezieht sich auf eine nicht vorhandene Programmzelle
9 Unterdefinition bezieht sich auf ein Element außerhalb des Feldes
10 Feld mehr als einmal definiert
11 Division durch Null nicht möglich
12 Anweisung im Direkt-Modus ungültig
13 Wert-Arten stimmen nicht überein
15 String länger als 255 Zeichen
16 Ausdruck zu lang oder zu komplex
17 CONT arbeitet nur im BREAK-Modus
18 Funktion muß erst mit DEF FN definiert werden
20 RESUME-Anweisung vor Aufrufen der Fehler-Routine gefunden
22 Ausdruck beinhaltet Operator ohne nachfolgenden Operanden
23 Programmzeile zu lang
50 FIELD-Anweisung verursacht Überlauf
52 Ungültiger Dateiname oder -nummer
53 Datei im angegebenen Laufwerk nicht gefunden
54 Ungültiger Datei-Modus
55 Eine bereits geöffnete Datei kann nicht gelöscht (KILL) oder geöffnet (OPEN) werden
57 Diskettenein- oder -ausgabefehler. Operation neu einleiten (MP/M)
58 Datei existiert bereits
61 Diskette voll
62 Dateiende erreicht
63 Datensatz-Zahl in PUT oder GET ist größer als 32 767 oder Null
64 Ungültiger Dateiname
65 Ungültiges Zeichen in der Programmdatei
66 Programmdatei enthält Anweisung ohne Zeilennummer
99 - Abbruch -
101 Programm für Speicher zu lang
102 ON-Anweisung außerhalb des gültigen Bereiches
103 Ungültige Zeilennummer
104 Variablen-Eingabe erforderlich
106 Zeilennummer existiert nicht
107 Zahl zu groß für eine Integer-Zahl
108 Eingegebene Daten ungültig. Eingabe ab dem ersten Begriff neu beginnen
109 STOP
110 Aufruf von Unterroutinen zu verschachtelt
111 Ungültige BLOAD-Datei
202 Befehl hier nicht möglich
203 Zeilennummernangabe erforderlich
204 FOR-Anweisung muß mit NEXT, oder WHILE-Anweisung mit WEND abgeschlossen werden
205 Einer NEXT-Anweisung muß FOR, oder einer WEND-Anweisung WHILE vorangestellt werden
206 Komma fehlt
207 Klammer fehlt
208 OPTION BASE muß 0 oder 1 sein
209 Abschluß der Anweisung erforderlich
210 Zu viele Argumente in der Liste
212 Redefinition von Variable(n) nicht möglich
213 Funktion mehr als einmal definiert
214 Sprung in eine Schleife nicht möglich
221 System-Fehler X, Neustart erforderlich
222 Programm läuft nicht
223 Zu viele FOR-Schleifen