Basic-Befehlssyntax

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.

PRINT

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



Aus: ST-Computer 01 / 1986, Seite 27

Links

Copyright-Bestimmungen: siehe Über diese Seite