Seite 2
Printed in the Federal Republic of Germany 1. Auflage, September 1984 NCR ist ständig bemüht, die Produkte im Zuge der Entwicklung von Techno logie, Bauteilen, Soft- und Firmware dem neuesten Stand anzupassen. NCR behält sich deshalb das Recht vor, Spezifikationen ohne vorherige Ankündi...
Seite 3
(Steuerknüppel) voll zu nutzen. Kapitel 1 bietet sowohl dem Anfänger als auch dem erfahrenen Program mierer Anleitungen für das Starten und Verlassen von GW-BASIC nach Bearbeitung oder Ablauf des Programms. Das Kapitel beschreibt weiter, welche Meldungen GW-BASIC am Bildschirm ausgibt, und wie es von Ihnen eingegebene Informationen speichert.
Seite 4
GW-BASIC den Speicher des NCR Personal Computer nutzt. GW-BASIC ist zum Testen von Programmen ideal geeignet. Die Befehle RUN und GOTO ermöglichen Ihnen den Zugriff auf ein Programm an jeder beliebigen Stelle. Das STOP-Kommando bewirkt genau das, was sein Name besagt, und eine spezielle Sucheinrichtung (TRON/TROFF) ermöglicht eine Übersicht über den Ablauf Ihres jeweiligen Programms.
Seite 5
Als erfahrener Programmierer möchten Sie die vielfältigen Möglichkei ten von GW-BASIC bei Ihrer Arbeit sicher bald nicht mehr missen. Doch auch dem Anfänger bietet dieses Handbuch zahlreiche Informationen, Beispiele und Übungen, die ihm, zusammen mit den eingebauten Hilfs funktionen von GW-BASIC auf seinem Weg zum geübten Programman...
Berechnung von Ausdrücken..........1-32 Operationen mit Zeichenketten..........1-32 Ü b u n g en ..................1-33 Kapitel 2 Bildschirmeditor..............Kapitel 3 Anzeige am B ild sch irm ............Textm odus................Graphikmodus..............Standardaufiösung..............Hohe Auflösung..............Übungen................Kapitel 4 GW-BASIC Befehle und Funktionen........Systemkompatibilität..............4-18 GW-BASIC...
Seite 8
E D IT ..................4-79 E N D ..................4-80 EN V IR O N ................4-81 ENVIRON^................4-82 E O F ..................4-84 E R A S E ..............4-85 ERR,E R L ................4-86 E R R O R ...................4-87 GW-BASIC...
Seite 9
L O F ..................4-150 L O G ..................4-151 L P O S ..................4-152 LPRINT AND LPRINT USING..........4-153 LSET AND R E SE T ............. 4-155 M ER G E.................4-157 M IIU D $.................4-158 M K D IR .................4-161 MKI$,MKS$, MKD$..............4-162 NAME..................4-163 GW-BASIC...
Seite 10
N E W ..................4-164 O C T $..................4-165 ON COM(n)................4-166 ON ERROR G O T O ..............4-169 O N ... GOSUB AND ON... G O T O ........4-171 ON K E Y .................4-173 ON P E N .................4-176 ON PLAY.................4-178 O N S T R IG ................
Seite 11
S G N ..................4-265 S H E L L .................4-266 SIN...................4-268 SO U N D .................4-269 SPACE$.................4-272 SPC...................4-273 S Q R ..................4-274 STICK..................4-275 S T O P ..................4-276 S T R $ ..................4-277 STRIG-Befehl............... 4-278 STRIG-Funktion..............4-279 STRING$.................4-280 SWAP..................4-281 SYSTEM.................4-282 T A B ..................4-283 T A N ..................4-284 TIME$-Befehl...............
Seite 12
Belegen reservierter S p eich ern ........Verwendung des reservierten S p e ich e rs......P O K E in g ................BLOADing................Wie GW-BASIC Unterprogramme aufruft......CALL................... U S R ................... Kapitel 7 Für PEEKer und PO K Er............
Seite 13
B. Zeichensatz..............B-1 C. Fehlermeldungen............C-1 D. Zusätzliche F u n k tio n e n ..........D-1 E. Dezimale und hexadezimale Zahlen......E-1 F. Positionen auf der T a s ta tu r.......... F-1 GW-BASIC...
Computers. Wenn Sie diesen Vorgang noch nicht kennen, sollten Sie in Ihrem “NCR-DOS-Handbuch” nachschlagen. Sobald das Systembe reitschaftszeichen (system prompt) am Bildschirm erscheint, können Sie GW-BASIC in den Speicher laden. Geben Sie nun einen der vier Namen ein, zum Beispiel: GWBASIC...
Seite 16
GWBASIC Dateispezifikation Dateispezifikation steht hierbei für die Bezeichnung einer Programmda tei (steht nicht in Klammem). Sie teilt GW-BASIC mit, diese Datei zu fin den, sie zu laden und zu starten (RUN), ohne auf weitere Anweisungen von Ihnen zu warten, und ohne Anzeige der Copyright-Mitteilung. Die Dateispezifikation muß...
Seite 17
Zeitpunkt während eines Programmablaufs geöffnet sein können. Beispiel: GWBASIC/F:6 zeigt GW-BASIC an, daß bis zu sechs Dateien geöffnet sein können. Jede Datei hat einen Speicherbedarf von 62 Byte für den Dateisteuerblock und die Pufferkapazität (siehe Wahlmöglichkeit /S). Die Zahl der zu einem Zeitpunkt geöffneten Dateien hängt ab vom Wert, der dem...
Seite 18
Beispiel: GWBASIC /M:32000,2048 In diesem Beispiel ergibt sich eine Summe von 32768 reservierten Bytes (2048 x 16), von denen 32000 für GW-BASIC, und 768 für die Benutzung außerhalb von GW-BASIC zur Verfügung stehen. GWBASIC /S: Größe Hier wird die Größe des Puffers für die Bearbeitung von Dateien mit wahlfreiem Zugriff bestimmt.
1024. Der Puffer für die Datenübertragung liegt immer bei 128 Bytes. Dieser wählbare Zusatz teilt GW-BASIC mit, ob Sie bei den folgenden mathematischen Funktionen mit „doppelter Genauigkeit“ arbeiten wol len: ATN, COS, EXP, LOG, SIN, SQR, und TAN. Die Einbeziehung die...
Abschnitt vor Ausführung der folgenden Übungen lesen. Sobald Sie GW-BASIC geladen haben, erscheint „Ok“ am Bildschirm. GW-BASIC teilt Ihnen dadurch mit, daß es auf die Eingabe Ihrer Befehle wartet. Jetzt können Sie mit dem Schreiben Ihres Programms beginnen. Programm zu schreiben. Bevor Sie jedoch Ihr Programm testen, ist es zweckmäßig, das Programm auf Platte zu speichern.
Zeigt Dir NCR-PC die Bereitschaft des NCR-DOS-Betriebs- systems an, können Sie den Programmnamen (ohne Anführungszei chen) angeben, sobald Sie GW-BASIC laden: GWBASIC NEUPROG Haben Sie nach der zweiten Methode GW-BASIC geladen und wurde die Copyright-Mitteilung und das „Ok“ am Bildschirm ausgegeben, können Sie nun RUN „NEUPROG“...
Seite 22
Programm handeln, das jedoch auf Platte gespeichert werden kann. Geben Sie diesem Programm einen Namen, z.B. MCNIPROG, und geben Sie folgenden GW-BASIC-Befehl ein (falls Sie mit den Regeln der NCR-DOS-Benennung von Dateien nicht vertraut sind, geben Sie Ihrer Datei einem Namen bis zu 8 Buchstaben) SAVE „MINIPROG“...
Seite 23
Version wird durch die richtige ersetzt, sobald die richtige Version eingegeben ist. Falls Sie einen Fehler übersehen, der gegen die Sprache von GW-BASIC verstößt, wird er erst beim Ablauf des Pro gramms von GW-BASIC festgestellt. GW-BASIC hält dann das Pro...
Bildschirm ausgegeben. Die beiden GW-BASIC Zeilen, die das Programm M1MPROG.BAS umfassen, bestehen jeweils nur aus einem Befehl. In GW-BASIC können Programmzeilen mit mehr als einen Befehl Vorkommen, in einem sol chen Fall müssen die einzelnen Befehle durch Kommas voneinander getrennt werden.
Zeilennummern voranzustellen und sie auf Platte zu speichern. Aus die sem Grund werden Computerprogramme erstellt. DER ZEICHENSATZ Der GW-BASIC Zeichensatz umfaßt alle Buchstaben des Alphabets sowie numerische Zeichen (die Ziffern 0 bis 9). Zusätzlich gehört eine Anzahl von Sonderzeichen zum GW-Zeichensatz. Man kann erkennen, daß...
Seite 26
> Schrägstrich Symbol für Ganzzahldivision nach links GW-BASIC erkennt auch eine Anzahl von Kombinationen der Control- Taste für die Programmeditierung. Solche Kombinationen werden in dem Abschnitt, der sich mit dem GW-BASIC-Bildschirm-Editor befaßt, beschrieben. Die GW-BASIC Zeichenkette stellt eine Erweiterung des allgemein bekannten und benutzten ASCII-Code dar.
Seite 27
Anhand des Anhangs B geben Sie folgende Befehle ein: PRINT CHR$(65) Dieser Befehl fordert GW-BASIC auf, das Zeichen, das dem Codewert 65 entspricht, am Bildschirm anzuzeigen. Der Großbuchstabe A wird somit am Bildschirm ausgegeben ( als hätten Sie den Befehl PRINT „A“...
EINFÜHRUNG KONSTANTEN Konstanten sind tatsächliche Daten, die GW-BASIC mitgeteilt werden. Diese Daten können die Form einer Zeichennkette bzw. numerischer Konstanten annehmen. Eine Zeichenkette steht immer in (doppelten) Anführungszeichen z.B. „WILLKOMMEN“ „Geben Sie jede beliebige Zahl ein“ Dementsprechend enthielt Zeile 20 Ihres Kurzprogramms eine Zeichen...
Seite 29
Eine Konstante mit doppelter Genauigkeit ist jede numerische Kon stante, die • acht oder mehr Ziffern, bzw. • Exponentialform mit D, bzw. • ein nachfolgendes Doppelkreuz (#) aufweist. Beispiele für Konstanten Einfache Genauigkeit Doppelte Genauigkeit 46.8 345692811 -1.09E-06 -1.09432D-06 3489.0 3489.0# 22.5! 7654321.1234 GW-BASIC 1-15...
Teil kann sich aus Buchstaben, Ziffern, Dezimalpunkten und einer Typdefinition der Variablen zusammensetzen (siehe unten). Er kann beliebig lang sein. GW-BASIC erkennt jedoch nur die ersten 40 Zei chen an, was kaum eine Beschränkung bedeutet, denn es ist zweck...
EINFÜHRUNG Bezeichnung PRINTERS verwenden. Beginnt der Namen einer Varia blen mit FN, nimmt GW-BASIC an, daß es ein Aufruf für eine vom Anwender definierte Funktion ist. Dies wird im Kapitel 4 „GW-BASIC Befehle und Funktionen“ beschrieben. Es ist immer zweckmäßig, der Variablen einen Namen zu geben, der in einem sinnvollen Verhältnis zu den in ihr gespeicherten Daten steht.
Variablen ist die Anzahl der Zeichen, die sich bis zu maximal 255 Zei chen erstreckt. Wenn Sie versuchen, einer numerischen Variablen einen Zeichenketten wert zuzuweisen oder umgekehrt, macht Sie GW-BASIC auf den Fehler „Type mismatch“ (Typenvermischung) aufmerksam. Was GW-BASIC jedoch nicht kann, ist die Glaubwürdigkeit eines Variableninhalts zu prü...
Ganzzahlen läuft daher schneller ab, besonders wenn es sich dabei um immer wiederkehrende Rechenvorgänge handelt. TYPENUMWANDLUNG Zuweilen muß fur GW-BASIC eine Zahl von einem Genauigkeitsgrad in den anderen umgewandelt werden. Ist dies der Fall, gelten die in diesen Abschnitt aufgefuhrten Regeln. Wenn Sie versuchen, eine Zeichenket- ten-Variable einer Zahlenvariablen zuzuweisen oder umgekehrt, meldet sich GW-BASIC mit einem „Type mismatch“...
Seite 34
Wenn Sie dieses kurze Programm ablaufen lassen, gibt GW-BASIC die Zahl 23 aus. Wenn Sie A°/odie Zahl 23,52 zuordnen, meldet sich GW-BASIC mit der Zahl 24. Die Zahl wird nicht einfach auf eine Ganzzahl gekürzt, sondern abgerundet, sobald der Wert einer Varia...
60 PRINT A$;AN2$;B$;AN1$:PRINT 70 PRINT A$;AN3$;B$;AN4$:PRINT 80 PRINT A$;AN6$;B$;AN3$:PRINT 90 PRINT A$;AN5$;b$;AN6$:PRINT 100 PRINT A$;AN6$;B$;AN4$:PRINT Jedes Textelement der am Bildschirm ausgedruckten Zeilen ist in einer Zeichenketten-Variablen vorhanden. Die einzelnen PRINT-Elemente sind hier durch Semikolon voneinander getrennt. Das Semikolon weist 1-21 GW-BASIC...
Genauigkeit angezeigt werden können, bedient sich GW-BASIC automatisch der exponentiellen Darstellung). GW-BASIC springt dann zurück in Zeile 40, was bewirkt, daß GW-BASIC erneut auf die Eingabe einer weiteren Zahl über die Tastatur wartet. Die Befehlsschleife zwi schen Zeile 40 und 90 wird solange wiederholt, bis ZAHL den Wert 0 auf...
Seite 37
130 END Dieses Programm bedient sich einer sogenannten. FOR...NEXT Schleife von Zeile 20 bis 50. Zeile 20 teilt GW-BASIC mit, wie oft die Schleife durchlaufen werden muß (von 1 bis 10, d.h. 10 mal). Die Anzahl der Schleifenabläufe wird in einer Variablen festgehalten, die im Pro...
Zeile 90 gibt am Bildschirm die Aufforderung „Zahl“ aus und fordert Sie auf, eine Zahl einzugeben. Die Art wie die Aufforderung in den INPUT- Befehl einbezogen wird, stellt eine Leistung von GW-BASIC dar. Die Eingabe eines ausdrücklichen PRINT-Befehls erübrigt sich. Daher ist Zeile 90 mit 90 PRINT „Zahl“;:INPUT N%...
In dem Abschnitt, der sich mit dem GW-BASIC-Zeichensatz befaßt, wur den bereits die Sonderzeichen erwähnt, die mathematische Funktionen darstellen. Ein Beispiel dazu ist das Sternchen (*), das in GW-BASIC den Multiplikationsvorgang bezeichnet Im folgenden sind einige Beispiele, die zeigen, wie GW-BASIC diese mathematischen Funktionen darstellt:...
K la m m e r v o n e in a n d e r g e tre n n t sein. Ganzzahl-Division und Modulus-Arithmetik In GW-BASIC stehen zwei zusätzliche Operatoren zur Verfügung: Ganzzahl-Division und Modulus-Arithmetik. Die Ganzzahl-Division wird durch Voranstellen von INT gekennzeich...
Operatio nen ausgeführt. Zum Beispiel ist der Ausdruck: X+Y < (T-l)/Z „richtig44, wenn der Wert von X plus Y kleiner ist als der Wert von T minus 1 geteilt durch Z. GW-BASIC 1-27...
Inhalt von J ergibt, nicht Null ist. Der Befehl PRINT SECONDS°/o >30 veranlaßt, daß GW-BASIC die Zahl -1 ausgibt, falls die Ganzzahl-Variable einen Wert höher als 30 enthält, andernfalls gibt GW-BASIC 0 am Bild schirm aus. LOGISCHE OPERATOREN Logische Operatoren führen logische oder Boolsche Operationen aus.
Seite 43
EINFÜHRUNG „Andernfalls werde ich den niedrigeren Preis akzeptieren, kann jedoch die Qualitätsbedingungen nicht erfüllen.“ GW-Basic bedient sich des XOR-Operators, um diese Einstellung des „Entweder einer oder der andere, jedoch nicht beide“ auszudrücken z.B. in: IF QUALITÄT°/o > 3 XOR PREIS < 200 THEN PRINT „Die Verkaufsbedingungen sind nicht ideal, jedoch gut genug, um...
Seite 44
Im folgenden finden Sie eine ausführliche Erläuterung, wie GW-BASIC das Ergebnis einer logischen Operation ermittelt. Sie brauchen diesen Vorgang nicht verstehen, um mit GW-BASIC pro grammieren zu können. Die Erläuterung ist hauptsächlich für Program mierer von Interesse, die auf Bit-Ebene arbeiten.
FUNKTIONALE OPERATOREN Funktionen werden in einem Ausdruck verwendet, um eine vorbestimm te Operation für einen Operanden aufzurufen. GW-BASIC besitzt interne Funktionen, die bereits im System integriert sind, wie z.B. SQR (Qua dratwurzel) oder SIN (Sinus). Alle internen Funktionen von GW-BASIC sind in Kapitel 4 beschrieben.
Siehe DEF FN, Kapitel 4. BERECHNUNG VON AUSDRÜCKEN Dieser Abschnitt faßt die Rangfolge der numerischen Operationen zusammen, d.h. die Reihenfolge, in der GW-BASIC solche Operationen in einem Ausdruck ausfuhrt. 1. Funktionsaufrufe (imgeachtet ob in Ihrem Programm definiert oder bereits von GW-BASIC bereitgestellt) werden zuerst ausgerechnet.
Auswirkungen zu achten, die sich ergeben, wenn mit Klammerausdrücken gearbeitet wird und so die übliche Rangfolge übergangen werden. Achten Sie z.B. auf den Unter schied bei dem Ergebnis zwischen PRINT 5 + 6 * 12 PRINT (5 + 6) * 12 GW-BASIC 1-33...
Seite 48
Das nächste Beispiel wird Sie an die arithmetischen Rechenübungen Ihrer Schulzeit erinnern, bevor Sie etwas über Dezimalstellen gelernt haben. Es zeigt Ihnen, wie Sie bei GW-BASIC ganzzahlige und Modulus- Divisionsoperatoren verwenden können, um ein Ergebnis in Form eines Quotienten und Restbetrages zuerhalten.
Seite 49
Fehler braucht man sich jedoch nicht abgeben, da eine Division durch Null GW-BASIC nicht veranlaßt, den Programmablauf zu stoppen. Die Zahlen 6 und 11 sind Codes, deren sich GW-BASIC bedient, um diese Fehler zu kennzeichnen. Im Anhang C dieses Handbuchs finden Sie eine Liste sämtlicher Fehlermöglichkeiten, die GW-BASIC erkennen kann.
Seite 50
90 (falls die Bedingung zum Datenaustausch erfüllt ist) eingegeben. Der RETURN-Befehl fordert GW-BASIC auf, zu den Befehl zurückzukehren, der unmittelbar auf dem folgte, der GW-BASIC in das Unterprogramm schickte, In unserem Fall nach Zeile 100. Hier wäre es möglich gewesen, einen Befehl GOTO 180 zu benutzen, um den Namen des Unterpro...
Seite 51
EINFÜHRUNG Befehle, so bewegt sich hier GW-BASIC tatsächlich am Fleck, um Ihnen genügend Zeit zu geben, die Anzeige am Bildschirm lesen zu können, bevor das nächste Namenspaar aus dem Unterprogramm am Bild schirm erscheint. Ist die Ablesezeit zu kurz, ist die Anzahl der Schleifen...
Bildschirmeditor Dieser Abschnitt beschreibt die Verwendung der Tastatur Ihres Compu ters in Hinblick auf das Schreiben und Editieren von GW-BASIC-Pro- grammen. Wenn Sie mit der Belegung und den Grundfunktionen der Tastatur noch nicht vertraut sind, sollten Sie zunächst die entsprechen...
Anfang des vorausgehenden Wortes. Der Cursor bewegt sich an das Ende der logi <End> schen Zeile, d.h. an das Ende der GW-BASIC- Zeile (die über den Rand einer Bildschirmzeile hinausgehen kann). Diese Funktion wird beson ders dann benützt, wenn eine schon bestehende Programmzeüe erweitert werden soll.
Seite 55
GW-BASIC kehrt auf die Befehlsebene („Ok“) zurück, ohne irgendwelche Veränderungen, die an der gerade editierten Zeile vorgenommen wurden, zu speichern. Die Zeile bleibt am Bild schirm erhalten. (Bei Betätigung der Abschluß taste (CR) wird an GW-BASIC eine neue Zeile übergeben). GW-BASIC...
Seite 56
<Control<C R» nannten Zeilenvorschub, d.h. der Cursor springt zur nächsten Zeile, jedoch die Programmzeile wurde noch nicht an GW-BASIC übergeben. Die so entstandenen Leerstellen am Ende der obe ren Zeile haben keinerlei Auswirkung auf den Inhalt des Programms. Diese Funktion ist...
Seite 57
BILDSCHIRMEDITOR Die wirksamste Methode, die verschiedenen Editorfunktionen zu ler nen, ist die Übung. Laden Sie einfach GW-BASIC wie üblich und schrei ben Sie einige Programmzeilen. Beachten Sie jedoch dabei, daß jede Pro grammzeile aus einer Zeilennummer gefolgt von mindestens einer Leer...
Seite 58
Zeile unterschei den, sollten Sie die AUTO-Punktion durch Betätigung von Control- Break abschalten. • Eine Anzahl von GW-BASIC reservierten Wörtern kann mit Hilfe der Alt-Tastenkombination eingegeben werden, so läßt z.B. die Tastenkombination Alt-P das Wort PRINT am Bildschirm erschei...
Seite 59
F8 TROFF <CR> F9 KEY F10 SCREEN 0,0,0 <CR> GW-BASIC verwendet die unterste Zeile des Bildschirms, um das Inhaltsverzeichnis dieser Funktionstasten darzustellen. Dieser Teil des Bildschirm kann ein- und ausgeschalten werden ebenso kann die Belegung dieser Tasten mit Hilfe des KEY-Befehls geändert werden.
Breite von 80 Zeichen bzw. 8 Seiten mit einer Breite von 40 Zeichen spei chern kann. TEXTMODUS Im Textmodus geht GW-BASIC davon aus, daß der Bildschirm 25 Zeilen aufweist, die mit dem Text des GW-BASIC-Zeichensatzes, beschrieben werden können. Jede Zeile umfaßt 40 oder 80 Zeichen (die Zeilenlänge wird mit dem WIDTH-Befehl gesetzt).
Seite 62
ANZEIGE A M BILDSCHIRM Farbgerät stehen 16 Farben zur Verfügung (die Zahl bei jeder Farbe bedeutet die GW-BASIC Kennummer). Die im Textmodus zur Verfügung stehenden Farben sind: 0 schwarz 8 grau 1 dunkelblau 9 hellblau 2 dunkelgrün 10 hellgrün 3 zyan...
Seite 63
Besitzen Sie eine mathematische Vorbildung, werden Sie bemerken, daß bei diesem Koordinatensystem keine kartesischen Koor dinaten verwendet werden. In GW-BASIC gibt es einen Befehl (WIN DOW), mit dem Sie Ihr eigenes Koordinatensystem setzen können, wobei Sie ebenfalls auf Wunsch das kartesische Koordinatensystem ver-...
Seite 64
Die vorausgegangene Erläuterung und die nachfol gende Einführung in die Grafikmodi beziehen sich auf den Bildschirm in Form von Koordinaten, wie sie am Anfang durch GW-BASIC gesetzt wur den, nämlich mit ihrem Ursprungspunkt in der linken Ecke oben am Bildschirm und ihrem maximalen Y-Wert unten am Bildschirm.
Koordinaten angegeben. Folglich sprechen die Koordinaten 160,100 bei Verwendung der Standardauflösung einen Punkt im mittleren Bildschirmbereich an. GW-BASIC bietet zwei ver schiedene Methoden an, um einen Punkt auf dem Bildschirm anzuspre chen. Sie können einen Punkt bezogen auf die linke obere Ecke des Bild...
Erläuterungen und die folgende Einführung in den Graphik modus beziehen sich auf den Bildschirm in Form von Koordinaten, wie sie am Anfang von GW-BASIC gesetzt wurden, d.h. mit ihrem Ursprung spunkt in der linken Ecke oben und ihren maximalem Y-Wert unten am Bildschirm.
ANZEIGE A M BILDSCHIRM dem GW-BASIC Textmodus am Büdschirm ausgeben. Während bei der Standardauflösung 40 Zeichen auf einer Zeile ausgegeben werden kön nen, ist es möglich, bei hoher Auflösung bis zu 80 Zeichen darzustellen. Die einzelnen Zeichen werden in weiß auf schwarzem Hintergrund aus...
Seite 68
Das Programm führt am Bildschirm eine punktweise Zeichnung aus, wobei Sie mit der Ziffemtastatur die einzelnen Punkte richtungsmäßig steuern können. Sie können bestimmen, ob die GW-BASIC-Koordina- ten (bisher in diesem Kapitel verwendet) oder die richtigen kartesischen Koordinaten für die graphische Zeichnung gültig sind. Durch Änderung einer einzigen Programmzeile können Sie sogar einen anderen Punkt als...
Seite 69
Sie möchten dies gerne später ausprobieren (löschen Sie einfach das Wort REM aus Zeile 30 und setzen Sie dieses Wort am Anfang der Zeile 40 ein). Sie könnten sogar eine Art horizontaler bzw. vertikaler Verzer rung durch Veränderung der Proportionen zwischen den X und Y-Werten hervorrrufen. GW-BASIC...
Seite 70
Tastatur steuern. Wenn Sie beim Steuern des Zeichnungsvorgangs das kleine x eingeben, dann springt GW-BASIC nach Zeile 510, worauf am Bildschirm der T ext- modus herausnehmen! wiederhergestellt wird. Sie haben auch die Mög lichkeit, eine Auswahl von weiteren graphischen Funktionen an diesem Punkt einzufügen, z.B.
Seite 71
Nach jeder Bewegung am Bildschirm bzw. Farbeinstellung kehrt GW- BASIC hierher zurück. 110 GOSUB 330 120 IF K $-“x” THEN GOTO 510 130 IF K$=“c” THEN GOSUB 370:GOTO 110 140 IF K$(“l ” OR K$)“9” THEN GOTO 110 150 IF ERON$=“Y ’ THEN PRESET (EXX,WYE) 3-11 GW-BASIC...
Seite 72
Greben Sie die augenblicklich angesprochenen Koordinaten aus imd keh ren Sie zur nächsten Eingabe auf der Tastatur zurück. 290 LOCATE 25,1:PRINT EXX;”, “;WYE; 300 GOTO 110 GW-BASIC gelangt erst hierher, wenn Taste 5 betätigt wurde 310 SWAP ERON$,EROFF$ 320 GOTO 110 Unterprogramme...
Seite 73
ANZEIGE A M BILDSCHIRM 480 COLOR, PAL 490 LOCATE 25,1:PRINT B$; 500 RETURN Wenn Sie während des Zeichenvorgangs x eingeben, gibt Gw-BASAIC folgendes aus: 510 REM ***** Farbfunktionen? 520 SCREEN 0 530 END GW-BASIC 3-13...
Jeder Befehl sowie jede Funktion ist kurz beschrieben, ohne auf Syntax details einzugehen. Wenn Sie also GW-BASIC-Anfänger sind, werden Sie auf einen Blick in der Lage sein, die GW-BASIC-Funktionen zu fin den, die einer ganz bestimmten Programmiersituation entsprechen. Sie GW-BASIC...
Seite 76
Einige vielseitige Befehle und Funktionen erscheinen unter mehr als einer Überschrift. GW-B ASIC-V erwaltung Löscht Programmvariablen und begrenzt CLEAR wähl weise den für GW-BASIC zur Ver fügung stehen den Speicherraum Fährt mit dem Ablauf eines Programms CONT nach einer Unterbrechung (break) fort Definiert ein Speichersegment im Arbeits...
Seite 77
Eine Funktion, die eine spezifizierte Varia blenadresse an den Arbeitsspeicher gibt. Diese Information wird manchmal von Maschinensprachprogrammen benötigt. WAIT GW-BASIC hält das Programm an, bis ein bestimmter Wert einen spezifizierten Port erreicht. Das Editieren von Programmen AUTO Erzeugt Programmzeilennummern auto...
Datei weiter LLIST Wie LIST, jedoch werden die Programmzei len auf dem Drucker ausgegeben Löscht den Arbeitsspeicher, einschließlich aller Programme, außer GW-BASIC RENUM Numeriert Programmzeilen neu Belegt eine Funktionstaste auf der Tastatur KEY ON/OFF/LIST Schaltet die Anzeige der Funktionstasten...
GW-BASIC-BEFEHLE UND FUNKTIONEN Änderung der Systemparameter des ENVIRON Betriebssystems Eine Funktion, die darüber informiert, ob das Dateiende erreicht ist. Liest einen Datensatz von einer Datei mit GET # wahlfreiem Zugriff Definiert ein Feld in einem Puffer für wahl FIELD # freien Zugriff auf Dateien, und kann so ver...
Seite 80
GW-BASIC-BEFEHLE UND FUNKTIONEN PRINT # Schreibt eine Liste von Ausdrücken oder Daten PRINT #..USING auf eine Datei Schreibt Daten von einem Pufferspeicher für wahlfreien Dateizugriff in eine Datei Schließt alle Plattendateien RESET RMDER Löscht das angegebene Inhaltsverzeichnis Teilt die Adresse des Dateisteuerblocks...
Seite 81
GW-BASIC-BEFEHLE UND FUNKTIONEN ON KEY...GOSUB GW-BASIC überträgt die Programmsteue rung unter Angabe der Anfangszeile an eine Unterroutine, wenn eine bestimmte Cur sor-Steuertaste oder Punktionstaste betä tigt wird Gibt die Lichtgriffel-Koordinaten an PEN ON/OFF/STOP Schaltet die Lichtgriffel-Funktion ein und READ Liest den nächsten Wert von der DATA-...
GW-BASIC-BEFEHLE UND FUNKTIONEN Zeichen auf Bildschirm oder Drucker Löscht den Büdschirm COLOR Stellt die Farbe für die numerische Ein gabe, die Hintergrundfarbe und die Farbe der Eingrenzung bei Farbbildschirmen ein CSRLIN Gibt die Bildschirmzeilennummer (1...25) an, in der sich der Cursor befindet...
GW-BASIC-BEFEHLE UND FUNKTIONEN Ist ähnlich dem Print-Befehl. WRITE Siehe auch „Das Editieren von Programmen“ Graphik Zeichnet einen Kreis mit angegebenem CIRCLE Mittelpunkt und Radius, einen Bogen oder auch eine Ellipse Wählt eine der beiden Farbpaletten und die COLOR Hintergrundfarbe Zeichnet eine vom Benutzer angegebene...
Seite 84
GW-BASIC-BEFEHLE UND FUNKTIONEN Setzt unter anderem den Graphikmodus SCREEN VIEW Beschränkt oder übermittelt Änderungen auf einen bestimmten Bereich am Bild schirm WINDOW Definiert Bildschirmkoordinaten neu Der Lautsprecher Der Lautsprecher erzeugt einen Piep-Ton BEEP ON PLAY Ständige Hintergrundmusik während der Ausführung eines Programmes PLAY Für Musiker.
GW-BASIC-BEFEHLE UND FUNKTIONEN Programmvariablen und Zeichenumwandlung Gibt den ASCII-Code für das erste Zeichen einer Zeichenkette an CDBL,CSNG Setzt einen numerischen Wert in „einfache Genauigkeit“ oder „doppelte Genauigkeit“ CINT Wechselt einen numerischen Wert durch Runden in eine Ganzzahl um (nicht durch...
Seite 86
GW-BASIC-BEFEHLE UND FUNKTIONEN Wie FEX, mit der Ausnahme, daß negative Zahlenauf den nächstniedrigen Ganzzahl wert gesetzt werden (z.B. -3.67 wird -4) HEX$Tauscht einen numerischen Wert in eine hexadezimale Zeichenkette um Teilt einer Variablen einen Wert zu MKI$,MKS$,MKD$ Setzt eine Ganzzahl oder eine Zahl mit „ein...
Seite 87
GW-BASIC-BEFEHLE UND FUNKTIONEN LEFT$ Liefert den ersten Teil einer Zeichenkette Gibt die Länge einer Zeichenkette an LSET Rückt eine Zeichenkette nach links auf MLD$ Ein Befehl und eine Funktion, die verwen det wird, um einen Teil einer Zeichenkette herauszuziehen oder zu ersetzen...
GW-BASIC-BEFEHLE UND FUNKTIONEN Mathematische Funktionen Gibt den absoluten Wert einer Zahl an Gibt den Arcustangens im Bogenmaß an Gibt den Cosinus eines Winkels im Bogen maß an DEF FN Ermöglicht die Definierung Ihrer eigenen mathematischen Funktionen Exponentialftmktion einstellbaren Grades Diese Funktion wandelt eine Dezimalzahl durch Abrunden in eine Ganzzahl um Wie FIX, mit der Ausnahme, daß...
Wenn die angegebene Bedingung erfüllt ist, führt GW-BASIC einen spezifizierten Befehl oder Befehle aus. Wahlweise können Sie zusätzlich festset zen, was GW-BASIC tun soll, wenn die Bedingung nicht erfüllt ist. NEXT Setzt den Programmablauf am Beginn der „FOR..TO..STEP“-Schleife fort, bis die vor...
Seite 90
Spezifiziert die Programmzeilennummer einer Unterroutine, an welche die Pro grammsteuerung beim Datenübertra gungsvorgang übergeben wird ON ERROR GOTO Findet GW-BASIC einen Fehler, wird die Programmsteuerung an die angegebene Zeile übertragen ON KEY GOSUB Wird eine spezifizierte Funktionstaste oder Pfeiltaste betätigt, so erfolgt eine Übertra...
Seite 91
GW-BASIC-BEFEHLE UND FUNKTIONEN Nach einer Fehlerbehandlung wird die Pro RESUME grammsteuerung an die Zeile zurückgege ben, in welcher der Fehler auftrat, oder in die folgende oder eine andere angegebene Zeile STRIG ON/OFF/STOP Sperren und Freigeben der Joystick-Taste oder der Programmunterbrechung...
Seite 92
2.0. Sie ist vollkommen kompatibel mit dem IBM Advanced Basic 2.0. Dies bedeutet, daß Sie mit GW-BASIC Programme sowohl auf dem NCR PC als auch auf dem IBM PC verwenden können, die unter IBM Advanced Basic 2.0 oder einer früheren Version geschrieben wurden.
Seite 93
EOF kann zur Neuzuordnung des Standardeingabegerätes ange wandt werden. Neue Befehle (ENVIRON, MKDIR, CHDIR und RMDIR) ermögli chen die Manipulation von NCR-DOS-Pfaden (paths) und den Zugriff auf andere Inhaltsverzeichnisse. • Der DELETE-Befehl: wenn keine Zeilennummer nach dem Binde strich angegeben ist, wird das restliche Programm bis zum Ende gelöscht.
Seite 94
GW-BASIC-BEFEHLE UND FUNKTIONEN Die Syntaxbezeichnung Die Beschreibungen der GW-BASIC-Befehle und Funktionen verwen den die folgende Bezeichnung zur Erklärung der „Regeln“, welche die Schreibweise des Befehls oder der Funktion festlegen: Eckige Klammern zeigen an, daß der enthaltene Eintrag wahlweise möglich ist.
Seite 95
GW-BASIC-BEFEHLE UND FUNKTIONEN Zeigt den richtigen Syntax für den Befehl oder die Punk Syntax: tion. Siehe Kapitel 1 in diesem Handbuch hinsichtlich Syntax-Beschreibungen. Wird der Begriff „dateispez“ als eine Option im Syntax benutzt, so bezieht er sich auf eine Kombination von Gerätebezeichnung und Dateiname, im richtigen For...
Seite 96
GW-BASIC-BEFEHLE UND FUNKTIONEN ABS Funktion Syntax: ABS(X) Verwendung: Ergibt den absoluten Wert des Ausdruckes X. Beispiel: PRINT ABS(7*(-5)) errechnet GW-BASIC 4-22...
Seite 97
GW-BASIC-BEFEHLE UND FUNKTIONEN ASC Funktion ASC(X$) Syntax: Ergibt einen numerischen Wert, der dem ASCII- Verwendung: Code des ersten Zeichens des Textes X$ ent spricht. (Siehe Anhang B, ASCII-Codes). Bemerkung: Wenn X$ leer ist, wird die Fehlermeldung “Illegal function call” (unzulässiger Funktionsaufruf) aus...
Seite 98
Der Ausdruck X kann von beliebigem numerischen Bemerkung: Typ sein. Das Ergebnis wird mit „einfacher Genauigkeit“ ermittelt, wenn Sie beim Laden von GW-BASIC die /D-Option nicht angeben. 10 INPUT X Beispiel: 20 PRINT ATN(X) Wenn Sie 3 eingeben, wird der ausgegebene Wert 1.249046 sein.
Seite 99
Bemerkung: nummer> und erhöht jede nachfolgende Zeile um <abstand>. Werden keine Werte angegeben, so nimmt GW-BASIC als Standardwert 10 an. Wird auf <zeilennummer> zwar ein Komma, jedoch kein <abstand> eingegeben, so wird der Wert <ab- stand> vom zuletzt eingegebenen AUTO-Befehl übernommen.
Seite 100
GW-BASIC-BEFEHLE UND FUNKTIONEN BEEP BEEP Befehl BEEP Syntax: Zur Erzeugung eines Tones von 830 Hz im Laut Verwendung: sprecher, für eine Dauer von ungefähr 1/4 Sekunde (genauer: 240 ms). BEEP hat die selbe Wirkung wie Print CHR$(7); Bemerkung: (siehe Anhang B).
Seite 101
BLOAD Befehl BLOAD <dateispez>L<offset>] Syntax: <dateispez> ist die Bezugnahme auf eine Datei, in Übereinstimmung mit den NCR-DOS Dateibenen nungsrichtlinien (siehe Kapitel 5). <offset> ist ein numerischer Ausdruck im Bereich 0 bis 65535. Dieser stellt die Offset-Adresse dar, an welche die mit <dateispez> angegebene Datei gela...
Seite 102
GW-BASIC-BEFEHLE UND FUNKTIONEN BLOAD Beispiel: 10 DEF SEG=&H6000 20 BLOAD“PROG1 ” ,&HF000 Dieses Beispiel setzt die Segmentadresse auf hexa dezimal 6000 und lädt PROG1, beginnend bei F000 Bytes (hexadezimal) über der Segmentadresse. (Sie sind nicht gezwungen hexadezimale Werte zu verwenden. Die entsprechenden Dezimalgegen...
Seite 103
BSAVE Command BSAVE <dateispez>,<offset>,<länge> Syntax: <dateispez> ist die Bezugnahme auf eine Datei, in Übereinstimmung mit den NCR-DOS Dateibenen nungsrichtlinien (siehe Kapitel 5). <offset> ist ein numerischer Ausdruck im Bereich 0 bis 65535. Dies ist die Offsetadresse, von dem zuletzt in einem DEF SEG-Befehl definierten Pro...
Seite 104
GW-BASIC-BEFEHLE UND FUNKTIONEN BSAVE Dieses Beispiel speichert 256 Bytes, beginnend bei der Speicheradresse 6000:F000, das heißt, hexade zimal FOOO Bytes über der Segmentadresse hexa dezimal 6000, in der Datei PROG1. (Sie sind nicht gezwungen hexadezimale Werte zu verwenden. Die entsprechenden Dezimalgegenwerte sind respek...
Seite 105
GW-BASIC-BEFEHLE UND FUNKTIONEN CALL CALL Command CALL <variabler name>[(<argumente>)] Syntax: Wobei <variabler name> eine Adresse enthält, die den Ausgangspunkt der Unterroutine im Speicher darstellt. Dieser Ausgangspunkt ist eine Offset- Adresse, die sich auf das zuletzt definierte Segment bezieht. <variabler name> muß kein Feldvaria...
Seite 106
GW-BASIC-BEFEHLE UND FUNKTIONEN CDBL CDBL Funktion CDBL(X) Syntax: Zur Umwandlung von X in eine Zahl mit doppelter Verwendung: Genauigkeit Beispiel: 10 A = 454.67 20 PRINT CDBL(A) ergibt 454.6700134377344 Hinweis: Auch durch diese Funktion kann eine Zahl natür lich nicht genauer werden, als vor der Umwandlung.
Seite 107
Komma für <zeilen- nummer> stehen. Zum Beispiel ist CHAIN “NEXTPROG”, ALL rich tig, CHAIN “NEXTPROG”, ALL dagegen nicht. Im letzten Fall nimmt GW-BASIC an, daß ALL ein Variablenname ist und verwendet es als eine Zei lennummer. GW-BASIC...
Seite 108
RENUM-Befehl beeinflußt. COMMON VAR1, VAR2, VAR $ Beispiele: CHAIN „NEWPROG“ veranlaßt GW-BASIC dieses Programm zu laden, und die Programmsteuerung an den Beginn des Programms zu übergeben. Die drei unter COM MON genannten Variablen werden dem mit CHAIN angehängten Programm zur Verfügung gestellt.
Seite 109
GW-BASIC-BEFEHLE UND FUNKTIONEN CHAIN Es ist möglich einen Bereich von Programmzeilen zu löschen, um genügend Speicherplatz für das mit CHAIN angehängte Programm zur Verfügung zu haben. Zum Beispiel: CHAIN MERGE “OVERLY2”, 1000, ALL, DELETE 1000-2000 löscht die Zeilen 1000 bis 2000 des laufenden Pro...
Seite 110
GW-BASIC-BEFEHLE UND FUNKTIONEN CHDIR CHDIR Befehl Syntax: CHDIR <pfad> Änderung des aktuellen Inhaltsverzeichnisses Verwendung: Bemerkung: <pfad> ist ein Zeichenkettenausdruck der 128 Zei chen nicht überschreitet, und bestimmt das neue Inhaltsverzeichnis, das jetzt das aktuelle Verzeich nis ist. Wenn die folgende hierarchische Struktur für die Beispiele: Änderung zum Inhaltsverzeichnis SUE vom...
Seite 111
Laufwerk angegeben wird. Zum Bei spiel: CHDIR “C:SALES” Hinweis: Wenn Ihr Programm auf eine Datei zugreift, sucht GW-BASIC im aktuellen Platten-Inhaltsverzeich- nis nach dieser Datei. (Die Syntaxbeschreibungen in diesem Kapitel bezeichnen Dateizugriffe mit dem Ausdruck <dateispez>). Hat Ihre Tastatur keine (\)-Taste, so können Sie auch die (/)-Taste zur Bezeichnung von Pfaden ver...
Seite 112
Sekunden lang ertönen: 10 B$=STRING$ (120,CHR$(7)) 20 PRINT B$; Das nächste Beispiel programmiert die Funktions taste 1 die GW-BASIC-Kommandoliste auszuge ben, ohne daß <CR> betätigt werden muß: KEY 1, “LIST” + CHR$(13) Die CHR$-Funktion ist hilfreich bei der Anzeige Hinweis: von Zeichen, für welche die Betätigung einer einzel...
Seite 113
GW-BASIC-BEFEHLE UND FUNKTIONEN CINT CINT Funktion CENT(X) Syntax: Zur Umwandlung von X in eine Ganzzahl durch Verwendung: Rundung der Stellen nach dem Komma. Befindet sich das Ergebnis nicht im Bereich -32768 Bemerkung: bis 32767, so tritt die Fehlermeldung „Überlauf4 (overflow) auf.
Seite 114
Farbe (1 bis 3) der aktuellen Palette ausgewählt. Die Hintergrundfarbe (0) ist ebenfalls zulässig. Wenn keine Farbe angegeben wird, ver wendet GW-BASIC die Farbe 3. In einfarbiger Gra phik mittlerer und hoher Auflösung kann die Farbe 1 (für weiß) oder 0 (für schwarz) sein. Der Standard...
Seite 115
GW-BASIC-BEFEHLE UND FUNKTIONEN CIRCLE mit mittlerer Auflösung beträgt, wird eine Ellipse angezeigt. Ist der Wert, den Sie angeben, kleiner als 5/6 (mitt lere Auflösung: 5/12), so hat die Ellipse die Form eines in der Horizontalen gestreckten Achse (siehe Beispiel). Die ersten beiden zu bearbeitenden Werte (argu...
Seite 116
Das folgende Beispiel bewirkt die Darstellung eines Bogens in mittlerer Auflösung in der oberen rech ten Ecke des Bildschirms: 10 SCREEN 2 Beispiel: 20 CIRCLE (650,-10),100 Sobald eine Ellipse gezeichnet ist, wird der zuletzt angesprochene Bildschirmpunkt von GW-BASIC als Mittelpunkt der Ellipse angenommen. GW-BASIC 4-42...
Seite 117
GW-BASIC-BEFEHLE UND FUNKTIONEN CLEAR CLEAR Befehl CLEARS [<ausdruck 1 >] [,<ausdruck2>]] Syntax: Verwendung: Setzt alle numerischen Variablen auf Null, löscht alle Zeichenvariablen, und schließt alle geöffneten Dateien. Wahlweise kann die obere Speichergrenze und der für den „Stack“ (Stapelung) reservierte Speicherplatz gesetzt werden.
Seite 118
GW-BASIC-BEFEHLE UND FUNKTIONEN CLEAR Beispiele: CLEAR führt nur die obengenannten Aktionen durch. CLEAR,32768 Setzt zusätzlich den maximalen Arbeitsbereich auf 32 KB. CLEAR,2000 Reserviert 2000 Bytes für den “Stack”. CLEAR,32786,2000 Führt CLEAR durch, setzt den maximalen Arbeits bereich auf 32 KB, und reserviert 2000 Bytes für den “Stack”.
Seite 119
GW-BASIC-BEFEHLE UND FUNKTIONEN CLOSE CLOSE Befehl CLOSE [[#] <dateinummer>[, [#)<dateinum- Syntax: mer...>]...] Zum Abschließen der Ein-/Ausgabe an eine Datei, Verwendung: oder ein Gerät. Der CLOSE-Befehl hat die gegen teilige Wirkung des OPEN-Befehls. <dateinummer> ist die Nummer, unter welcher Bemerkung: die Datei eröffnet wurde. Ein CLOSE-Befehl ohne zusätzliche Angaben schließt alle geöffneten...
Seite 120
GW-BASIC-BEFEHLE UND FUNKTIONEN CLOSE Geräte automatisch. Das Drücken der Tastenkom bination „Control-Break“ während des Programm ablaufs bewirkt dasselbe. Mit dem STOP-Befehl können keine Dateien oder Geräte geschlossen werden. GW-BASIC 4-46...
10 COLOR 12,1 20 CLS Löscht im Textmodus den Bildschirm und stellt die Hintergrundfarbe auf blau (1). Nachfolgender Text (einschließlich der GW-BASIC “Ok”-Meldung) erscheint in hellrot (12). Hinweis: Im Textmodus stellt der COLOR-Befehl alleine den Bildschirm nicht auf die neue Hintergrundfar...
Seite 122
GW-BASIC-BEFEHLE UND FUNKTIONEN ten Textbereich des Bildschirms auf die Hinter grundfarbe um. Auch im Graphikmodus wird CLS nicht benötigt, um die Hintergrundfarbe der Bild schirmanzeige umzustellen. Die Befehle SCREEN und WIDTH stellen den Bildschirmmodus und die Zeilenlänge ein und löschen zusätzlich den Bildschirm.
Seite 123
<rahmen> ist ein numerischer Ausdruck im Be reich 0 bis 15, der die Farbe des Rahmens außer halb der Textwiedergabefläche festlegt. Beim NCR-Bildschirm ist dies aus technischen Grün den nicht möglich. Jedoch wirkt der Befehl auf entsprechende externe Bildschirme, die an den PC 4i angeschlossen werden können.
Seite 124
Am sinnvollsten ist es natürlich, die Farbzusam menstellung so zu wählen, daß ein vernünftiger Kontrast zwischen Hintergrund und Text entsteht. GW-BASIC hindert Sie jedoch nicht daran, zwei mal schwarz zu verwenden. Um diesen unsichtba ren Schrifteffekt zu erzeugen, brauchen Sie nur 0 fin...
Seite 125
GW-BASIC-BEFEHLEUND FUNKTIONEN COLOR Bei einem Adapter mit Farbbildschirm können Sie, um den Text unsichtbar zu machen, jede Farbkenn- zahl zwischen 0 und 7 gemeinsam für <schrift> und <hintergrund> verwenden. Beispiele: COLOR 12 (für einen Adapter mit Farbbild stellt für den Text die Farbe hellrot ein. Die Hinter...
Seite 126
Befehl sollte kein Komma sein. Ein Wert der sich außerhalb des erlaubten Bereichs befindet, kann zu einem unerlaubten Funktionsauf ruf (“illegal function call” error) fuhren. Die Art der Anzeige (Textmodus, niedrige, mittlere oder hohe Graphikauflösung) kann durch den SCREEN-Befehl bestimmt werden. GW-BASIC 4-52...
Seite 127
GW-BASIC-BEFEHLE UND FUNKTIONEN COLOR COLOR Befehl (Graphikmodi) Syntax: COLOR [<hintergruncl>] [,[<palette>] <3iintergrund> ist ein numerischer Ausdruck der die Hintergrundfarbe des Bildschirms angibt. Werte zwischen 0 und 15 sind zulässig. (Siehe COLOR (Textmodus) hinsichtlich der zu diesen Werten gehörenden Farben). <palette> ist ein numerischer Ausdruck mit dem eine der beiden zur Verfügung stehenden Farbpa-...
Seite 128
GW-BASIC-BEFEHLE UND FUNKTIONEN COLOR setzt den Bildschirmmodus 4 (Farbgraphik mit hoher Auflösung), stellt den Hintergrund auf grün, und wählt die Farbpalette 0. 10 SCREEN 4 20 COLOR 4 setzt den Bildschirmmodus 4 und stellt die Hinter grundfarbe auf rot um. Die Farbpalette so wie vor...
Seite 129
Kommunikation durch einen ON COM-Befehl frei (siehe ON COM). Sind diese Routinen freigegeben und ist eine von Null abweichende Zeilennummer im ON COM-Befehl genannt, prüft GW-BASIC vor der Ausführung jedes Befehls, ob ein Signal auf der Kommunikationsleitung anliegt. GW-BASIC über-^ gibt die Programmsteuerung an die vom ON COM- Befehl angezeigte Zeile.
Seite 130
GW-BASIC-BEFEHLE UND FUNKTIONEN C OM M ON COMMON Befehl COMMON <liste der variablen> Syntax: Verwendung: Zur Übergabe von Variablen an ein Programm, das mit CHAIN verkettet wird. Bemerkung: COMMON wird im Zusammenhang mit CHAIN benutzt. COMMON-Befehle können an beliebigen Stellen im Programm erscheinen. Es wird jedoch empfohlen, Sie an den Beginn des Programmes zu stellen.
Seite 131
Mit GOTO kann die Fortsetzung bei einer angegebenen Zeüennummer aufgenom men werden. CONT kann zur Programmfortset zung verwendet werden, nachdem ein Fehler ohne Unterbrechungsroutine GW-BASIC veranlaßt hat, den Programmablauf zu unterbrechen. CONT ist nicht möglich, wenn das Programm wäh rend der Unterbrechung verändert wurde.
Seite 132
GW-BASIC-BEFEHLE UND FUNKTIONEN CONT 10 WIDTH 40 20 FOR LOOP%= 128 TO 255 30 PRINT “Das Zeichen für Code”; LOOP°/o;“ist ”; CHR$(LOOP%) 40 PRINT 50 FOR DLY%= 1 TO 500:NEXT DLY% 60 NEXT LOOP% Hinweis: Der Befehl RUN eignet sich nicht zur Fortsetzung eines Programmes nach einer Unterbrechung, da er für den Speicherinhalt den selben Effekt hat wie...
Seite 133
GW-BASIC-BEFEHLE UND FUNKTIONEN COS Funktion COS(X) Syntax: Ergibt den Kosinus von X in Bogengraden. Verwendung: Bemerkung: Die Berechnung des COS(X) erfolgt mit einfacher Genauigkeit Beispiel: 10 X=2*COS(.4) 20 PRINT X ergibt 1.842122 Zur Umwandlung von Bogenmaß in Winkelgrade: Hinweis: DEGREES=RADIANS* 180/PI wobei PI (einfache Genauigkeit) 3.141593 ist...
Seite 134
GW-BASIC-BEFEHLE UND FUNKTIONEN CSNG CSNG Funktion CSNG(X) Syntax: Wandelt X in eine Zahl mit einfacher Genauigkeit Verwendung: 10 A#=482.342122 20 PR IN T CSNG(A ergibt 482.3421 Siehe die Funktionen CINT und CDBL zur Umwandlung in Ganzzahlwerte und Zahlen mit doppelter Genauigkeit.
Seite 135
GW-BASIC-BEFEHLE UND FUNKTIONEN CSRLIN CSRLIN Funktion CSRLIN Syntax: Verwendung: Variable, welche die aktuelle Zeilenposition des Cursors enthält (0 bis 24). Beispiel: Im folgenden Beispiel wird von Zeile 10 die aktuelle Zeilenposition in L% eingelesen. Zeile 20 liest die aktuelle Spaltenposition in C°/o ein. Zeile 30 zeigt...
Seite 136
Wert auf Y. Wahr scheinlich war N$ ursprünglich eine Zahl, die mit Hilfe der MKS$-Funktion auf die Datei geschrieben wurde. Die Funktionen MKI$, MKS$ und MKD$ führen Hinweis: die umgekehrten Vorgänge durch, das heißt, sie wandeln numerische Werte in Zeichenketten um. 4-62 GW-BASIC...
Verwendung: rischen (string-) Konstanten, die durch den READ- Befehl eines Programmes abgefragt werden. Bemerkung: DATA weist GW-BASIC nicht direkt an, eine Anweisung auszuführen, und kann deshalb an beliebiger Position innerhalb eines Programmes stehen. Eine DATA-Liste kann so viele Konstanten enthalten, wie in eine Programmzeile passen. Es können beliebig viele DATA-Zeilen in einem Pro...
Seite 138
Wenn der <zeichenkettenaus- druck> nur eine Ziffer für den Tag oder Monat ent hält, nimmt GW-BASIC eine 0 davor an. Wenn nur zwei Ziffern für das Jahr angegeben werden, nimmt GW-BASIC an, daß dieses in das 20. Jahrhundert fällt und setzt “19”...
Seite 139
GW-BASIC-BEFEHLE UND FUNKTIONEN DATE§ DATE$ Funktion Syntax: DATE$ Verwendung: Eine Variable, die das aktuelle Datum enthält. (Ver wenden Sie zum Einstellen des Datums den DATE$-Befehl.) Bemerkung: Die DATE$-Funktion zeigt eine 10-stellige Zei chenkette in der Form mm-dd-yyyy an, wobei mm für Monat steht (ol bis 12), dd für den Tag (01 bis...
DEF FN Befehl Syntax: DEF FN <name>[(parameterliste>)]= <funktionsdefinition> Verwendung: Definition und Benennung einer Funktion, zusätz lich zu den von GW-BASIC bereitgestellten Funk tionen. Bemerkung: <name> muß ein gültiger Variablenname sein. Dieser Name wird, unter Voranstellung von FN, der Name der Funktion.
Seite 141
DEF FN-Befehl definiert werden, andernfalls erscheint die Fehlermeldung “undefined user function” (Benutzerfunktion nicht definiert). Eine Funktion kann mehr als einmal definiert werden. GW-BASIC bezieht sich immer auf die zuletzt angegebene Zuordnung. Zur Berechnung der Hypotenuse eines rechtwinkli...
$) stets gegen über DEF-Typ vorrangig. (Siehe den Abschnitt “Variablen” in Kapitel 1.) Werden keine Befehle zur Typendeklaration ange troffen, so geht GW-BASIC davon aus, daß es sich bei sämtlichen Variablen ohne Deklarationszei chen um Variablen mit einfacher Genauigkeit han delt.
Seite 143
Funktionsaufruf). Der vorhergehende Wert wird in diesem Fall beibehalten. Wird die Option “Adresse” weggelassen, so wird das zu benutzende Segment auf das GW-BASIC Daten segment (DS) gesetzt. Hier handelt es sich um den ursprünglichen Standardwert. Wird die Option “Adresse” angegeben, so muß sie auf eine 16-Byte-Grenze ausgerichtet sein.
Seite 144
GW-BASIC-BEFEHLE UND FUNKTIONEN DEFSEG DEF und SEG müssen durch ein Leerzeichen von Hinweis: einander getrennt werden. Ansonsten interpretiert GW-BASIC DEFSEG=100 so, als müsse der Wert 100 der Variablen DEFSEG zugewiesen werden. 4-70 GW-BASIC...
GW-BASIC-BEFEHLE UND FUNKTIONEN DEFUSR DEF USR-Befehl DEF USR [<Ziffer>] =<ganzzahliger Ausdruck> Syntax: Gibt die Anfangsadresse einer Subroutine in der Verwendung: Assemblersprache an. Bemerkungen: “Ziffer” kann eine beliebige Ziffer von 0 bis 9 sein. Die Ziffer entspricht der Nummer der USR- Subroutine, deren Adresse angegeben wird.
DELETE [<Zeilennummerl>] [-<Zeilennummer2>] DELETE [<Zeilennummerl>-] Verwendung: Löschen von Programmzeilen. Bemerkungen: GW-BASIC kehrt stets auf Befehlsebene (“Ok”) zurück, nachdem ein DELETE-Befehl ausgefuhrt wurde. Ist eine angegebene Zeilennummer nicht vorhanden, so kommt es zu der Fehlermeldung “Illegal function call” (Unzulässiger Funktions aufruf).
GW-BASIC-BEFEHLE UND FUNKTIONEN DIM Befehl Syntax: DIM Variable (Indizes) [,Variable(Indizes)] ... Verwendung: Gibt die Höchstwerte der Indizes von Matrixvaria blen an und weist den Speicherplatz dementspre chend zu. Bemerkungen: Wird der Name einer Matrixvariablen ohne einen DIM-Befehl benutzt, so wird davon ausgegangen, daß...
Zeichenfolge, auf das wahlweise ein oder mehrere Parameter folgen. Der Zeichen folgenausdruck definiert ein Objekt, das auf dem Bildschirm gezeichnet wird, wenn GW-BASIC den DRAW-Befehl ausführt. Die folgenden Bewegungsbefehle beginnen die Bewegung ab den Koordinaten des letzten Punktes, auf den mit einem anderen Sprachbefehl oder einem anderen GW-BASIC Grafik-Befehl (z.B.
Seite 149
GW-BASIC-BEFEHLE UND FUNKTIONEN DRAW werden x und y zu den Koordinaten des letzten Punktes hinzugefügt, auf den Bezug genommen wurde. Der auf diese Weise angegebene Punkt wird mit dem letzten Punkt verbunden, auf den mit einer Linie Bezug genommen wurde. Wird kein + oder - hinzugefiigt, so wird von dem letzten Referenz...
Seite 150
Palette ist. <n> kann jedoch auch 0 darstellen, die aktuelle Hinter grundfarbe (siehe COLOR). Wird keine Farbe angegeben, so benutzt GW-BASIC 3. Bei ein farbiger Grafik mittlerer und hoher Auflösung kann <n> 0 (schwarz) oder 1 (weiß) sein.
Seite 151
GW-BASIC-BEFEHLE UND FUNKTIONEN DRAW X<Zeichenfolgenvariable> Stößt DRAW auf diesen Befehl, so führt er die in den „Variablen“ stehenden Zeichenbefehle aus, bevor der Rest der Befehlsfolge verarbeitet wird. Auf diese Weise kann eine zweite Zei chenfolge innerhalb einer Zeichenfolge aus- geführt werden.
Seite 152
GW-BASIC-BEFEHLE UND FUNKTIONEN DRAW Die folgenden Zeilen bewegen den Punkt, auf den als letztes Bezug genommen wurde, in die Grenzen des Kästchens und zeichnen das Kästchen mit der Farbe 2 aus. Der Umriß wird mit Farbe 1 aus der gerade ausgewählten Palette gezeichnet: 30 DRAW “C2”...
Seite 153
GW-BASIC-BEFEHLE UND FUNKTIONEN EDIT EDIT-Befehl EDIT<Zeilennummer> Syntax: Mit <Zeilennummer> wird die Nummer einer Pro grammzeile angegeben. Ist keine derartige Zeile vorhanden, so wird eine Fehlermeldung “Unde fined Line Number” (Nichtdefinierte Zeilennum mer) angezeigt. Verwendung: Zeigt eine Zeile zur Editierung an.
Seite 154
GW-BASIC-BEFEHLE UND FUNKTIONEN END-Befehl Syntax: Verwendung: Dieser Befehl beendet die Programmausführung, schließt sämtliche Dateien ab und kehrt auf Befehlsebene (“Ok”) zurück. Bemerkungen: END kann an beliebiger Stelle in das Programm gesetzt werden, um die Ausführung zu beenden. Im Gegensatz zu dem STOP-Befehl führt END nicht zum Ausdrucken einer “Break”- (Unterbrechungs)-...
Gleichzeichen oder ein Leerzeichen stehen. Enthält “Text” nur ein Semikolon, so wird er als nicht vorhanden betrachtet. Beispiel- Mit dem folgenden Befehl kann GW-BASIC auf das Inhaltsverzeichnis SALES in Laufwerk A zugreifen. ENVIRON “PATH = A:\ SALES” Hinweis: ENVIRON läßt nur Zeichenfolgen als Parameter zu.
PRINT ENVIRON$(l) zeigt PATH = A:\ SALES an. Mit dem folgenden Programm wird die Umge bungszeichenfolgen-Tabelle von GW-BASIC in einer Matrix gesichert, damit sie für ein Mutter- Kind-Verfahren geändert werden kann. Nachdem das Mutter-Kind-Verfahren beendet ist, wird die Umgebungstabelle wieder hergestellt.
Seite 157
GW-BASIC-BEFEHLE UND FUNKTIONEN ENVIRON§ 20 N.PARMS = 1 ’Ursprüngliche Anzahl von Parametern 30 WHILE LEN(ENVTRON$(N.PARMS)) > 0 40 ENV.TBL$(N.PARMS)= ENVIRON$(N.PARMS) 50 N.PARMS= N.PARMS+1 60 WEND 70 N.PAMS = N.PARMS-1 ’an richtige Zahl anpassen 80 ’Jetzt neue Umgebungs-Tabelle speichern 90 ENVIRON “MYCHHD.PARM1 = SORT BY NAME”...
Seite 158
GW-BASIC-BEFEHLE UND FUNKTIONEN EOF-Funktion Syntax: EOF (<Dateinummer>) Testet, ob das Ende einer Datei erreicht ist. Verwendung: EOF gibt einen wahren Wert (-1) zurück, wenn Bemerkungen: keine weiteren Daten mehr in der Datei stehen. Die Datei ist leer, wenn die nächste Eingabeopera...
Seite 159
GW-BASIC-BEFEHLE UND FUNKTIONEN ERASE ERASE-Befehl ERASE <Liste mit Matrixvariablen> Syntax: Löscht Matrizen aus dem Speicher. Verwendung: Bemerkungen: Matrizen können neu dimensioniert werden, nach dem sie gelöscht wurden. Der vorher den Matrizen im Speicher zugewiesene Platz kann jedoch auch für andere Zwecke benutzt werden. Wird versucht, eine Matrix neu zu dimensionieren, ohne sie zuerst zu löschen, so wird eine Fehlermeldung “Duplicate...
Seite 160
Zeile ziemlich am Anfang des Programms aufgetre ten“ Beispiel: Siehe ON ERROR ERR und ERL sind System- und keine Programm- Hinweis: Variablen. Sie können Ihnen keine Werte zuweisen. Sie können nur die von GW-BASIC in diese Varia blen gesetzten Werte betrachten. 4-86 GW-BASIC...
BASIC benutzten Fehlercodes. (Es wird empfoh len, die höchsten verfügbaren Werte zu benutzen, damit die Kompatibilität aufrecht erhalten werden kann, wenn weitere Fehlercodes zu GW-BASIC hin zugefugt werden.) Dieser vom Benutzer definierte Fehlercode kann dann bequem in einer Fehlerbear beitungsroutine verarbeitet werden. (Siehe Bei...
Seite 162
GW-BASIC-BEFEHLE UND FUNKTIONEN ERROR 400 IF ERR=210 THEN PRINT “INTERNES LIMIT BETRÄGT $5000”. 410 IF ERL = 130 THEN RESUME 120 Hinweis: ERROR ist beim Testen der Fehlerbearbeitungs routinen besonders nützlich. Wie die meisten ande ren Befehle kann ERROR im direkten Modus ein...
GW-BASIC-BEFEHLE UND FUNKTIONEN EXP-Funktion Syntax: EXP(X) Verwendung: Erhebt e (Basis natürlicher Logarithmen) in die X- te Potenz. X muß < = 88.02969 sein. Bemerkungen: Ist x größer als 88.02969, so wird die Fehlermeldung “Overflow” (Überlauf) angezeigt, die Ausführung wird jedoch fortgesetzt.
FIELD 1,20 AS N$, 10 AS ID#, 40 AS ADD$, 58 Beispiele: AS LEFTOVER$ Weist GW-BASIC an, daß nach Lesen eines Daten satzes aus der Direktzugriffsdatei mit der Nummer 1 die 20 ersten Bytes dieses Datensatzes als zu der Zeichenfolgenvariable N$ gehörig, die 10 nächsten Bytes als zu ID$ gehörig usw.
Seite 165
GW-BASIC-BEFEHLE UND FUNKTIONEN FIELD ser ihnen schon in dem Puffer für die Direktzugriffs dateien zugewiesen wurde. Soll ein Satz in eine Direktzugriffsdatei geschrieben werden, so werden die Daten mit dem LSET- (oder RSET)-Befehl in den Direktzugriffspuffer gesetzt. Mit dem PUT-Befehl wird der Inhalt des Puffers auf Diskette geschrieben.
GW-BASIC-BEFEHLE UND FUNKTIONEN FILES FILES-Befehl Syntax: FILES [<Dateispez>] Verwendung: Ausdrucken der Namen von Dateien, die auf der angegebenen Diskette stehen. Bemerkungen: Wird <Dateispez> weggelassen, so werden sämt liche Dateien in dem gegenwärtigen Inhaltsver zeichnis in dem gerade ausgewählten Laufwerk auf...
Seite 167
GW-BASIC-BEFEHLE UND FUNKTIONEN FILES bare Umgebung in den hierarchischen Inhaltsver zeichnissen von NCR-DOS angibt. Handelt es sich bei dem Dateinamen in 'Wirklichkeit um ein Unter verzeichnis, so wird dies durch “<DIR>” im Anschluß an den Verzeichnisnamen angegeben. Wird auf die in der folgenden Abbildung darge...
GW-BASIC-BEFEHLE UND FUNKTIONEN FIX-Funktion FIX(X) Syntax: Verwendung: Gibt den Wert der Ziffern links von dem Dezimal punkt in der Zahl X an, und ignoriert eventuelle Zif fern rechts von dem Dezimalpunkt. Bemerkungen: Der Unterschied zwischen FIX und INT liegt darin, daß...
Anschließend wird geprüft, ob der Wert des Zählers nun größer ist als der endgültige Wert (y). Ist er nicht größer, so geht GW-BASIC zu dem auf den FOR-Befehl folgenden Befehl zurück und das Ver fahren wird wiederholt. Ist der Wert größer als der Endwert, so wird die Ausführung mit dem auf...
Seite 170
GW-BASIC-BEFEHLE UND FUNKTIONEN FOR...NEXT Der Inhalt der Schleife wird übersprungen, wenn der Ausgangswert der Schleife größer ist als der endgültige Wert, wobei von einem positiven Wert für STEP ausgegangen wird. Enthält STEP einen negativen Wert, so wird der Inhalt der Schleife übersprungen, wenn der Ausgangswert kleiner ist...
GW-BASIC-BEFEHLE UND FUNKTIONEN FOR...NEXT 7 50 9 60 Beispiel 2 10 J = 0 20 FOR I = 1 TO J 30 PRINT I 40 NEXT I 50..In diesem Beispiel wird die Schleife nicht aus geführt, da der Ausgangswert der Schleife den End...
Seite 172
GW-BASIC-BEFEHLE UND FUNKTIONEN FOR...NEXT 130 PRINT “Menü”;M°/o-l;” für ”;Z00$(A%,1)”? 140 INPUT ZOO$(A$,M%) 150 NEXT M% 160 NEXT A°/o Im zweiten Teil wird das gesamte Menü für ZOO angezeigt. 170 CLS 180 LOCATE 1,26 190 PRINT “Das Tier-Menü von heute” ,,„DAY$...
Anzahl von freien Bytes zurückgegeben wird. GW-BASIC leitet erst dann eine Freigabe des Spei cherplatzes ein, wenn nahezu der ganze freie Spei cherplatz benutzt wurde. Tritt dies erst spät ein, so kann es einige Zeit dauern, bis Speicherplatz freige...
GW-BASIC-BEFEHLE UND FUNKTIONEN GET (DATEIEN) GET-(Dateien) Befehl Syntax: GET [#] <Dateinummer> [,<Satznummer>] Liest einen Satz aus einer Direktzugriffsdatei in Verwendung: einen Puffer für Direktzugriffsdateien. <Dateinummer> ist die Nummer, unter der die Bemerkungen: Datei mit OPEN eröffnet wurde. Wird “Satznum mer” weggelassen, so wird der nächste Satz (hinter dem letzten GET) in den Puffer gelesen.
Seite 175
GW-BASIC-BEFEHLE UND FUNKTIONEN GET (GRAFIK) GET-(Grafik) Befehl GET (xl,yl)-(x2,y2),Matrix Syntax: Verwendung: Liest Grafikinformationen vom Bildschirm (nur Grafik-Modus) in eine Matrixvariable. Bemerkungen: xl,yl und x2,y2 sind die entgegengesetzten Ecken eines imaginären Rechtecks. Die Farbe jedes Punk tes innerhalb dieses Rechtecks wird in die angege...
Seite 176
30 12 Ändern Sie nun Zeile 20 in SCREEN 2 (vergessen Sie nicht, <CR> zu betätigen). Mit dieser Instruk tion wird GW-BASIC angewiesen, Grafiken mit mittlerer Auflösung zu benutzen. Nun wird das Pro gramm mit RUN erneut gestartet. Diesmal stellen die beiden angezeigten Zahlen die horizontale und vertikale Länge des Rechteckes dar:...
GW-BASIC-BEFEHLE UND FUNKTIONEN GET (GRAFIK) Außerdem können verschobene Koordinaten benutzt werden. Mit GET (100,100)-STEP(15,-12),A% wird beispielsweise festgelegt, daß die Grafikinfor mationen eines Rechtecks, dessen obere linke Ecke bei dem Punkt 100,100 liegt, in die Matrixvariable A% gelesen werden müssen. 4-103...
Subroutinen wird nur durch den zur Verfügung ste henden Speicherplatz beschränkt. Durch einfache RETURN-Befehle in einer Subrou tine geht GW-BASIC wieder zu dem Befehl zurück, der auf den als letztes angetroffenen GOSUB- Befehl folgt. Eine Subroutine kann mehr als einen RETURN-Befehl enthalten.
Seite 179
GW-BASIC-BEFEHLE UND FUNKTIONEN GOSUB...RETURN tine zu vermeiden, sollte vor ihr ein STOP-, END- oder GOTO-Befehl stehen, der die Programm steuerung um die Subroutine herumleitet. Beispiel: 10 GOSUB 40 20 PRINT “RÜCKSPRUNG AUS SUBROUTINE” 30 END 40 PRINT “SUBROUTINE”; 50 PRINT “IN”;...
AREA = 452.16 Out of data in 10 Mit dem Befehl GOTO 10 wird eine unendliche Schleife festgelegt. GW-BASIC geht erst dann aus dieser Schleife, wenn keine weiteren DATEN mehr zu LESEN sind. (In Wirklichkeit wird die Schleife nur drei Mal ausgeführt.) Das folgende Beispiel stellt eine echte unendliche Schleife dar.
Seite 181
Hierbei spielt es keine Rolle, ob Sie das Pro gramm (mit STOP-Befehl oder <Ctrl-Break>) unterbrochen haben oder ob GW-BASIC aufgrund eines Fehlers stoppen mußte. Mit dem ON...GOTO-Befehl kann je nach Ergebnis einer vorhergehenden Operation eine Programm- zeüe ausgewählt werden, zu der sich GW-BASIC verzweigen muß. GW-BASIC 4-107...
GW-BASIC-BEFEHLE UND FUNKTIONEN HEX§ HEX$-Funktion HEX$(X) Syntax: Rückgabe einer Zeichenfolge, die den Hexadezi Verwendung: malwert des Dezimalparameters darstellt. Ist X noch keine Ganzzahl, so wird sie vor Auswer Bemerkungen: tung von HEX$(X) in eine Ganzzahl aufgerundet. Diese Ganzzahl muß in dem Bereich von -32768 bis 65535 liegen.
Seite 183
GW-BASIC-BEFEHLE UND FUNKTIONEN IF...THEN...ELSE... IF...GOTO Befehle IF Ausdruck [,] fBefehl(e) Syntax: THEN i^Zeilennummerj fBefehl [ELSE j^Zeilennummerj J oder IF Ausdruck GOTO Zeilennummer fBefehl(e) [ELSE [Zeilennummer Verwendung: Mit diesem Befehl wird eine Entscheidung über den Programmfluß je nach Ergebnis der Auswer...
Seite 184
20 IF TEMP <30 THEN 50 30 PRINT “Schalten Sie die Klimaanlage ein” 40 END 50 IF TEMP <20 THEN 100 ELSE 80 60 PRINT “GW-BASIC kommt nie zu dieser Zeile” 80 PRINT “Die Bedingungen sind gerade richtig für ein Picknick” 90 END 100 PRINT “Es ist noch zu kalt”...
Seite 185
GW-BASIC-BEFEHLE UND FUNKTIONEN 30 INPUT „Wieviele Pflaumen“; OBST 40 IF ZUCKER>4 THEN IF M1LCH=6 THEN 100 ELSE IF OBST>10 THEN 120 50 PRINT “Die Mischung ist nicht süß genug. Oder es wurde nicht genügend Milch bzw. Pflaumen benutzt. Vielleicht ist auch alles falsch!”...
Seite 186
GW-BASIC-BEFEHLE UND FUNKTIONEN ten Sie je nach Inhalt einer numerischen Variablen eine Entscheidung fallen. Beispiel: 210 IF IOFLAG THEN PRINT A$ ELSE LPRINT A$ Bei diesem Befehl wird die gedruckte Ausgabe je nach Wert der Variablen IOFLAG auf dem Bild...
GW-BASIC-BEFEHLE UND FUNKTIONEN INKEY§ INKEY$-Funktion Syntax: INKEY$ Gibt ein Zeichen von dem Tastaturpuffer zurück. Verwendung: Bemerkungen: Im Gegensatz zu dem INPUT-Befehl wartet INKEY$ nicht, bis Sie eine Taste betätigen. Versäu men Sie es, eine Taste zu betätigen, d.h., warten keine Zeichen in dem Tastaturpuffer, so gibt LNKEY$ eine Nullzeichenfolge (Zeichenfolge mit der Länge 0) zurück.
Seite 188
Befehl eingegeben: 10 K$ = INKEY$ 20 IF LEN(K$>=2 THEN K$=RIGHT$(K$,1) Mit INKEY$ werden die Sonderfunktionen der fol genden Tastenkombinationen nicht rückgängig gemacht: <Ctrl-Break> (Unterbrechung des Programms) <Ctrl-NumLock> (Systempause) <PrtSc> (Druckt den Büdschirminhalt aus) <Alt-Ctrl-Del> (Gnmdstellung) GW-BASIC 4-114...
GW-BASIC-BEFEHLE UND FUNKTIONEN INP-Funktion Syntax: INP(I) Verwendung: Rückgabe des von Anschlußposition I gelesenen Bytes. I muß in dem Bereich von 0 bis 65535 liegen. Bemerkungen: ENP ist die Zusatzfunktion zu dem OUT-Befehl. 100 A%= INP(64) Beispiel: Liest ein Byte von Anschlußposition 64 und weist es der Variablen A% zu.
Seite 190
Programm auf Daten wartet. Wird “Einga beaufforderung” aufgenommen, so wird die ent sprechende Zeichenfolge vor dem Fragezeichen ausgedruckt. GW-BASIC wartet dann, bis Sie Daten über die Tastatur eingeben. Die Datenein gabe muß durch Betätigung von <CR> abgeschlos sen werden.
Seite 191
Wird nur eine einzige Variable in dem INPUT-Befehl angegeben, so kann das Datenele ment weggelassen und einfach <CR> betätigt wer den. GW-BASIC liefert dann eine Null für eine nume rische Variable oder eine leere Zeichenfolge für eine Zeichenfolgenvariable. Beispiele: 10 INPUT X 20 PRINT X “IM QUADRAT”...
Seite 192
Fehlermeldung “Read past end” (Über Ende hinausgelesen) ange zeigt. Sämtliche Dateien werden abgeschlossen und GW-BASIC gibt die Kontrolle zur Befehls ebene von NCR-DOS zurück (nicht “Ok”). Bei Betätigung von <Ctrl-Break> wird ebenfalls auf NCR-DOS Befehlsebene zurückgegangen.
Seite 193
GW-BASIC-BEFEHLE UND FUNKTIONEN INPUT 40 GET #1 50 TOTAL%= CM(SUBSCRffi$) Mit dem restlichen Programm wird jeder Daten satz mit GET aus der Plattendatei geholt. Danach werden jeder Name und jede Telefonnummer auf dem Bildschirm angezeigt: 60 FOR LOOP% = 2 TO TOTAL%...
Seite 194
Anfang der Zahl betrachtet. Die Zahl wird mit einem Leerzeichen, einer Zeüen- schaltung, einem Zeilenvorschub oder einem Komma beendet. Sucht GW-BASIC die sequentielle Datendatei nach einem Zeichenfolgenelement ab, so werden führende Leerzeichen, Zeilenschaltungen und Zei lenvorschübe ebenfalls ignoriert. Das erste Zei...
Seite 195
GW-BASIC-BEFEHLE UND FUNKTIONEN INPUT# rungszeichen stehende Zeichenfolge, die mit einem Komma, einer Zeilenschaltung oder einem Zeilen vorschub (oder nachdem 255 Zeichen gelesen wur den) beendet wird. Wird während der Eingabe eines numerischen Elementes oder Zeichenfolge nelementes (mit INPUT) ein Dateiende erreicht, so wird das Element beendet.
GW-BASIC-BEFEHLE UND FUNKTIONEN INPUT$ INPUT$-Funktion Syntax: INPUT$(XC[#]Y]) Verwendung: Rückgabe einer Folge von X Zeichen, die aus der Datei mit der Nummer Y gelesen werden. Wird die Dateinummer nicht angegeben, so werden die Zei chen über die Tastatur eingelesen. Wird die Eingabe über die Tastatur vorgenommen,...
Seite 197
GW-BASIC-BEFEHLE UND FUNKTIONEN INSTR INSTR-Funktion Syntax: INSTR([I,]X$,Y$) Verwendung: Sucht nach dem ersten Auftreten der Zeichenfolge Y$ in X$ und gibt die Position zurück, an der die Übereinstimmung gefunden wurde. Mit dem wahl weisen Offset I wird die Position in X$ festgelegt, ab der mit der Suche begonnen wird.
GW-BASIC-BEFEHLE UND FUNKTIONEN INT-Funktion INT(X) Syntax: Gibt die größte Ganzzahl zurück, die kleiner als oder Verwendung: gleich dem numerischen Wert X ist. PRINT INT(99.89) Beispiele: ergibt PRINT INT(-12.11) ergibt Hier wird auf die Funktionen CINT und FIX ver Hinweis: wiesen, die ebenfalls Ganzzahlwerte zurückgeben.
Jeder dieser Tasten kann eine Zeichen folge aus maximal 15 Zeichen zugewiesen werden. Wird die Taste dann später betätigt, so wird die ent sprechende Zeichenfolge in GW-BASIC eingege ben. Mit KEY ON/OFF/LIST kann der Inhalt der programmierbaren Funktionstasten angezeigt oder versteckt werden.
Seite 200
KEY ON Die sechs ersten Zeichen jeder Funktionstaste wer den auf der 25sten Zeile des Bildschirms angezeigt, genau wie nach dem Laden von GW-BASIC. Wird eine Anzeigebreite von 40 Spalten benutzt, so wer den nur fünf Funktionstasten angezeigt. KEY OFF Löscht die Anzeige der programmierbaren Funk...
Seite 201
GW-BASIC-BEFEHLE UND FUNKTIONEN 10 KEY 1, “MENU” + CHR$(13) 20 KEY 1,“” Programmverzweigung bei Tastenbetätigung Bei GW-BASIC können sechs zusätzliche Pro grammverzweigungen bei Tastenbetätigung defi niert werden. Die unterbrochene Taste muß sich im Ctrl-, Shift- oder Alt-Modus befinden. Um eine Programmverzweigung festzulegen, ist ein...
Seite 202
Kraft gesetzt werden. Außerdem wirkt sie sich nicht auf die Funktions- oder Cursor-Tasten aus. Sie selbst können jedoch die Ctrl-Break-Funktion von GW-BASIC außer Kraft setzen. In diesem Fall können Sie diese Tastenkombination nicht mehr dazu benutzen, aus einem programmierten Rück...
Taste bzw. Tastenkombination aktiviert. Ist die Programmverzweigung aktiviert und wird eine von Null abweichende Zeilennummer in dem ON KEY Befehl angegeben, so prüft GW-BASIC vor Ausfüh rung jedes Befehls, ob die angegebene Taste benutzt wurde. Wenn ja, nimmt GW-BASIC eine...
Seite 204
GW-BASIC-BEFEHLE UND FUNKTIONEN KEY(N) nis ein, so wird es festgehalten und der ON KEY- Befehl wird ausgeführt, sobald die Programmver zweigung aktiviert wird. Beispiel: Siehe KEY. Hinweis: Ein KEY(n)-Befehl darf nicht vor einem ON KEY(n)-Befehl stehen. KEY(n) ON hat keine Auswirkung auf die Anzeige der Punktionstaste in der 25sten Bildschirmzeile.
200 KILL “A:OBSOLETE.DAT” löscht eine Datei namens OBSOLETE.DAT in Laufwerk A. 200 KILL “LOCAL1 YLOCAL1A YUNUSED.BAS” löscht die Datei UNUSED.BAS aus dem Unterver zeichnis LOCAL1A auf der aktuellen Diskette. Hinweis: KILL ist gleichbedeutend mit dem NCR-DOS Befehl ERASE. GW-BASIC 4-131...
Die für das Drucken benötigte Zeit hängt von der von Ihnen gewählten Bildschirmauflösung ab. Zum Ausdrucken von Bildschirmgrafiken auf einem Drucker kann auch der GRAPHICS-Befehl verwendet werden. Einzelheiten über den Befehl GRAPHICS können Sie dem NCR-DOS-Hand- buch entnehmen. GW-BASIC 4-132...
GW-BASIC-BEFEHLE UND FUNKTIONEN LEFT$ LEFT$ Funktion Syntax: LEFT$(X$,I) Verwendung: Gibt eine Zeichenfolge einschließlich der linksbün digsten I Zeichen von X$ zurück. Bemerkungen: I muß in dem Bereich von 0 bis 255 liegen. Ist I grö ßer als die Anzahl von Zeichen in X$, so wird die gesamte Zeichenfolge (X$) zurückgegeben.
GW-BASIC-BEFEHLE UND FUNKTIONEN LEN-Funktion Syntax: LEN(X$) Verwendung: Gibt die Anzahl von Zeichen in X$ zurück, ein schließlich Leerzeichen und Sonderzeichen. 10 X$ = “PORTLAND, OREGON” Beispiel: 20 PRINT LEN(X$) ergibt GW-BASIC 4-134...
GW-BASIC-BEFEHLE UND FUNKTIONEN LET-Befehl [LET] <Variable>=<Ausdruck> Syntax: Weist einer Variablen den Wert eines Ausdrucks zu. Verwendung: Bemerkungen: Beachten Sie, daß das Wort LET wahlweise ist; d.h., das Gleichzeichen reicht für die Zuweisung eines Ausdrucks an einen Variablennamen aus. 110 LET D=12...
GW-BASIC-BEFEHLE UND FUNKTIONEN LINE LINE-Befehl Syntax: LINE[(xl,y l)]-(x2,y2)[, [Farbe] [, Linienart]] [,B\F]] Zeichnet eine Linie, ein Kästchen oder ein ausi- Verwendung: gefülltes Kästchen auf dem Bildschirm. (xl,yl),(x2,y2) gibt die Koordinaten in absoluter oder verschobe ner Form an (siehe Kapitel 3 “Bildschirmanzeige”).
Seite 211
GW-BASIC-BEFEHLE UND FUNKTIONEN LINE sondern gepunktet oder gestrichelt bzw. in einem anderen von Ihnen ausgewählten Muster gezeich net wird. “Linienart” ist eine Zahl in dem Bereich von 0 bis 65535. Die Linienart der Zeichnung ent spricht der Binärdarstellung der Zahl mit 16 Bits.
Seite 212
GW-BASIC-BEFEHLE UND FUNKTIONEN LINE In dem folgenden Beispiel werden die Ecken des Bildschirms durch eine Linie miteinander verbun den, die mit mittlerer Auflösung gezeichnet wird. 10 SCREEN 2:CLS 20 LINE (0,0)-(639,199)„B 30 LINE (0,0X639,199) 40 LINE (0,199X639,0) 50 IF INKEY$ = ““THEN 50 60 SCREEN 0 Da “Linienart”...
Seite 213
Versucht LINE über die Grenzen des Grafik-Anzei gebereichs hinauszuzeichnen, so kommt es zu kei ner Umschaltung zu einem anderen Teil des Bild schirms. Die Teile der Zeichnung, die außerhalb der Grenzen liegen, fallen einfach weg. GW-BASIC betrachtet dies nicht als eine Fehlerbedingung. GW-BASIC 4-139...
Wird die Ausführung eines LINE INPUT Befehls Hinweis: durch Betätigung von <Ctrl-Break> unterbrochen und wird dann mit CONT zu dem Programm zurückgegangen, so nimmt GW-BASIC die Ausfüh rung mit dem LINE INPUT Befehl (und nicht mit dem nachfolgenden Befehl) wieder auf. GW-BASIC...
LINE INPUT# ist besonders nützlich, wenn jede Zeile einer Datendatei in Felder unterteilt ist, oder wenn ein im ASCII-Format gesichertes GW-BASIC Programm (siehe SAVE) von einem anderen Pro gramm in Form von Daten gelesen wird.
GW-BASIC-BEFEHLE UND FUNKTIONEN LIST LIST-Befehl LIST [<Zeilennummer 1>] [-[Zeilennummer 2]] Syntax: [<Dateispez>] <Zeilennummer 1>, <Zeilennummer 2> sind Zahlen in dem Bereich von 0 bis 65529. Mit ihnen wird der Bereich der Programmzeilen ange geben, die angezeigt werden sollen. <Dateispez> Eine Datei oder Einheit, zu der die Programmaufli...
Seite 217
(siehe SAVE) in die Datei COPY2.BAS, wobei * mit Zeile 1000 begonnen wird. Hinweis: Wird LIST im indirekten Modus ausgeführt, so kehrt GW-BASIC unmittelbar danach zu der Befehlsebene (“Ok”) zurück. Für weitere Informationen über die Benutzung von Einheitennamen (z.B. LPT1:) für die Dateispezifi...
Seite 218
GW-BASIC-BEFEHLE UND FUNKTIONEN LLIST LLIST-Befehl LLIST[<Zeilennummer 1>] Verwendung: [-[<Zeilennummer 2>]] Zweck: Listet ein Programm auf dem Drucker auf. Bemerkungen: LLIST wird wie LIST ausgeführt, nur daß keine <Dateispez> benutzt werden kann. GW-BASIC 4-144...
GW-BASIC-BEFEHLE UND FUNKTIONEN LOAD LOAD-Befehl Syntax: LOAD <Dateispez> [,R] Lädt eine Datei von einer Diskette oder einer Ein Verwendung: heit in den Speicher. Die <Dateispez> muß den Dateinamen enthalten, Bemerkungen: der beim Sichern der Datei mit SAVE benutzt wurde. Die Erweiterung braucht jedoch nicht ange...
Bemerkungen: Wird eine Datei für die sequentielle Eingabe eröff net, so liest GW-BASIC den ersten Sektor der Datei, so daß LOC eine 1 zurückgibt, noch bevor es zu einer Eingabe von der Datei kommt. Bei einer Datenübertragungsdatei wird mit LOC ermittelt, ob Zeichen in der Eingabewarteschlange auf das Lesen warten.
GW-BASIC-BEFEHLE UND FUNKTIONEN LOCATE LOCATE-Befehl Syntax: LOCATE [<Zeile>[,[<Spalte>] [ ,[<Cursor>] [ , [<Anfang>] [,<Ende>]]]] Verwendung: Positioniert den Cursor auf dem Bildschirm, defi niert seine Größe und macht ihn sichtbar bzw. unsichtbar. Bemerkungen: <Zeile> Gibt die Zeilennummer auf dem Bildschirm in der der Cursor angezeigt werden soll.
Seite 222
Wert. Wird die Anzeige der Funktionstasten in der unter sten Bildschirmzeile ausgeschaltet (KEY OFF), so können alle 25 Zeilen benutzt werden. GW-BASIC schreibt normalerweise nicht in Zeile 25. Bewegen Sie den Cursor jedoch in diese Zeile, so schreibt es auch dort.
Seite 223
GW-BASIC-BEFEHLE UND FUNKTIONEN LOCATE Cursor selbst beeinflußt, nicht wieder erscheint. In diesem Fall genügt LOCATE „1 Somit wird der Cursor wieder sichtbar. GW-BASIC 4-149...
Eingabepuffer freien Platz zurück. Der Höchstwert des freien Platzes beträgt norma lerweise 256 Bytes. Dieser Standardwert kann jedoch beim Laden von GW-BASIC mit der Option / C geändert werden. Beispiel: Das folgende Beispiel liest den letzten Satz einer Direktzugriffsdatei in den Puffer.
PRINT LOG{45/7) Beispiel: ergibt 1.860752 Hinweis: LOG wird mit einfacher Genauigkeit ausgeführt, es sei denn, Sie geben beim Laden von GW-BASIC die Option /D an. Bei dieser Option werden LOG und andere “residente” Funktionen mit doppelter Genauigkeit berechnet GW-BASIC 4-151...
GW-BASIC-BEFEHLE UND FUNKTIONEN LPOS LPOS-Funktion LPOS(X) Syntax: wobei X das Kennzeichen für den Zeilendrucker darstellt. Gibt das aktuelle Zeichen in dem Druckpuffer Verwendung: zurück, das für das Ausdrucken bereit steht. Bemerkungen: LPOS gibt nicht unbedingt die physikalische Posi tion des Druckkopfes an.
GW-BASIC-BEFEHLE UND FUNKTIONEN LPRINT LPRINT- und LPRINT USING-Befehle Syntax: LPRINT [<Liste mit Ausdrücken>][;] LPRINT USING <Zeichenfolgenausdruck>; <Liste mit Ausdrücken> [;] Druckt Daten auf dem Zeilendrucker (LPT1:) aus. Verwendung: Bemerkungen: <Liste mit Ausdrücken> enthält die Elemente, die ausgedruckt werden müs sen. Bei diesen Elementen handelt es sich um numerische Ausdrücke und/oder Zeichenfolgen...
Seite 228
GW-BASIC-BEFEHLE UND FUNKTIONEN LPRINT Hinweis: Die Benutzung von LPRINT ist nicht auf druckbare Zeichen beschränkt. Das Programm kann LPRINT zur Aktivierung von Druckerfunktionen benützen, wie beispielsweise zur Bewegung des Druckkopfes und Auswahl der Schriftart. Hierzu gibt es eine Reihe von Standardcodes, z.B.: LPRINT CHR$(12);...
GW-BASIC-BEFEHLE UND FUNKTIONEN LSET AND RSET LSET- und RSET-Befehle Syntax: LSET <Zeichenfolgenvariable>= <Zeichenfolgenausdruck> RSET <Zeichenfolgenvariable>= <Zeichenfolgenausdruck> Verwendung: Überträgt Daten aus dem Speicher in einen Puffer speicher für Direktzugriffsdateien (Vorbereitung für einen PUT-Befehl). Bemerkungen: <Zeichenfolgenvariable> ist eine Variable, die schon von FIELD definiert wurde.
Seite 230
GW-BASIC-BEFEHLE UND FUNKTIONEN LSET AND RSET 30 ABC$ = MKI$(14) 40 RSETA$ = ABC$ LSET und RSET können auch für nicht mit Hinweis: FIELD angegebene Variablen benutzt werden. Dies ist beim Formatieren von Texten besonders nützlich, die auf dem Bildschirm angezeigt oder aus...
Zeilennummern wie Zeilen in dem Programm im Speicher, so ersetzen die Zeilen der Datei auf Diskette die entsprechenden Zeilen im Speicher. Nach Ausführung eines MERGE-Befehls kehrt GW-BASIC stets auf Befehlsebene (“Ok”) zurück. Beispiel: MERGE “NUMBERS” Mischt die GW-BASIC-Programmdatei NUM- BERS.BAS in dem gegenwärtigen Inhaltsverzeich...
Seite 232
GW-BASIC-BEFEHLE UND FUNKTIONEN MID$ MID$-Befehl MTD$(<Zeichenfolgenausdruckl>,n[,m])= Syntax: <Zeichenfolgenausdruck2 > wobei n und m ganzzahlige Ausdrücke darstellen. Ersetzt einen Teil einer Zeichenfolge durch eine Verwendung: andere Zeichenfolge. Bemerkungen: Die Zeichen in <Zeichenfolgenausdruckl> wer den ab Position n durch die Zeichen in “Zeichenfol...
Seite 233
GW-BASIC-BEFEHLE UND FUNKTIONEN MID$ MID$-Funktion MID$(X$,n[,m] ) Syntax: Verwendung: Gibt eine Zeichenfolge mit einer Länge von m Zei chen aus X$ zurück, wobei mit dem n-ten Zeichen begonnen wird. Bemerkungen: n und m müssen ganzzahlige Ausdrücke in dem Bereich von 1 bis 255 sein. Wird m weggelassen oder sind weniger als m Zeichen rechts von dem n-ten Zeichen vorhanden, so werden sämtliche...
Seite 234
GW-BASIC-BEFEHLE UND FUNKTIONEN MID$ 100 PRINT “Ein anderes Zeichen als ein Buchstabe”; CHAR$; “wurde in Position gefunden”; P% 110 END Liegt n oder m nicht in dem zulässigen Bereich, so Hinweis: wird eine Fehlermeldung “Illegal function call“ (Unzulässiger Funktionsaufruf) angezeigt.
Bemerkungen: <Pfad> ist ein Zeichenfolgenausdruck mit nicht mehr als 128 Zeichen, der ein neues, zu erstellendes Inhaltsverzeichnis angibt. Für Einzelheiten über Pfade und Inhaltsverzeichnisse wird auf das NCR- DOS Handbuch verwiesen. Beispiele: Wird von dieser hierarchischen Struktur ausgegan gen und befinden Sie sich gerade in dem Stamm...
GW-BASIC-BEFEHLE UND FUNKTIONEN MKI$, MKS$, MKD$ MKI$-, MKS$-, MKD$-Funktionen Syntax: MKI$ (<ganzzahliger Ausdruck>) MKS$ (<Ausdruck mit einfacher Genauigkeit^) MKD$ (<Ausdruck mit doppelter Genauigkeit^) Verwendung: Wandelt numerische Werte in Zeichenfolgenwerte Bemerkungen: Jeder numerische Wert, der mit einem LSET- oder RSET-Befehl in den Puffer für Direktzugriffs...
In diesem Beispiel wird die früher mit BUCHH benannte Datei in HAUPTB umbenannt. Hinweis: Bei dem NAME-Befehl geht GW-BASIC nicht von der Dateinamenerweiterung .BAS aus. Die Angabe eines Pfadnamens ist nicht zulässig. Bevor NAME benutzt wird, muß die Datei abge...
Bemerkungen: In NEW wird im Direkt-Modus gegangen, um den Speicher zu löschen, bevor ein neues Programm eingegeben wird. Nach Ausführung eines NEW- Befehls geht GW-BASIC stets auf Befehlsebene zurück. Durch NEW werden sämtliche Dateien abgeschlos sen. Die Ablaufverfolgung wird ausgeschaltet.
GW-BASIC-BEFEHLE UND FUNKTIONEN OCT$ OCT$-Funktion Syntax: OCT$(X) Verwendung: Gibt eine Zeichenfolge zurück, die den Oktalwert des Dezimalparameters darstellt. X wird auf eine Ganzzahl abgerundet, bevor OCT$(X) ausgewertet wird. Beispiel: PRINT OCT$(24) ergibt Für Einzelheiten über die Hexadezimal-Umwand- lung wird auf die HEX$-Funktion verwiesen.
Muß ausgeführt werden, um den ON COM(n) Befehl zu aktivieren. Wird eine von Null abwei chende Zeilennummer in ON COM(n) angegeben, so prüft GW-BASIC bei jedem Starten eines neuen Befehls durch das Programm, ob Zeichen in den angegebenenKanal gesetzt wurden. Ist mindestens ein Zeichen vorhanden, so führt GW-BASIC einen...
Seite 241
GW-BASIC-BEFEHLE UND FUNKTIONEN ON COM(n) Findet eine Verzweigung statt, so fuhrt GW-BASIC automatisch einen COM(n) STOP Befehl aus, damit es nicht zu sich wiederholenden Programm verzweigungen kommen kann. Beim Rücksprung aus der Unterbrechungsroutine wird automatisch COM(n) ON ausgeführt, es sei denn, innerhalb der Unterbrechungsroutine wurde explizit COM(n) OFF ausgeführt.
Seite 242
Wurde die Übertragungsaktivität und Programm verzweigung für diesen Datenübertragungskanal zum Zeitpunkt des Ereignisses aktiviert, so bedeu tet Zeile 30, daß sich GW-BASIC bei Zeile 9900 zu der Subroutine verzweigt. Mit Zeile 40 wird die Ver zweigung für diesen Kanal aktiviert.
Fehlem wird eine Fehlermeldung ausgedruckt und die Ausführung angehalten. Bei einem ON ERROR GOTO O-Befehl in einer Fehlerbehandlungsroutine stoppt GW-BASIC und druckt die Fehlermeldung für den Fehler aus, der die Unterbrechung ver ursacht hat. Es wird empfohlen, daß sämtliche Feh...
Seite 244
GW-BASIC-BEFEHLE UND FUNKTIONEN ON COM(n) 690 RESUME Mit Zeile 10 wird angegeben, daß sich GW-BASIC bei Fehlem zu Zeile 500 verzweigen soll. Mit Zeile 520 wird angegeben, daß GW-BASIC wieder zurückgehen soll, um erneut einen Verbindungsauf bau zu versuchen, wenn eine Datenübertragungs- Einheit nicht rechtzeitig geantwortet hat.
Seite 245
BASIC zu Zeile 150. Ist dieser Wert gleich 2, so ver zweigt sich GW-BASIC zu Zeile 300 usw. Ist der Wert von L-l größer als 4, so geht GW-BASIC ein fach zu der nächsten Zeile nach 100 weiter. Das folgende Programm fordert Sie auf, je nach der...
Seite 246
ON...GOSUBAND ON...GOTO auszuführenden einfachen arithmetischen Opera tion eine Zahl von 1 bis 4 einzugeben. Mit Zeile 110 wird GW-BASIC aufgefordert, je nach der von Ihnen getroffenen Wahl in eine von vier Subrouti nen zu gehen. Nachdem es die Rechenaufgabe aus...
Vom Benutzer definierte Tasten kombination (siehe KEY). <Zeilennummer> entspricht der ersten Zeile der Subroutine, in die sich GW-BASIC verzweigt, wenn die mit n angegebene Taste betätigt wird. Ist <Zei- lennummer> gleich 0, so führt die Betätigung die ser Taste nicht zu einer Verzweigung.
Seite 248
Kommt es zu einer Unterbrechung wegen eines Fehlers, so werden sämtliche Verzweigungen auto matisch deaktiviert. Dies bedeutet, daß Tastatur- Ereignisse ignoriert werden. Befindet sich GW-BASIC im Direkt-Modus, so wer den keine Programmverzweigungen aktiviert. Ins besondere die Funktionstasten führen ihre pro grammierte Funktion aus.
Seite 249
GW-BASIC-BEFEHLE UND FUNKTIONEN ON KEY oder FOR-Befehl, der zum Zeitpunkt der Verzwei gung aktiv war, bleibt aktiv. Beispiel: Durch das folgende Beispiel wird die normale Aus wirkung von <Ctrl-Break> verhindert: 10 KEY 20,CHR$(&H04)+CHR$(70) 20 ON KEY(20) GOSUB 1000 30 KEY(20) ON 40 PRINT “Versuchen Sie, zu “Ok”...
GW-BASIC bei Benutzung des Lichtstiftes ver zweigt. Bemerkungen: <Zeilennummer> ist die erste Zeile der Subrou tine, in die sich GW-BASIC verzweigt, wenn eine Aktivität des Lichtstiftes entdeckt wird. Wird eine <Zeilennummer> 0 angegeben, so wird die Ver zweigung bei Benutzung des Lichtstiftes deakti...
Seite 251
Benutzung des Lichtstiftes zu einer Programmver zweigung führt. Mit dem RETURN-Befehl am Ende der Unterbre chungsroutine kann wahlweise eine Zeilennummer angegeben werden. In diesem Fall geht GW-BASIC zu der angegebenen Zeilennummer zurück. Durch Angabe dieser Zeilennummerwird der GOSUB- Eintrag eliminiert, den die Programmverzweigung erstellt hat.
Noten in dem Puffer für die Hin tergrundmusik stehen. <Zeilennummer> ist die erste Zeile der Subrou tine, in die sich GW-BASIC verzweigt. Bei einer Zei lennummer 0 kommt es zu keiner Verzweigung. Wird eine andere Zeilennummer als 0 angegeben und wurde ein PLAY ON Befehl ausgeführt, so...
Seite 253
GW-BASIC-BEFEHLE UND FUNKTIONEN ON PLAY Eine Unterbrechung bei bestimmten Ereignissen findet nur statt, wenn GW-BASIC ein Programm ausfuhrt. Kommt es zu einer Unterbrechung wegen eines Fehlers (siehe ON ERROR), so werden sämtliche Programmverzweigungen automatisch deaktiviert. Dies bedeutet, daß Musik-Aktivitäten von GW- BASIC ignoriert werden.
Seite 254
GW-BASIC-BEFEHLE UND FUNKTIONEN ON PLAY Für n darf kein zu hoher Wert ausgewählt werden. So verursacht ON PLAY(32) beispielsweise soviele Programmverzweigungen, daß kaum noch Zeit für den Rest des Programms bleibt. GW-BASIC 4-180...
Benutzung dieses Steuerknüppels zu aktivieren. Ist die Programmverzweigung aktiviert und wird in ON STRIG eine andere Zeilennummer als 0 ange geben, so prüft GW-BASIC zwischen den Befehlen, ob der Steuerknüppel betätigt wurde. Wenn ja, wird ein GOSUB-Befehl zu der angegebenen Zeile aus...
Seite 256
GW-BASIC ein Programm ausfuhrt. Die Pro grammverzweigung wird automatisch deaktiviert, wenn es zu einer Unterbrechung wegen eines Feh lers kommt. In diesem Fall ignoriert GW-BASIC Aktivitäten des Steuerknüppels. Die STRIG-Funktion ist von einer Programmver zweigung bei Benutzung des Steuerknüppels nicht betroffen.
Im Anschluß an einen TIMER ON Befehl kommt es in Abständen von n Sekunden zu einer Zeitgeber-Aktivität. <Zeilennummer> ist die erste Zeile der Subrou tine, die GW-BASIC bei einer Zeitgeber-Aktivität ausführt. Wird eine Zeilennummer von 0 angege ben, so kommt es zu keiner Programmverzweigung bei Zeitgeber-Aktivitäten.
Seite 258
BASIC nicht berücksichtigt werden. Mit dem RETURN-Befehl am Ende der Subrou tine kann wahlweise eine Zeilenummer angegeben werden. In diesem Fall geht GW-BASIC zu der angegebenen Zeilennummer zurück. Dadurch wird der GOSUB-Eintrag eliminiert, den die Programm verzweigung erstellt hat. Diese Art des Rück...
GW-BASIC-BEFEHLE UND FUNKTIONEN ON TIMER 40 ON TIMER(60) GOSUB 100 50 TIMER ON 60 CLS 70 K$=INKEY$:IF K$=“” THEN 70 80 PRINT K$; 90 GOTO 70 100 REM ***** Befaßt sich mit Zeitgeber- Aktivität 110 BEEP 120 ROW=CSRLIN:COL=POS(0) 130 FOR V=1 TO ROW...
Syntaxform in Anführungszeichen stehen. Bei der zweiten Form benötigt nur die Dateispezifikation Anführungszeichen. Wird in einer der Syntaxformen der Modus weggelassen, so geht GW-BASIC vom Direktzugriff aus. Sequen tielle und Direktzugriffs-Dateien werden in Kapitel 5 “Dateien und Einheiten” beschrieben. 4-186...
Seite 261
Unabhängig davon, welche Syntaxform benutzt wird, ist <Dateinummer> ein ganzzahliger Aus druck, dessen Wert zwischen 1 und der Höchstzahl liegt, die beim Laden von GW-BASIC mit der Option /F festgelegt wurde. Diese Nummer ist dann mit der Datei verknüpft, solange sie eröffnet ist. Mit...
Seite 262
GW-BASIC-BEFEHLE UND FUNKTIONEN OPEN ben, geht GW-BASIC davon aus, daß die zu eröff nende Datei in dem aktuellen Diskettenlaufwerk liegt. Das Eröffnen einer Datenübertragungsdatei wird separat beschrieben (siehe OPEN COM). Eine Datei kann für die sequentielle Eingabe oder den Direktzugriff unter mehr als einer Dateinum...
Seite 263
GW-BASIC-BEFEHLE UND FUNKTIONEN OPEN 10 OPEN “GSTORY.TIM” AS #1 LEN=256 Mit der anderen Syntaxform sieht dieser Befehl fol gendermaßen aus: 10 OPEN “R”, #9, “C:STORY.TIM”, 256 Nachfolgend ein Beispiel für die Angabe eines Pfad namens: 30 OPEN “BITOPLVL \ BOTLVL \ INFO.OLD”...
GW-BASIC-BEFEHLE UND FUNKTIONEN OPEN “C O M OPEN “COM Befehl Syntax: OPEN “<Einh>:[<Geschwindigkeit>], [<Parität>] , [<Daten>] [<Stop>] [,RS] [,CS [n]] [,DS [n]] [, CD [n] [,LF] [,PE] ” AS [#] Dateinummer [LEN=Länge] Verwendung: Eröffnet eine Datenübertragungsdatei. Weist den Puffer für die Ein-/Ausgabe auf dieselbe Art und Weise wie OPEN bei Diskettendateien zu.
Seite 265
GW-BASIC-BEFEHLE UND FUNKTIONEN OPEN “C OM NONE: Beim Senden oder Empfan gen findet keine Paritätsprüfung statt. Standardmäßig wird eine gerade Parität (E) benutzt. <Daten> Eine ganzzahlige Konstante, die die Anzahl von gesendeten oder empfangenen Datenbits angibt. Gültige Werte sind 4, 5, 6, 7 und 8. Der Standard...
Seite 266
GW-BASIC-BEFEHLE UND FUNKTIONEN "COM OPEN DS<n> Steuert das DSR-Leitungssignal (Betriebsbereit schaft). Wird DS angegeben, so wird das Lei tungssignal nicht überprüft. Wird DSn einge geben, so wird mit n die Zeit (in Millisekunden) angegeben, während der das System wartet, bevor eine Fehlermeldung “Device Timeout”...
Seite 267
GW-BASIC-BEFEHLE UND FUNKTIONEN OPEN ‘‘COM tige Bit und führt zu einer Fehlermeldung “Device Error” (E/A-Fehler bei der Einheit). (Rahmen- und Überlauf-Fehler setzen unabhängig von der Datenlänge stets das höchstwertige Bit und fuhren zu der Fehlermeldung “Device Error”. <D ateinummer >...
Seite 268
GW-BASIC-BEFEHLE UND FUNKTIONEN OPEN “C OM Mit dem folgenden Befehl wird Dateinummer 2 für die Datenübertragung mit einer Baudrate von 2400 Bit/s eröffnet. Die Standardwerte lauten: gerade Parität, 7 Datenbits und 1 Stoppbit. Auch hier wird PE nicht angegeben. 10 OPEN “COML2400” AS #2 Mit dem folgenden Befehl wird Dateinummer 1 für...
Seite 269
GW-BASIC-BEFEHLE UND FUNKTIONEN OPEN “COM Zähler immer dann anpassen, wenn sie von GW- BASIC ausgefiihrt wird. Zum Beispiel: 10 ATTEMPT% = 5 20 ON ERROR GOTO 500 30 OPEN “COMl:„„ CS,DS,CD5000” AS #1 500 IF ERR 0 2 4 THEN GOTO 600...
Seite 270
Deklariert den Mindestwert für Indexgrenzen. Bemerkungen: Der Grundwert ist 0. Wird der Befehl OPTION BASE 1 ausgefuhrt, so kann der niedrigste Wert einer Index grenze 1 sein. GW-BASIC muß OPTION BASE ausfiihren, bevor eine Matrix definiert oder benutzt wird. 4-196 GW-BASIC...
Seite 271
GW-BASIC-BEFEHLE UND FUNKTIONEN OUT-Befehl Syntax: OUT I,J I ist die Anschluß-Nummer. Hier muß es sich um einen ganzzahligen Ausdruck in dem Bereich von 0 bis 65535 handeln. J entspricht den zu übertragenden Daten. Hier muß es sich um einen ganzzahligen Ausdruck in dem Bereich von 0 bis 255 handeln.
GW-BASIC-BEFEHLE UND FUNKTIONEN PAINT PAINT-Befehl PAINT (x,y) [[ <Effekt>] [,<Umriß>] Syntax: [Hintergrund] Die Koordinaten eines beliebigen Punktes inner halb des auszufüllenden Bereichs. Die Koordinaten können in der absoluten oder relativen Form (mit STEP) angegeben werden. <Effekt> Handelt es sich bei diesem Parameter um einen...
Seite 273
Deshalb bewegen Sie x,y einfach nach dem Zeichnen mit DRAW und vor dem Auszeichnen mit PAINT in die Figur. Wird eine Figur mit vielen Ecken mit PAINT gezeichnet, so braucht GW-BASIC mehr als den üblichen Stack-Platz. Mit dem CLEAR-Befehl kann GW-BASIC mehr Stack-Platz zugewiesen werden.
Seite 274
Überzeichnen-Byte nur vier Bild schirmpunkte in horizontaler Richtung dar. Der Grund dafür liegt darin, daß für jeden Punkt zwei Bits erforderlich sind, so daß GW-BASIC weiß, welche Farbe dieser Punkt hat. Deshalb müssen die 8 Bits jedes Überzeichnen-Bytes als vier Paare betrachtet werden.
Seite 275
Hintergrund mit einem Mindestaufwand an GW- BASIC Befehlen zeichnen. Stimmen mehr als zwei aufeinanderfolgende Linien in dem Muster mit “Hintergrund” überein, so erkennt GW-BASIC einen Fehler “Illegal func tion call” (Unzulässiger Funktionsaufruf). Beispiele: Mit dem ersten Beispiel wird ein Kreis in roter...
Seite 276
GW-BASIC-BEFEHLE UND FUNKTIONEN PAINT gezeichnet. Da der letzte Punkt, auf den Bezug genommen wird, dann die Mitte des Kreises ist, befindet sich PAINT schon innerhalb des Kreises und braucht nicht bewegt zu werden: STEP (0,0). Der Kreis wird dann mit grüner Farbe (Farbe 1 der Palette 0) ausgefüllt.
Seite 277
GW-BASIC-BEFEHLE UND FUNKTIONEN PAINT machen und lassen Sie GW-BASIC statt dessen Zeile 70 ausführen. Sie werden feststellen, daß das Zeichnen gestoppt wird, sobald die erste violette Linie gezeichnet werden soll. Beachten Sie, daß das Muster für das Überzeichnen in diesem Beispiel aus der Zeichenfolgenvariablen PATT$ genommen wurde.
GW-BASIC-BEFEHLE UND FUNKTIONEN PEEK PEEK-Funktion Syntax: PEEK(I) Verwendung: Gibt das aus dem angegebenen Speicherplatz (I) gelesene Byte zurück. Bemerkungen: Der zurückgegebene Wert ist eine Ganzzahl in dem Bereich von 0 bis 255.1 muß in dem Bereich von 0 bis 65535 liegen. I stellt den Abstand von dem aktuellen Segment dar, das mit dem letzten DEF SEG Befehl definiert wurde.
Dieser Befehl wird ausgegeben, sobald keine Daten mehr über den Lichtstift eingelesen werden müssen, da dies zu besseren Ausführungszeiten von GW-BASIC führt. In diesem Fall werden PEN-Akti- vitäten nicht mehr von GW-BASIC aufgezeichnet. Durch PEN STOP wird die Programmverzweigung ON PEN deaktiviert, GW-BASIC zeichnet jedoch sämtliche Aktivitäten des Lichtstiftes auf.
Seite 280
GW-BASIC-BEFEHLE UND FUNKTIONEN PEN-Funktion Syntax: PEN(n) n ist ein numerischer Ausdruck in dem Bereich von 0 bis 9, mit dem ein bestimmter zu lesender Wert des Lichtstiftes ausgewählt wird. Bemerkungen: Die Werte 0 bis 9 haben folgende Bedeutung: Hier handelt es sich um ein Flag, mit dem angegeben wird, ob der Schalter für den...
Seite 281
GW-BASIC-BEFEHLE UND FUNKTIONEN Gibt die Position der Zeichenspalte zurück, in der der Lichtstift das letzte Mal aktiviert wurde. Hier handelt es sich um einen Wert in dem Bereich von 1 bis 80 oder von 1 bis 40, je nach aktueller Einstellung der Bild...
MB - Musik im Hintergrund Die Musik wird im Hintergrund gespielt. Ein Puf ferspeicher aus bis zu 32 Noten spielt im Hinter grund, während GW-BASIC andere Befehle aus fuhrt. MF - Musik im Vordergrund Die Musik wird im Vordergrund gespielt. Jede...
Seite 283
GW-BASIC-BEFEHLE UND FUNKTIONEN PLAY ML - Musik Legato Spielt jede Note mit voller Länge (wie in L angege ben). MS - Musik Stakkato Spielt jede Note mit 3/4 der in L (Länge) angegebe nen Zeit. N <n> - Note Spielt die mit <n> angegebene Note. < n> kann von 0 bis 84 gehen und deckt so die Halbtöne mit...
Seite 284
GW-BASIC-BEFEHLE UND FUNKTIONEN PLAY mal so lange usw. Punkte können auch nach einer Pause (P) benutzt werden, um die Pausenlänge auf dieselbe Art und Weise festzulegen. X Variable; Führt die angegebene Zeichenfolge mit gültigen PLAY-Befehlen aus. > Note Erhöht die Skala um eine Oktave und spielt die angegebene Note A bis G mit der neuen Oktave.
Seite 285
PLAY muster mit Leerzeichen, während die Leertaste betätigt wird (Zeilen 40 bis 60). Mit Zeile 30 wird festgelegt, daß sich GW-BASIC ab Zeile 160 zu der Subroutine verzweigt, wenn die Anzahl von noch zu spielenden Noten für die Hin tergrundmusik von 1 auf 0 geht. Mit der Subroutine wird GW-BASIC angewiesen, den Hintergrundton (erneut) zu spielen.
Wird als erstes WINDOW benutzt, um ein karthesi- sches Koordinatenschema bei Grafiken mit niedri ger Auflösung festzulegen 10 SCREEN 1: WINDOW (-1,-1)<1,1) und wird dann: 20 PRINT PMAP(-1,0),PMAP( 1,0),PMAP(-1,1), PMAP(1,1) 30 PRINT PMAP(0,1),PMAP(0,0) ausgeführt, so zeigt GW-BASIC folgende Werte an: 199 0 100 160 4-212 GW-BASIC...
Seite 287
GW-BASIC-BEFEHLE UND FUNKTIONEN PMAP Für weitere Angaben über die Festlegung des Koor dinatenschemas mit diesem Befehl wird auf die Beschreibung von WINDOW verwiesen. GW-BASIC 4-213...
GW-BASIC-BEFEHLE UND FUNKTIONEN POINT POINT-Funktion Syntax: POENT(x,y) POINT(<Koord>) Verwendung: Liest die Farbe oder eine Koordinate des gerade adressierten Punktes auf dem Bildschirm. Bemerkungen: x und y müssen eine absolute Bildschirmposition angeben. Der bei Farbgrafiken mit niedriger und hoher Auflösung zurückgegebene Wert beträgt 0 bei...
Seite 289
GW-BASIC-BEFEHLE UND FUNKTIONEN POINT Mit dem nachfolgenden Programm werden Sie auf gefordert, eine x- und y-Koordinate einzugeben. Dieser Punkt wird dann mit dem Standardkoordi natensystem bei Grafiken mit niedriger Auflösung rot angezeigt (Ursprung oben links, 320 Punkte in horizontaler Richtung, 200 Punkte in vertikaler Richtung).
GW-BASIC-BEFEHLE UND FUNKTIONEN POKE POKE-Befehl POKE I,J Syntax: wobei I und J ganzzahlige Ausdrücke darstellen. Schreibt ein Byte in eine Speicherposition. Verwendung: Bemerkungen: I und J sind ganzzahlige Ausdrücke. Der Ausdruck I stellt die Adresse der Speicherposition dar. J ent...
Funktion wird die aktuelle Zeilenposition des Cur sors zurückgegeben. Beispiel: Durch IF POS(X)>30 THEN BEEP gibt GW-BASIC ein akustisches Signal (BEEP) aus, während der Cursor rechts von der dreißigsten Bildschirmspalte steht. Hinweis: Der Bildschirm kann aus 40 oder 80 Spalten beste...
GW-BASIC-BEFEHLE UND FUNKTIONEN PRESET UND PSET PRESET- und PSET-Befehle Syntax: PRESET(x,y) [,<Farbe>] PSET(x,y) [,<Farbe>] x und y geben einen Punkt auf dem Bildschirm an. “Farbe” gibt die Hintergrundfarbe (0) oder eine Farbe 1 bis 3 aus der aktuellen Farbpalette (bei Farbgrafiken mit niedriger und hoher Auflösung)
Seite 293
80 NEXT X% Hier wird auch auf die praktischen Übungen am Ende von Kapitel 3 verwiesen. Hinweis: GW-BASIC erkennt keinen Fehler, wenn Sie ver suchen, Punkte zu adressieren, die außerhalb des für das Zeichnen zur Verfügung stehenden Koordi natenbereichs liegen.
Seite 294
Die Position jedes gedruckten Elementes wird durch das Satzzeichen bestimmt, mit dem die Ele mente in der Liste voneinander getrennt werden. GW-BASIC unterteilt die Zeile in Zonen mit jeweüs 14 Leerzeichen. In der Liste mit Ausdrücken ver ursacht ein Komma, daß der nächste Wert am Anfang der nächsten Zone angezeigt wird.
GW-BASIC-BEFEHLE UND FUNKTIONEN PRINT punkt- oder Ganzzahl-Format) mit derselben Genauigkeit wie im skalierten Format (Gleitpunkt format) dargestellt werden können, werden im nichtskalierten Format ausgegeben. So wird 1 E-7 beispielsweise als .00000001 ausgegeben, 1E-8 wird jedoch als 1E-08 ausgegeben. Zahlen mit doppelter...
Seite 296
GW-BASIC-BEFEHLE UND FUNKTIONEN PRINT 21 IM QUADRAT IST 441 UND 21 HOCH DREI IST 9261 In dem folgenden Beispiel führen die Semikolons in dem PRINT-Befehl dazu, daß jeder Wert unmittel bar im Anschluß an den vorhergehenden Wert angezeigt wird. (Vergessen Sie nicht, auf eine Zahl folgt stets ein Leerzeichen.) In Zeile 40 wird ein Fra...
GW-BASIC-BEFEHLE UND FUNKTIONEN PRINT USING PRINT USING-Befehl Syntax: PRINT USING <Zeichenfolgenausdruck>;<Liste Ausdrücken> Verwendung: Druckt Zeichenfolgen oder Zahlen mit einem bestimmten Format aus. Bemerkungen/ <Liste mit Ausdrücken> besteht aus Zeichen- Beispiele: folgenausdrücken oder numerischen Ausdrücken, die durch Semikolon oder Komma getrennt aus...
Seite 298
GW-BASIC-BEFEHLE UND FUNKTIONEN PRINT USING Beispiel: 10 A$= “LOOK” :B$= “OUT” 30 PRINT USING ”!”;A$;B$ 40 PRINT USING “[ ]”;A$;B$ 50 PRINT USING “[ ]”;A$;B$;”Ü” ergibt LOOKOUT LOOK OUT!! Gibt ein Zeichenfolgenfeld mit variabler Länge an. Wird das Feld mit angegeben, so wird die Zei...
Seite 299
GW-BASIC-BEFEHLE UND FUNKTIONEN PRINT USING PRINT USING 0.78 PRINT USING “# # # .# # ”;987.654 987.65 PRINT USING “# # .# # ”; 10.2,5.3,66.789,.234 10.20 5.30 66.79 0.23 In dem letzten Beispiel wurden drei Leerstellen am Ende der Formatzeichenfolge eingefügt, um die ausgedruckten Werte auf der Zeile voneinander zu trennen.
Seite 300
GW-BASIC-BEFEHLE UND FUNKTIONEN PRINT USING Zahl ausgedruckt. Das $$ gibt zwei weitere Ziffem- positionen an, von denen eine das Dollarzeichen darstellt. Mit $$ kann das Exponentialformat nicht benutzt werden. Negative Zahlen können nicht benutzt werden, es sei denn, das Minuszeichen steht rechts.
Seite 301
GW-BASIC-BEFEHLE UND FUNKTIONEN PRINT USING E+xx. Für den Dezimalpunkt kann eine beliebige Position angegeben werden. Die signifikanten Zif fern sind linksbündig ausgerichtet und der Expo nent wird justiert. Es sei denn, ein führendes oder ab-schließendes + oder - wird angegeben, wird eine...
Seite 302
GW-BAS1C-BEFEHLE UND FUNKTIONEN PRINT USING PRINT USING “# # .# # ”;111.22 %111.22 PRINT USING “,# # ”;.999 %1.00 Überschreitet die Anzahl von angegebenen Ziffern 24, so kommt es zu einer Fehlermeldung “Illegal function call” (Unzulässiger Funktionsaufruf). GW-BASIC 4-228...
Zeichenfolgenausdrücke müssen in der Liste durch Semikolon voneinander getrennt werden. Damit die Zeichenfolgenausdrücke richtig in der Datei for matiert werden, werden in der Liste mit Ausdrük- ken explizite Abgrenzungszeichen benutzt. Zum Beispiel A$=“CAMERA” und B$= “93604-1”. Mit dem Befehl PRINT# 1, A$ ;B$ 4-229 GW-BASIC...
GW-BASIC-BEFEHLE UND FUNKTIONEN PRINT UND PRINT USING würde CAMERA93604-1 in die Datei geschrieben. Da keine Abgrenzungszeichen vorhanden sind, kann diese Angabe nicht als zwei separate Zeichen folgen eingegeben werden. Um dieses Problem zu umgehen, werden wie folgt explizite Abgrenzungs Zeichen in den PRINT#-Befehl eingefügt: PRINT#1,A$;”,”;B$...
Seite 305
GW-BASIC-BEFEHLE UND FUNKTIONEN P R IN T # UND P R IN T # USING schreibt folgendes Abbild in die Datei: “CAMERA,AUTOMATISCH“” 93604-1” Der Befehl INPUT# 1, A$,B$ würde “CAMERA, AUTOMATISCH” in A$ und “93604-1 in B$ eingeben. PRENT# kann auch mit der USING-Option benutzt werden, um das Format der Datei zu steuern.
PRINT# USING und WRITE# können Zeichen in den Direktzugriffspuffer gesetzt werden, bevor ein PUT-Befehl ausgeführt wird. Bei WRITE# füllt GW-BASIC den Puffer bis zur Zeilenschaltung mit Leerzeichen auf. Jeder Versuch, über das Ende des Puffers hinauszu schreiben, führt zu einer Fehlermeldung “Field overflow”...
Seite 308
GW-BASIC-BEFEHLE UND FUNKTIONEN PÜT (GRAFIK) PUT (Grafik)-Befehl Syntax: PUT (x,y),<Matrix>[,<Abbild>] Verwendung: Legt die Farben von Punkten auf dem Bildschirm mit Hilfe von Daten fest, die in einer Matrix gespei chert sind. Bemerkungen: “x,y” sind die Koordinaten der oberen linken Posi...
Seite 309
GW-BASIC-BEFEHLE UND FUNKTIONEN PUT (GRAFIK) grund wieder hergestellt Mit dieser Eigenschaft kann ein Objekt über den Bildschirm bewegt wer den, ohne den Hintergrund zu beeinflussen: 1. Mit XOR wird das Abbild auf den Bildschirm gesetzt (PUT). 2. Die nächste Position für das Abbild wird berech...
Seite 310
GW-BASIC-BEFEHLE UND FUNKTIONEN PUT (GRAFIK) Matrixwert für Punkt Alte Farbe Bildschirm punktes Matrixwert für Punkt Alte Farbe Bildschirm- Punktes Matrixwert für Punkt Al t e Far be Bi l dschi r m- P u n k te s Beispiel: Bei dem folgenden Programm wird das XOR- “...
Seite 311
GW-BASIC-BEFEHLE UND FUNKTIONEN PUT (GRAFIK) Mit Zeile 50 wird ein roter Kreis gezeichnet. Mit Zeile 55 wird dieser Kreis grün ausgefüllt. Da der Durchmesser des Kreises 20 Bildschirmpunkte beträgt, wird ein Bereich von 20 x 20 Bildschirm punkten von dem GET-Befehl (Zeile 70) gespei...
Seite 312
GW-BASIC-BEFEHLE UND FUNKTIONEN PUT (GRAFIK) 1005 X%=0:X%=0 1010 FOR LOOL°/o=l TO 5 1020 K$=INKEY$ 1030 X%=X°/o-4*(K$=“9” OR K$=“6” OR K$=“3”) + 4*(K$=“7” OR K$=“4” OR K$=‘T”) 1040 Y°/<r=4*(K$=“3” OR K$=“2” OR K$=“l ”) + 4*(K$=“9” OR K$=“8” OR K$=“7”) 1050 NEXT LOOK%...
Setzt einen neuen Ausgangspunkt für den Zufalls zahlengenerator. Bemerkungen: Wird <numerischer Ausdruck> weggelassen, so stellt GW-BASIC die Programmausführung ein und fordert durch Ausgabe von: Random Number Seed (-32768 to 32767)? (Ausgangszufallszahl (-32769 bis 32767)? einen Wert an, bevor RANDOMIZE ausgeführt wird.
Seite 314
“numerische Ausdruck” geliefert werden. In diesem Fall ist es am sinnvollsten, den Zähler für die Sekunden zu lesen: RANDOMIZE VAL (RIGHT$(TIM$,2)) Mit GW-BASIC 2.0 (siehe “Systemkompatibilität” in diesem Kapitel) kann die TIMER-Funktion benutzt werden. Bei dieser Funktion wird die VAL- Transformation umgangen. Außerdem ermöglicht sie einen breiteren Wertebereich, mit dem ein neuer Ausgangspunkt für den Zufallszahlengenera...
GW-BASIC-BEFEHLE UND FUNKTIONEN READ READ-Befehl READ <Liste mit Variablen> Syntax: Liest Datenelemente aus einer Datenliste und Verwendung: weist sie Variablen zu. Ein READ-Befehl muß stets in Verbindung mit Bemerkungen: DATA benutzt werden. READ weist Variablen ein Datenelement nach dem anderen zu. Ein aus einer DATA-Liste gelesenes Datenelement muß...
Seite 316
GW-BASIC-BEFEHLE UND FUNKTIONEN READ Dieses Programmsegment liest die Werte aus den Datenlisten (mit READ) in die (implizit definierte) Matrix A. Nach der Ausführung lautet der Wert von A(l) 3.08 usw. 10 PRINT “PLZ”, “STADT”, “STADTBEZIRK” 20 READ C$,S$,Z 30 DATA “8000 MÜNCHEN 40”...
GW-BASIC-BEFEHLE UND FUNKTIONEN REM-Befehl Syntax: REM <Bemerkung> Mit diesem Befehl können erläuternde Bemerkun Verwendung: gen in ein Programm aufgenommen werden. Bemerkungen: REM-Zeilen werden nicht ausgeführt, sondern genau so ausgegeben, wie sie bei Auflistung des Pro gramms eingegeben wurden. In REM-Zeilen kann von einem GOTO- oder GOSUB-Befehl gegangen werden.
Seite 318
GW-BASIC-BEFEHLE UND FUNKTIONEN Mit REM-Zeilen oder angefügten Bemerkungen, vor denen ein Apostroph steht, kann eine Program mauflistung in Abschnitte unterteilt und erläutert werden, wie das Programm arbeitet. Das Pro gramm sollte j edoch nicht mit zu vielen Bemerkun gen versehen werden, da sie Speicherplatz erfor...
GW-BASIC-BEFEHLE UND FUNKTIONEN RENUM RENUM-Befehl RENUM [<neue Nummer>][,[<alte Nummer>] Syntax: [,<Erhöhung>]] Numeriert Programmzeilen neu. Verwendung: Bemerkungen: <Neue Nummer> ist die erste Zeilennummer, die in der neuen Folge benutzt werden soll. Der Stan dardwert lautet 10. <Alte Nummer> entspricht der Zeile in dem aktuellen Programm, bei der mit der Neunumerierung begonnen werden soll.
Seite 320
GW-BASIC-BEFEHLE UND FUNKTIONEN RENUM RENUM1000,900,20 Numeriert die Zeilen ab 900 in aufsteigender Rei henfolge neu, so daß mit Zeile Nr. 1000 begonnen wird. Die Zeilennummern werden um jeweils 20 erhöht. GW-BASIC 4 -2 4 6...
GW-BASIC-BEFEHLE UND FUNKTIONEN RESEJ RESET-Befehl Syntax: RESET Verwendung: Schließt sämtliche Dateien in sämtlichen Laufwer ken ab. Bemerkungen: RESET schließt sämtliche eröffheten Dateien in allen Laufwerken ab und ergänzt das Inhaltsver zeichnis für jede Diskette, die über eröffhete Dateien verfügte. Sämtliche Dateien müssen abgeschlossen werden, bevor eine Diskette aus dem Laufwerk herausge...
GW-BASIC-BEFEHLE UND FUNKTIONEN RESTORE RESTORE-Befehl RESTORE [<ZeiIennuinmer>] Syntax: Verwendung: Mit diesem Befehl können DATA-Befehle ab einer angegebenen Zeile neu gelesen werden. Nach Ausführung eines RESTORE-Befehls greift Bemerkungen: der nächste READ-Befehl auf das erste Element in der ersten DATA-Liste in dem Programm zu. Wird <Zeilennummer>...
GW-BASIC-BEFEHLE UND FUNKTIONEN RESUME RESUME-Befehl RESUME Syntax: RESUME 0 RESUME NEXT RESUME <Zeilennummer> Setzt die Programmausführung fort, nachdem eine Verwendung: fehlerbehebende Maßnahme ausgeführt wurde. Jede der oben angeführten vier Syntaxformen kann Bemerkungen: benutzt werden, je nachdem, an welcher Stelle die Ausführung wieder aufgenommen werden soll:...
Seite 324
GW-BASIC-BEFEHLE UND FUNKTIONEN RESUME Hinweis: RENUMBER versucht nicht, die Zahl 0 in einem RESUME 0 Befehl zu ändern. Um Sie darauf hin zuweisen, gibt GW-BASIC eine Fehlermeldung “Undefined line number” (Undefinierte Zeilen nummer) aus. GW-BASIC 4-250...
RETURN RETURN-Befehl Syntax: RETURN [<Zeilennummer>] <Zeilennummer> gibt die Nummer der Pro grammzeile an, zu der GW-BASIC nach Ausfüh rung einer Subroutine zurückkehrt. Verwendung: Ermöglicht den Rücksprung aus einer Subroutine, in die mit GOSUB oder ON GOSUB gegangen wurde, in das Hauptprogramm.
GW-BASIC-BEFEHLE UND FUNKTIONEN RIGHTS RIGHT$-Funktion Syntax: RIGHT$(<Zeichenfolgenausdruck>,<Anzahl>) Verwendung: Gibt die rechtsbündigste <Anzahl> von Zeichen des <Zeichenfolgenausdrucks> zurück. Bemerkungen: Ist <Anzahl> größer als oder gleich der Anzahl von Zeichen in dem <Zeichenfolgenausdruck>, so wird die gesamte Zeichenfolge zurückgegeben. Ist <Anzahl> gleich 0, so wird die Nullzeichenfolge (Zeichenfolge mit der Länge 0) zurückgegeben.
Seite 327
Dateien und Unterverzeichnisse vorhanden sind. In diesem Beispiel müßte zuerst die Datei BERICHT mit KILL gelöscht werden, bevor der MRDER-Befehl ausgegeben werden kann. Hinweis: Bei GW-BASIC kann das übergeordnete Inhalts verzeichnis des Inhaltsverzeichnisses nicht GW-BASIC 4 -2 5 3...
Seite 328
GW-BASIC-BEFEHLE UND FUNKTIONEN RMDIR gelöscht werden, mit dem gerade gearbeitet wird. Wild dies dennoch versucht, so wird eine Fehler meldung “Path/file access” (Pfad-/Datei-Zugriff) angezeigt. Derselbe Fehler wird angezeigt, wenn noch Unterverzeichnisse des zu löschenden Inhaltsverzeichnisses vorhanden sind, oder wenn in dem Inhaltsverzeichnis noch Dateien vorhanden sind.
Seite 329
Gibt eine Zufallszahl mit einfacher Genauigkeit zwi schen 0 und 1 zurück. Bemerkungen: Die RND-Funktion bezieht sich auf eine Folge von Pseudo-Zufallszahlen, die intern von GW-BASIC gespeichert wurden. Diese Folge ist so aufgebaut, daß sie in jeder Beziehung eine Folge von Zufalls zahlen darstellt.
Seite 330
GW-BASIC-BEFEHLE UND FUNKTIONEN 20 PSET (RND*639,RND*199) 30 GOTO 20 Nun soll dasselbe Programm erneut ausgeführt werden, dieses Mal jedoch mit größeren Möglich keiten: 10 SCREEN 2:CLS 20 RANDOMIZE TIMER MOD 32767 30 PSET (RND*639,RND*199) 40 GOTO 20 In dem folgenden Programm werden wiederholt zwei Würfel geworfen, die beiden Zahlen addiert...
Seite 331
GW-BASIC-BEFEHLE UND FUNKTIONEN RSET RSET-Befehl siehe LSET GW-BASIC 4 -2 5 7...
Seite 332
GW-BASIC-BEFEHLE UND FUNKTIONEN RUN-Befehl Syntax 1: RUN [<Zeilennummer>] Verwendung: Führt ein gerade im Speicher stehendes Programm aus. Bemerkungen: Wird <Zeilennummer> angegeben, so beginnt die Ausführung mit dieser Zeile. Ansonsten beginnt die Ausführung mit der niedrigsten Zeilennummer. Syntax 2: RUN <Dateispez> [,R] Verwendung: Lädt eine Datei von Diskette in den Speicher und...
Seite 333
Dateien das ASCII-Format aufweisen. So setzt der MERGE-Befehl beispielsweise eine Datei im ASCII-Format voraus. Eine Datei im ASCII-For mat kann mit einem Editor oder mit dem NCR- DOS Befehl TYPE angezeigt werden. Mit der Option P wird die Datei geschützt, indem sie in einem codierten Binärformat gesichert wird.
Seite 334
Bildschirmanzeige bei dem NCR-PC, wenn die gelieferte GW-BASIC Version benutzt wird. <Ausgabeseite> bezieht sich auf die Nummer der Seite im Zeichenmodus, in die GW-BASIC die Bild schirmausgabe schreiben soll. Zulässige Werte sind die Werte 0 bis 7 bei einer Zeilenbreite von 40 Zei...
Seite 335
GW-BASIC-BEFEHLE UND FUNKTIONEN SCREEN das Programm in “Ausgabeseite” schreiben, ohne die aktuelle Bildschirmanzeige zu beeinträchtigen. Mit einem nachfolgenden SCREEN-Befehl kann der “Anzeigeseite” dann dieselbe Nummer wie der “Ausgabeseite” zugewiesen werden. In diesem Fall wird die im Hintergrund erstellte Bildschirmseite sofort angezeigt. Für sämtliche Sei...
Seite 336
GW-BASIC-BEFEHLE UND FUNKTIONEN SCREEN Soll das Programm sowohl auf einem Monochrom als auch auf einem Farb-Bildschirm ausgefiihrt wer den, so geben Sie SCREEN 0 GW-BASIC 4-262...
Seite 337
GW-BASIC-BEFEHLE UND FUNKTIONEN SCREEN SCREEN-Funktion Syntax: SCREEN(<Zeüe>,<Spalte>L<Attribut>]) Verwendung: Gibt den ASCü-Code (0 bis 255) des gerade in einer bestimmten Position auf dem Bildschirm angezeig ten Zeichens zurück. Bemerkungen: <Zeile> ist ein numerischer Ausdruck in dem Bereich von 1 bis 25, mit dem die Zeilennummer angegeben wird.
Seite 338
GW-BASIC-BEFEHLE UND FUNKTIONEN SCREEN Weist X°/oden ASCÜ-Code des Zeichens in Zeile 10, Spalte 1 zu. 210 C%= SCREEN (10,1,1) Weist C°/oeine Zahl in dem Bereich von 0 bis 255 zu, die die Anzeigeeigenschaften für diese Zeichenposi tion darstellt. GW-BASIC 4-264...
Seite 339
GW-BASIC-BEFEHLE UND FUNKTIONEN SGN-Funktion Syntax: SGN(X) Verwendung: Gibt den Wert von X relativ zu 0 an: Ist XX), so gibt SGN(X) 1 zurück. Ist X=0, so gibt SGN(X) 0 zurück. Ist X<0, so gibt SGN(X) -1 zurück. Beispiel: ON SGN(X)+2 GOTO 100,200,300 Verzweigt sich zu 100, wenn X negativ ist, zu 200 wenn X gleich 0 ist und zu 300, wenn X positiv ist.
Seite 340
(Kein Speicherplatz mehr) angezeigt. Muß das Programm mit dem SHELL-Befehl eine Datei verarbeiten, so darf diese Datei zum Zeit punkt der Ausführung des SHELL-Befehls nicht geöffnet sein. GW-BASIC kann die Datei erneut öff nen, sobald das Programm mit dem SHELL-Befehl beendet ist. Beispiel: 10 OPEN “SORTTN.DAT”...
Seite 341
>SORTOUT.DAT” 1020 OPEN “SORTOUT.DAT” FOR INPUT AS Bei diesem Beispiel wird der NCR-DOS Befehl SORT benutzt, um die während des GW-BASIC Programms eingegebenen Daten zu sortieren. Beachten Sie, daß die Datei abgeschlossen werden muß (Zeile 1000), bevor der SHELL-Befehl aus- geführt wird.
Seite 342
SIN(X) Syntax: Gibt den Sinus von X zurück, wobei X in Radianten Verwendung: angegeben wird. Der Sinus wird mit einfacher Genauigkeit aus Bemerkungen: gewertet, es sei denn, beim Laden von GW-BASIC wird die Option angegeben. PRINT SIN(1.5) Beispiel: ergibt .9984951...
Seite 343
GW-BASIC-BEFEHLE UND FUNKTIONEN SOUND SOUND-Befehl Syntax: SOUND <Frequenz>,<Dauer> <Frequenz> Gibt die Frequenz in Hertz (Zyklen pro Sekunde) an. An dieser Stelle wird die gewünschte Zahl von 37 bis 32767 angegeben (siehe folgende Tabelle mit Noten und Frequenzen). <Dauer> Gibt die gewünschte Länge des Tons in Zeiteinhei...
Seite 344
GW-BASIC-BEFEHLE UND FUNKTIONEN SOUND Bemerkungen: SOUND erzeugt einen Ton, der ausgegeben wird, bis ein anderer SOUND-Befehl angetroffen wird. Wird ein SOUND-Befehl mit einer “Dauer” von 0 angetroffen, so wird jeder gerade ausgeführte Ton ausgeschaltet. (Wird gerade kein SOUND-Befehl ausgeführt, so hat SOUND “Frequenz”,0 keine Aus...
Seite 345
GW-BASIC-BEFEHLE UND FUNKTIONEN SOUND 20 SOUND I, 0,5 30 NEXT 40 FOR I = 2200 TO 220 STEP -20 50 SOUND I, 0.5 60 NEXT GW-BASIC 4-271...
Seite 346
GW-BASIC-BEFEHLE UND FUNKTIONEN SPACES SPACE$-Funktion Syntax: SPACE$(X) Verwendung: Gibt eine Zeichenfolge zurück, die aus X Leerzei chen besteht. Bemerkungen: Der Ausdruck X wird gegebenenfalls auf eine Ganz zahl abgerundet, die in dem Bereich von 0 bis 255 liegen muß. Beispiel:...
Seite 347
GW-BASIC-BEFEHLE UND FUNKTIONEN SPC-Funktion Syntax: SPC(I) Überspringt Leerstellen in einem PRINT- oder Verwendung: LPRINT-Befehl. I entspricht der Anzahl von zu überspringenden Leerzeichen. Bemerkungen: SPC kann nur mit PRINT und LPRJNT benzutzt werden. I muß in dem Bereich von 0 bis 255 liegen.
Seite 348
GW-BASIC-BEFEHLE UND FUNKTIONEN SQR-Funktion Syntax: SQR(X) Verwendung: Gibt die Quadratwurzel von X zurück. Bemerkungen: X darf keine negative Zahl sein. Beispiel: 10 FOR X%= 10 TO 25 STEP 5 20 PRINT SQR(X°/o) 30 NEXT X% ergibt 3.162278 3.872984 4.472136 GW-BASIC...
Seite 349
GW-BASIC-BEFEHLE UND FUNKTIONEN STICK STICK-Funktion Syntax: STTCK(n) n ist ein numerischer Ausdruck, der eine Ganzzahl in dem Bereich von 0 bis 3 zurückgibt. Verwendung: Gibt die x- und y-Koordinaten der beiden Steuer knüppel zurück. Bemerkungen: n kann folgende Werte annehmen: 0 - Gibt die x-Koordinate für Steuerknüppel A...
Seite 350
GW-BASIC-BEFEHLE UND FUNKTIONEN STOP STOP-Befehl Syntax: STOP Verwendung: Beendet die Programmausführung und kehrt auf Befehlsebene zurück. Bemerkungen: STOP-Befehle können an beliebiger Stelle in einem Programm benutzt werden, um die Ausfüh rung zu beenden. STOP wird häufig für das Aus testen benutzt. Im Anschluß an STOP können Pro...
Seite 351
GW-BASIC-BEFEHLE UND FUNKTIONEN STR$ STR$-Funktion STR$(X) Syntax: Gibt den Wert in Form einer Zeichenfolge zurück, Verwendung: der sich aus dem numerischen Ausdruck X ergeben hat. Bemerkungen: Ist X positiv, so steht vor der Zeichenfolgendarstel lung ein einzelnes Leerzeichen. Aus diesem Grund ist die Länge der von STR$ zurückgegebenen Zei...
Seite 352
Aktiviert und deaktiviert die Programmverzwei gung bei Betätigung der Tasten für den Steuer knüppel. Bemerkungen: Wird STRIG ON angegeben, so prüft GW-BASIC vor jeder Ausführung eines Befehls, ob eine Taste betätigt wurde. Mit STRIG OFF wird GW-BASIC angewiesen, die Betätigung der Tasten für die Steuerknüppel zu ignorieren.
Seite 353
GW-BASIC-BEFEHLE FUNKTIONEN STRIG STRIG-Funktion Syntax: STRIG(n) Verwendung: Gibt an, ob eine Taste für einen Steuerknüppel betätigt wird oder seit der letzten Überprüfung betätigt wurde. Bemerkungen: n ist ein numerischer Ausdruck in dem Bereich von 0 bis 7. Eine von vier Tasten kann überprüft wer...
GW-BASIC-BEFEHLE UND FUNKTIONEN STRINGS STRING$-Funktion STRING$(I,J) STRING$(I,X$) Syntax: Gibt eine Zeichenfolge mit der Länge I zurück, bei Verwendung: der sämtliche Zeichen den ASCE-Code J oder das erste Zeichen des Zeichenfolgenausdrucks X$ auf weisen. 10 X$=STRING$( 10,45) Beispiel: 20 PRINT X$ “MONATSBERICHT” X$ ergibt - - MONATSBERICHT —...
Seite 355
GW-BASIC-BEFEHLE UND FUNKTIONEN SWAP SWAP-Befehl Syntax: SWAP <Variablel>, <Variable2> Verwendung: Tauscht die Werte von zwei Variablen aus. Bemerkungen: Jeder beliebige Variablentyp kann ausgetauscht werden (Ganzzahl, Variable mit einfacher Genauig keit, Variable mit doppelter Genauigkeit, Zeichen folgenvariable). Die beiden Variablen müssen jedoch denselben Typ aufweisen.
Seite 356
SYSTEM Verwendung: Schließt sämtliche eröffheten Dateien ab und gibt die Kontrolle an NCR-DOS zurück. Jedes im Speicher stehende GW-BASIC-Pro- Bemerkungen: gramm ist verloren, wenn SYSTEM ausgefuhrt wird. Deshalb sollte das Programm mit SAVE gesi chert werden, wenn es seit Ausführung des letzten SAVE-Befehls aktualisiert wurde.
Seite 357
TAB kann nur in PRINT, PRINT# und LPRINT Befehlen benutzt werden. Wird TAB am Ende einer Liste mit PRINT- oder LPRINT-Elementen angegeben, so betrachtet GW-BASIC TAB als Befehl mit einem Semikolon. Aus diesem Grund kommt es zu keiner automati schen Zeilenschaltung. 10 PRINT “NAME” TAB(25) “BETRAG”...
Seite 358
Gibt den Tangens von X zurück. Der Winkel X wird in Radiant ausgedrückt. Bemerkungen: Der Tangens wird mit einfacher Genauigkeit berechnet, es sei denn, Sie geben beim Laden von GW-BASIC die Option /D an. Beispiel: 10 RADS=0.78 20 PRINT TAN(RADS) ergibt .9892613...
Seite 359
20:00:00 eingegeben. 10 TIME$= “08:00:00” Beispiel: Die gegenwärtige Zeit wird auf 8.00 Uhr morgens festgelegt. Hinweis: Wurde die Zeit auf NCR-DOS Befehlsebene festge legt, so braucht sie innerhalb von GW-BASIC nicht erneut festgelegt zu werden. GW-BASIC 4 -2 8 5...
Seite 360
GW-BASIC-BEFEHLE UND FUNKTIONEN TIMES TIME$-Funktion TIME$ Syntax: Verwendung: Überträgt die gegenwärtige Zeit. (Für die Festle gung der Zeit wird der TIME$-Befehl benutzt.) Bemerkungen: Die TIME$-Funktion gibt eine aus acht Zeichen bestehende Zeichenfolge in der Form hh:mm:ss zurück, wobei hh die Stunde (00 bis 23), mm die Minuten (00 bis 59) und ss die Sekunden (00 bis 59) darstellt.
Seite 361
Null. TIMER gibt ganze Sekunden oder Bruchteile von Sekunden zurück. Beispiel: Das folgende Programm vermittelt Ihnen einen Eindruck, wieviel Zeit in einer GW-BASIC Verzöge rungsschleife vergeht: 10 INPUT “Wieviele Ausführungen der Schleife” ;R 20 TTME$ = “00:00:00:” 30 FOR X%= 1 TO R: NEXT X% 40 PRINT TIMER;...
GW-BASIC-BEFEHLE UND FUNKTIONEN TRON und TROFF TRON- und TROFF-Befehle Syntax: TRON TROFF Verwendung: Verfolgt die Ausführung von Programmbefehlen. Bemerkungen: Als Testhilfe aktiviert TRON (im direkten oder indirekten Modus) ein Ablaufverfolgungs-Flag, das jede Zeilennummer des Programms ausdruckt, während sie ausgeführt wird. Die Nummern stehen in eckigen Klammem.
Seite 363
GW-BASIC-BEFEHLE UND FUNKTIONEN USR-Funktion USR[<Ziffer>] [(<Parameter>)] Syntax: <Ziffer> gibt an, welche USR-Routine aufgerufen wird. Die Regeln für “Ziffer” werden unter DEF USR beschrieben. Wird “Ziffer” weggelassen, so wird von USRO ausgegangen. <Parameter> ist der Parameter, der der Subrou tine übergeben wird. Hier kann es sich um einen beliebigen numerischen Ausdruck oder einen Zei...
Seite 364
GW-BASIC-BEFEHLE UND FUNKTIONEN Hinweis: Ist kein Programm in der Maschinensprache erfor derlich, um einen Wert an das BASIC-Programm zurückzugeben, so hat die Variable links von dem Gleichzeichen in dem Befehl mit der USR Funktion nur eine Pseudo-Funktion. Eine andere Möglichkeit für den Zugriff auf eine Subroutine in der Maschinensprache besteht in der Benutzung des CALL-Befehls.
Seite 365
GW-BASIC-BEFEHLE UND FUNKTIONEN VAL-Funktion Syntax: VAL(X$) Gibt den numerischen Wert des Zeichenfolgenaus Verwendung: drucks X$ zurück. Mit der VAL-Funktion werden Leerzeichen, Tabs und Zeilenvorschübe aus der Parameterfolge gelöscht. So gibt: VAL(a -3”) beispielsweise -3 zurück. Bemerkungen: Beginnt die Zeichenfolge nicht mit numerischen Zeichen, so gibt VAL 0 zurück.
Seite 366
GW-BASIC-BEFEHLE UND FUNKTIONEN VARPTR VARPTR-Funktion Syntax 1: VARPTR(<Variablenname>) VARPTR(#<Dateinummer>) Syntax 2: Syntax 1 Verwendung: Gibt die Adresse des ersten Datenbytes zurück, das mit <Variablenname> gekennzeichnet wird. Vor der Ausführung von VARPTR muß <Variablen- name> ein Wert zugewiesen werden; ansonsten kommt es zu einer Fehlermeldung “Illegal function call”...
Seite 367
Beispiel: 10 PLAY “X” + VARPTR$(A$) Benutzt den Unterbefehl X plus der Adresse von A$ als Zeichenfolgenausdruck in dem PLAY-Befehl. In dem gelieferten GW-BASIC Interpreter ist dies gleichbedeutend mit: 10 PLAY “XA$;” Hinweis: Da sich die Matrixadressen ändern, wenn eine neue Variable zugewiesen wird, müssen stets alle einfa...
Seite 368
(xl,yl)-(x2,y2) sind die Koordinaten der oberen lin ken und oberen rechten Ecke des rechteckigen Anzeigeausschnittes. Im Gegensatz zu den meisten anderen Koordinatenangaben bei GW-BASIC müs sen diese Koordinaten tatsächlich verfügbare Bild schirmpunkte darstellen. Ansonsten wird eine Feh lermeldung “Illegal function call” (Unzulässiger Funktionsaufruf) angezeigt.
Seite 369
GW-BASIC-BEFEHLE UND FUNKTIONEN VIEW Wird das Wort SCREEN angegeben, so wird der von den Grafik-Befehlen adressierte physische Bildschirmbereich durch den Anzeigeausschnitt nicht geändert. Jedoch werden nur die Teile, die in den Anzeigeausschnitt fallen, tatsächlich angezeigt. Nur jeweils ein Anzeigeausschnitt kann aktiv sein.
Seite 370
GW-BASIC-BEFEHLE UND FUNKTIONEN VIEW diesen Anzeigeausschnitt fallt, wird dann tatsäch lich gezeichnet (Zeile 40). 10 SCREEN l:CLS:COLOR 0,0 20 CIRCLE (160,100),96,1 30 VIEW SCREEN (1,1)<159,99)„2 40 CIRCLE (160,100),90,3 GW-BASIC 4 -2 9 6...
Seite 371
Ausdruck J und danach eine AND- Operation mit dem Ausdruck I ausgeführt. Ist das Ergebnis gleich Null, so geht GW-BASIC zurück und liest die Daten an der Anschlußposition erneut. Ist das Ergebnis nicht gleich Null, so wird die Aus...
Seite 372
Ist <Ausdruck> wahr (d.h. ergibt sich ein von Null abweichender Wert), so werden “Schleifen- Befehle” ausgeführt, bis WEND angetroffen wird. GW-BASIC geht dann zu dem WHILE-Befehl zurück und prüft <Ausdruck>. Ist der Ausdruck noch immer wahr, so wird der Vorgang wiederholt.
Seite 373
WHILE und WEND gender ASCH-Reihenfolge sortiert. Die führenden Leerzeichen in den Zeilen 115 bis 140 entsprechen einer Programmier-Konvention, die sich auf die Ausführung der Befehle durch GW-BASIC nicht auswirkt. Sie reflektieren nur die Tiefe der Ver schachtelung. GW-BASIC 4 -2 9 9...
Seite 374
Datei, die für eine Einheit eröffnet ist. <Größe> Numerischer Ausdruck in dem Ganzzahlbereich von 1 bis 255. Hier handelt es sich um die neue Breite. Wird 0 angegeben, so geht GW-BASIC von 1 aus. <Einheit> Zeichenfolgenausdruck, der die Einheit kennzeich...
Seite 375
Der vorhergehende Wert wird beibehalten. Bei Benutzung des WIDTH-Befehls gehen keine Daten verloren. Nach Senden der mit <Größe> angegebenen Anzahl von Zeichen fügt GW-BASIC einfach eine Zeilenschaltung hinzu. Soll beispiels weise eine 60 Zeichen umfassende Zeile bei einem 40-Zeichen-Drucker ausgegeben werden und haben Sie WIDTH 40 angegeben, so werden die ersten 40 Zeichen auf einer Zeile und die 20 näch...
Seite 376
Ecken des Bild schirms in Form von Zahlen mit einfacher Genauig keit dar. So kann mit dem Programm beispiels weise festgelegt werden, daß GW-BASIC den Bild schirm bei Grafiken mit niedriger Auflösung als einen Bildschirm aus 240 (horizontalen) x 150 Punkten betrachten soll.
Seite 377
GW-BASIC-BEFEHLE UND FUNKTIONEN W INDOW Auflösung automatisch festgelegt wird. Mit dem fol genden Befehl: WINDOW SCREEN(0,0X639,399) wird dieses Schema explizit festgelegt. In Abbildung 2 wird das karthesische Koordinaten schema mit dem Ursprung (0,0) in der Mitte des Bildschirms dargestellt. Die Koordinaten werden hier symbolisch in Form von 1,0 und -1 angegeben, um den Übergang von negativen zu positiven Wer...
Seite 378
GW-BASIC-BEFEHLE UND FUNKTIONEN W INDOW WINDOW ( - 1 ,- 1 X 1 ,1 ) Abbildung 3 enthält die verallgemeinerte Form des in Abbildung 1 angegebenen Koordinatenschemas für Grafiken mit hoher Auflösung. Der entspre chende WENDOW-Befehl sieht folgendermaßen aus: GW-BASIC...
Seite 379
GW-BASIC-BEFEHLE UND FUNKTIONEN W INDOW WINDOW SCREEN (-1,-1H1,1) Beim Sortieren der Koordinatenpaare durch WIN DOW wird beispielsweise die Angabe von: WINDOW (200,200X10,10) WINDOW (10,10X200,200) interpretiert. Ein neu festgelegtes Fenster gilt für nachfolgende Grafiken. Es beeinflußt nicht den aktuellen Bildschirminhalt. Die beiden Koordinatengruppen in dem WIN...
Seite 380
GW-BASIC-BEFEHLE UND FUNKTIONEN W INDOW ein Zoom-Out erzeugt. Die in Zeile 143 gezeichne ten Kästchen sind für das Zoom-In geeignet. Für REM- Zoom -O ut versuchen Sie, diese Z eile zur Zeile zu machen und REM aus Zeile 145 zu löschen.
Seite 381
GW-BASIC-BEFEHLE UND FUNKTIONEN WRITE WRITE-Befehl WRITE [<Liste mit Ausdrücken>] Syntax: Gibt Daten auf dem Bildschirm aus. Verwendung: Bemerkungen: Wird <Liste mit Ausdrücken> weggelassen, so wird eine Leerzeile ausgegeben. Wird “Liste mit Ausdrücken” angegeben, so werden die Werte der Ausdrücke auf dem Bildschirm ausgegeben. Bei den Ausdrücken in der Liste kann es sich um nume...
Seite 382
GW-BASIC-BEFEHLE UND FUNKTIONEN WRITE$ WRITE#-Befehl Syntax: WRITE#<Dateinummer>, <Liste mit Ausdrücken> Verwendung: Schreibt Daten in eine sequentielle Datei. Bemerkungen: <Dateinummer> ist die Nummer, unter der die Datei mit OPEN eröffnet wurde. Bei den Ausdrük- ken in der Liste handelt es sich um Zeichenfolgen...
Gehäuses kann als „Gerät“ betrachtet werden. Dateien und Geräte werden in einem gemeinsamen Kapitel behandelt, weil GW-BASIC mit ihnen auf gleiche Weise verkehrt. Jede Art von Datenein- bzw. Datenausgabe kann so behandelt werden, als würde sie sich auf eine Plattendatei beziehen. cAuf jeden Fall müssen die besonde- ^ ren physischen Eigenschaften des Gerätes berücksichtigt werden.
Seite 384
In der Regel wird das Laufwerk ausdrücklich angegeben, wenn die zu bearbeitende Datei sich auf einer anderen als der gegenwärtig aktivier ten Platte befindet. Die hier gezeigte GW-BASIC Version gibt Ihnen auch die Möglichkeit, einen Zugangspfad zu einer Datei ausdrücklich festzulegen.In Ihrer NCR-DOS Bedienungsanleitung finden Sie alles über Inhaltsverzeich...
Seite 385
/! VERKAUF/! SEPP/ [BERICHT oder ../!SEPP/!BERICHT auf die Datei mit dem Namen BERICHT im Inhaltsverzeichnis JOHN. Um Zugang zu der Datei BERICHT unterhalb von Maria zu erhalten, müßte der Pfad folgendermaßen festgelegt werden: ../ IMARIA/ [BERICHT oder /! VERKAUF/ !MARIA/ BERICHT. GW-BASIC...
Bezeichnung von Dateien verwendet wird. Ihre NCR-DOS Bedienungsanleitung informiert Sie ausführlich über die Anzahl der Dateien und Unterverzeichnisse, die auf Dateien Platz haben. Die GW-BASIC Befehle ermöglichen es Ihnen, den Pfad innerhalb der Ihhaltsverzeichnisstruktur zu bestimmen bzw. zu ändern: CHDIR MKDIR...
Standardeingabegerät ist die Tastatur und Standardausgabegerät ist der Bildschirm. Die Standard-Ein- und Ausgabe läßt sich an Dateien bzw. entsprechenden Geräten neu zuweisen. Dies wird durch Festlegung der (or)-Angabe in der NCR-DOS Befehlszeile erreicht, die GW-BASIC ladet.. Beispiele: GW-BASIC ANYPROG >PROTOCOLL.DSK bedeutet, daß...
DATEIEN UND GERÄTE GW-BASIC SECRET «COLLECT.DAT wird der Information hinzugefügt, die sonst die Bildschirmausgabe für die Plattendatei COLLECT.DAT. wäre. Abgesehen von der Eingabe- und Ausgabe-Neuzuweisung werden: • Fehlermeldungen immer noch am Bildschirm ausgegeben. • INPUT$ und Eingabe vom festgelegten Gerät KYBD leiten sich von der Tatstatur her ab.
Seite 389
Wettervorhersage schnell ausführen zu können. Be obachtungen, die in der Zeit schon länger zurückliegen, sind für Archive bestimmt und lassen sich in chronologischer Reihenfolge auf Dateien mit sequentiellem Zugriff abspeichem. Ein schneller Zugriff ist bei ihnen GW-BASIC...
Beginnen Sie Programm mit dem RUN-Befehl und geben Sie folgende Musterdaten in Beantwortung auf die Aufforderungen NAME, ABTEI LUNG und BESCHÄFTIGT SEIT NAME? MICKEY MOUSE ABTEILUNG? AUDIO/VISUAL AIDS BESCHÄFTIGT SEIT? 01/12/72 NAME? SHERLOCK HOLMES ABTEILUNG? FORSCHUNG BESCHÄFTIGT SEIT? 12/03/65 NAME? EBENEZER SCROOGE ABTEILUNG? BUCHHALTUNG BESCHÄFTIGT SEIT? 04/26/78 GW-BASIC...
Ausgabeoperation ist, brauchen Sie „O“ bzw. OUTPUT beim Eröffnen einer Datei nicht angeben, andernfalls wird die vorhandene Datei zer stört. Stattdessen sollten Sie die Datei für APPEND (Anhängen) öffnen, nachträglich in die Datei eingeschriebene Einträge werden dann an die vorhandenen Einträge hinzugefügt. GW-BASIC...
MKI$, MKS$, MKD$ - wandelt numerische Daten in Zeichenket tenform zur Eingabe in die Datei um. CVI, CVS, CVD - wandelt Zeichenketten in numerische Werte um, die aus der Datei gelesen wurden. GET - liest einen Eintrag aus der Platte in den Dateipufferspeicher 5-10 GW-BASIC...
Wert in einen Wert von einfacher Genauigkeit und MKD$ wan delt einen ganzzahligen Wert in einen Wert mit doppelter Genauig keit um. Zum Beispiel: LSET N$=M$ LSET A$=MKS$(AMT) P$=TEL$ 4. Schreiben Sie die Daten aus dem Pufferspeicher in Befehl. Zum Bei spiel: PUT#l,CODE% 5-11 GW-BASIC...
Die ersten Schritte für den Zugang einer vorhandenen Datei mit direk tem Zugriff sind die gleichen wie bei der Ersterstellung einer Datei. Ist die Datei immer noch vom vorausgehendem Gebrauch geöffnet, erübri gen sich die beiden Anfangsschritte. 1. Datei im “R” Modus öffnen (OPEN). OPEN “R”,#1,“FILE”,32 oder 5-12 GW-BASIC...
60 PRINT USING “$ $ # # # .# # ”;CVS(A$) 70 PRINT P$:PRINT 80 GOTO 30 80 GOTO 30 Musterprogramm für direkten Zugriff Im folgenden finden Sie ein Bestandsprogramm für Dateien mit direk tem Zugriff. In diesem Programm wird die Datensatznummer als Teile- GW-BASIC 5-13...
Seite 396
DATEIEN UND GERÄTE nummer betrachtet und man nimmt an, daß sich der Bestand aus nicht mehr als 100 verschiedenen Teilenummem zusammensetzt. Die Zeilen 900 bis 960 initialisieren die Datei, dadurch daß jeder Datensatz mit CHR$(225) beginnt. Später (Zeile 270 und 500) werden diese Programm zeilen verwendet, um zu ermitteln, ob für die betreffende Teilenummer bereits ein Eintrag vorhegt.
720 IF CVI(Q$)<CVI(R$) THEN PRINT D$;“MENGE”; CVI(Q$) TAB(50) “NACHBESTELLUNG” ;CVI(R$) 730 NEXT I 740 RETURN 840 INPUT “TEILENUMMER” PART% 845 REM DATENSATZ FÜR TEIL LESEN 850 IF(PART%<1)OR(PART%>100)THEN PRINT “FALSCHE TEILENUMMER” :GOTO 840 ELSE GET# 1 ,PART°/o:RETURN 900 REM NEUE DATEI ANLEGEN 5-15 GW-BASIC...
930 FOR 1=12 TO 100 940 PUT# 1,1 950 NEXT I 960 RETURN DATENÜBERTRAGUNG Dieser Abschnitt behandelt die GW-BASIC Programmschritte, die zur Unterstützung der asynchronen Datenübertragung gemäß RS-232 mit anderen Computern und Peripheriegeräten (mit oder ohne XON-XOFF Protokol) erforderlich sind. ERÖFFNEN EINER DATENÜBERTRAGUNGSDATEI Mit dem OPEN COM-Befehl wird ein Pufferspeicher für die Ein-/Aus-...
Daten verarbeitet sind. Dies kann durch Senden eines XOFF (CHR$(19)) und XON (CHR$(17)) Befehls an den zentralen Rechner bzw. Gerät, die an Ihren NCR PC Daten übertragen, geschehen. XOFF weist den zentralen Rechner an, das Senden zu unterbrechen.
Bescheid wissen müssen, wenn Sie Datenübertragungsprogramme schreiben wollen. Ausgabessignale Wenn Sie auf Ihrem NCR Personal Computer mit GW-BASIC zu arbei ten beginnen, werden die Signalleitungen „Sendeanforderung (RST) und „Datenendeinrichtung betriebsbereit“ (DTR) erst eingeschaltet, wenn ein Open-Befehl ausgefuhrt wird. Das RTS-Signal kann durch Angabe der RS-Option im OPEN COM-Befehl unterdrückt werden.
Außerdem wird eine Fehlermeldung „Device Fault“ oder „Device Timeout“ angezeigt. BEISPIELPROGRAMM Mit dem folgenden Programm kann der NCR PC als Dialogterminal ver wendet werden. Neben der Vollduplex-Übertragung ermöglicht das Pro gramm, Daten in eine Datei zu senden oder umgekehrt. Neben der Verdeutlichung der einzelnen Elemente der asynchronen Datenübertragung soll dieses Programm die Übertragung von GW-...
Seite 402
Zeichen werden sie ausgegeben. 4. Wurde nur das Zeichen M eingegeben, so ist der Benutzer für das Fernladen einer Datei bereit. Deshalb muß der Dateiname ermittelt werden. 5. Wurde nur ein E eingegeben, so stoppt das Pro gramm bei 9000-9040. 5-20 GW-BASIC...
Seite 403
Nun wird wieder mit dem Menu gearbeitet. 800-880 Hier handelt es sich wieder um eine Warteroutine, die dann benutzt wird, wenn der Sender auch Zei chen empfangt Empfangt der Sender XOFF, muß vor der Fortsetzung des Sendens gewartet werden, bis XON empfangen wird. 5-21 GW-BASIC...
Seite 404
DATEIEN UND GERÄTE 1000-1060 Hier handelt es sich um eine Senderoutine. Bis zum Ende der Plattendatei wird folgender maßen vor gegangen: Einlesen eines Zeichens in A$ mit der INPUT#- Funktion. Senden des Zeichens an die Datenüber tragungseinheit in 1015. (Wird ein Zeichen empfan gen, wird die Warteroutine für XON anstelle von XOFF aufgerufen, Zeile 1015).
Seite 405
640 FOR 1=1 TO J 650 PRINT #3,BUF$(I); 660 NEXT I 670 CLOSE #3:CLS:LOCATE 24,10:PRINT “»Übertragung abgeschlossen*” 680 GOTO 200 800 B$=INPUT$(1,#) 810 IF B$=XOFF$ THEN GOTO 850 820 PRINT #2,B$ 830 IF LOC(1)=0 THEN RETURN 840 GOTO 800 850 B$=INPUT$(1,#1) 5-23 GW-BASIC...
Seite 406
1015 PRINT #1,A$; 1020 IF LOC(l)X) THEN GOSUB 800 1030 WEND 1040 PRINT # 1,CHR$(2 6);’ctrl-Z schließt Datei ab. 1050 CLOSE #3:CLS:LOCATE 23,10:PRINT “**Datenempfang abgeschlossen***”; 1060 GOTO 200 9000 CLOSE #1 9010 CLOSE #2 9030 KEY ON 9040 END 5-24 GW-BASIC...
Variablen. Außerdem benötigt GW-BASIC für die Interpretation und Ausführung der Rechenvorgänge genügend Platz. Neben dem Speicher bereich, der für GW-BASIC und NCR-DOS reserviert ist, können auch alle anderen Speicherfelder für GW-BASIC verwendet werden. Andern falls kann ein Teil des GW-BASIC Speicherbereichs verwendet werden.
AUSFÜHRUNG VON MASCHINENCODE-PROGRAMMEN GWBASIC /M:,4H2 GW-BASIC 64 KB an Speicherplatz zu und reserviert 256 Byte unmittel bar oberhalb des Speicherbereichs für GW-BASIC für Ihren Gebrauch. Eine andere Methode der Speicherreservierung für Unterprogramme, ist innerhalb des GW-BASIC Speicherbereichs Speicherplätze zu reser...
Seite 409
BLOAD-Funktion nach einem DEF SEG-Befehl benutzen oder, wenn das Unterprogramm nicht mehr als 64 KB oberhalb des Anfangs des GW-BASIC Programmfeldes liegen soll, können Sie es an eine Adresse, die als Offset zum Anfang des betreffendeen Bereichs angegeben ist, laden.
Befehlszählers, den Sie nach Laden der .EXE-Datei vermerkt haben, ist als Offset anzugeben. 6. Der BLOAD-Befehl in Ihrem GW-BASIC Programm, der das Unter programm ladet, braucht den Offset, an den es sich befinden soll, nicht anzugeben. GW-BASIC nimmt den Offset-Wert an, den es im BSAVE-Befehl für die betreffende Datei verwendet hat.
Wenn Ihr Unterprogramm den Inhalt einer Zeichenvariablen beeinflus sen soll, ist es zweckmäßig, sich zu vergewissern, daß GW-BASIC zuerst die Zeichenkettenvariable in ihren eigenen Arbeitsbereich kopiert, dadurch daß es an der Zeichenkette eine Operation vornimmt. Zum Bei...
Seite 412
Das folgende Beispiel zeigt eine einfache arithmetische Operation im Assembler Unterprogramm. Die beidien Zahlen für die Substraktion gelangen durch das GW-BASIC Programm in die Ganzzahl-Variablen 1% und J%, das Ergebnis wird R% zurückgegeben. C ATI .-An weisong aus dem GW-BASIC-Programm:...
Seite 413
Handelt es sich beim Parameter um eine Zahl, so gelangt der Wert in den 8-Bit Gleitkomma-Akkumulator im GW-BASIC Datenfeld. Das BX- Register zeigt dann auf das fünfte Byte des FAC. • Wenn die Zahl ganzzahlig ist, enthalten das fünfte und sechste Byte der FAC die niederwertigen bzw.
Kapitel 7 Für PEEKer und POKEr Dieses Kapitel informiert Sie über die Art, wie GW-BASIC von den Hard ware-Möglichkeiten Ihres NCR-Personal Computers Gebrauch macht. Die GW-BASIC Speicherbelegung und Informationen über den Aufbau der Variablen sind ebenfalls in diesem Kapitel enthalten.
FÜR PEEKER UND POKER Speicher verwendet, informieren wollen, dann lesen Sie weiter. Sie kön nen die Informationen dieses Kapitels an die GW-BASIC PEEK und IN- Funktionen und an die POKE- und OUT-Befehle anwenden. Mit dem PEEK-Befehl läßt sich der Wert eines einzelnen Byte im Spei...
FÜR PEEKER UND POKER NCR-DOS P rogram m segm ent: 10 GW-BASIC :0000 Interpreter A rbeitsbereich :xxxx GW-BASIC c o ^ Program m :YYYY Einfache Variablen Feldvariablen Speicherplatz fü r Zeichenketten Obere Speichergrenze CM <8 GW-BASIC oder Stapel :FFFF A000:0000 System (einschließl.
Byte des Steuerblocks für die betreffende Datei. Diese Adresse stellt den Offset für den Anfang des GW-BASIC Datenfeldes dar. Dabei ist es wichtig, daß Sie beachten, daß es sich hier um einen GW-BASIC und nicht um einen NCR-DOS Datei-Steuerblock handelt. Der Aufbau des Datei-Steuerblocks ist folgendermaßen:...
Seite 419
SAVE-Vorgangs. Nicht verwendet für eine Textdatei. Position der Ausgabe bei Tabulaturerweite rung. Physischer Datenpuflfer, der zur Datenübertra gung zwischen NCR-DOS und GW-BASIC ver wendet wird. Dieser Offset ist zu verwenden, um Daten bei sequentieller Ein- und Ausgabe zu überprüfen. Datensatz von variabler Länge. Standardwert: 128.
BASIC ermittelt. Dieser Offset ist zu verwen den, um Textdateien im Direktzugriffmodus zu prüfen. TASTATUR Der Tastaturpuffer kann bis zu 15 Zeichen speichern. Beim Versuch mehr einzugeben, ertönt bei Ihrem NCR Personal Computer ein Warn ton. Der Tastaturpuffer kann mit dem Befehl DEF SEG=0 gefolgt von POKE 1050,PEEK(1052) gelöscht werden.
Seite 421
Abwechselnde Adressen für Zeichen und Attribut lassen sich auf die gleiche Weise wie beim Adapter mit einfarbigem Bildschirm verwenden. Der einzige Unterschied besteht darin, daß der Attributwert einen Farb- effekt auf dem Bildschirm hat: Vordergrundfarbe - Bit: blau grün GW-BASIC...
Das Bild am Bildschirm wird in zwei Durchläufen auf bereitet, der Durch lauf am Bildschirm erfolgt jeweils von oben nach unten. Speicherbelegung für Grafiken mit m ittlerer und hoher Auflösung Speicheradresse #B8000 geradzahlige Bildschirmpunkte 0,2,4,...,198) V#B9F3F frei #BA000 ungeradzahlige Bildschirmpunkte (1,3,5,...,199) #BBF3F GW-BASIC...
Seite 423
Bildschirmpunkte (0,4,8,...,398) #BBF3F -------------------- ------------------------ frei #B<^nnn ungeradzahlige Büdschirmpunkte (1,5,9,...,397) ..T T U X X KJJL #A8000 10,...,398) #ABF3F frei Ttf-APOOO T r A V v O O — ungeradzahlige Büdschirmpunkte #AFF3F (3,7,11,...,399) -------------------- ------------------------ GW-BASIC...
Register, in dem die Farbattribute in Form von drei Farb- kanonen der Kathodenstrahlröhre vermerkt sind. Dieses Register ist über den Port &H309 mit Hilfe des GW-BASIC OUT-Befehls zugänglich. Die 6 niederwertigsten Bit von den 8 Bit in diesem Register sind dabei von Bedeutung.
Seite 425
FÜR PEEKER UND POKER &H3D8 mit Hilfe des GW-BASIC OUT-Befehls zugänglich. Die 6 nieder wertigen Bit von 8 Bit sind von Bedeutung. Wenn folgende Bit gesetzt sind, erfolgt: Bit 0 stellt die Bildschirm-Taktuhr auf langsam = “0”, oder schnell Bit 1 wählt den Grafikmodus, andernfalls gilt der Textmodus Bit 2 wählt eine einfarbige Bildschirmanzeige, andernfalls wird eine...
10 DEF SEG 20 POKE &H4E,COL% ZEICHENSATZ Sie können die Bitmuster des Standard ASCII-Teils des GW-BASIC Zei chensatzes untersuchen und ausgeben. Diese Zeichen sind im ROM Ihres NCR Personal Computers gespeichert. Das ROM befindet sich an der Speicheradresse F000:0000 (Paragraph: Offset). Der 8x8 Bildpunkt- Zeichensatz beginnt bei F000:FA6E und belegt Adressen bis zu F000:FE6D.
Seite 427
FÜR PEEKER UND POKER 120 SHFT=256 140 FOR Y=1 TO 8 150 SHFT=SHFT/2 160 IF INT(BYTE/SHFT)= 1 THEN BYTE=BYTE:PRINT CHR$(249);ELSE PRINT“”; 170 NEXT Y 175 PRINT 180 NEXT X GW-BASIC 7-13...
Anhang A Reservierte Wörter Reservierte Wörter sind Wörter, die von GW-BASIC als Befehle und Funktionen erkannt werden. Daher können diese Wörter nicht als Namen für Variable verwendet werden (der Zusatz %!,# oder $ als Typenvereinbarung ändert nichts an dieser Tatsache). Ein reserviertes Wort kann jedoch Bestandteil eines Variablennamens sein.
Seite 430
LLIST PRINT# LOAD PSET TROFF TRON LOCATE RANDOMIZE USING READ LPOS RENUM VARPTR LPRINT RESET VARPTRS LSET RESTORE VIEW WAIT MERGE RESUME MID$ RETURN WEND MKDIR RIGHT$ WHILE MKD$ RMDIR WIDTH WINDOW MKI$ MKS$ RSET WRITE WRITE# SAVE MOTOR GW-BASIC...
Anhang B Zeichensatz Dieser Anhang besteht aus einer Liste von Zeichen, die GW-BASIC zur Verfügung stehen. Für j edes einzelne Zeichen ist der ASCII-Code angege ben. So ist zum Beispiel der Codewert für das Fragezeichen 63, und der Befehl PRINT CHR$(63);...
Seite 432
&H Zeichen Wert zeichen Wert (Null) (Leerzeichen) • ♦ & ♦ (Lautsprecher) ■ (Tab) (Zeilenvorschub) (Grundstellung) (Papiervorschub) (CR) ü ► ◄ § ♦ ♦ ■*- (Cursor nach rechts) < (Cursor nach links) (Cursor nach oben) > (Cursor nach unten) GW-BASIC...
Seite 434
ZEICHENSATZ ASCII- ASCII- &H Zeichen &H Zeichen Wert Wert ✓ Ü ä ä £ — » 1 / 2 1 / 4 Ä « Ä » Ä ö ö ü < t £ — i GW-BASIC...
Seite 435
Tastencode, der sich auf die jeweilige Position auf der Tastatur bezieht. Dies gilt nur dann, wenn der Modus der betref fenden Taste (Shift, Control, Alt oder keiner) in der folgenden Liste auf- gefuhrt ist. Zweites Taste(n) Zeichen (Nullzeichen) NUL GW-BASIC...
Seite 436
ZEICHENSATZ (shift tab) *- 16-25 Alt- Q,W,E,R,T,Y,U,I,0,P Alt- A,S,D,F,G,H,J,K,L 30-38 Alt- Z,X,C,V,B,N,M 44-50 59-68 Funktionstasten Fl bis F10 (wenn nicht im programmierten Zustand) Home Cursor, nach oben PgUp Cursor nach links Cursor nach rechts Ende Cursor, nach unten PgDn F11-F20 (Shift-Fl bis F10) 84-93 94-103 F21-F30 (Ctrl- Fl bis F10)
Anhang C Fehlermeldungen Hat GW-BASIC in Ihrem Programm einen Fehler entdeckt, wird die Ausführung des Programms gewöhnlich abgebrochen und eine Fehler meldung, die Sie darüber informiert, was Sie falsch gemacht haben, wird am Bildschirm ausgegeben. Ein Fehlerzustand ist meistens darauf zurückzuführen, daß...
Seite 438
Bad file number File not found Bad file mode File already open Device I/O error File already exists Disk full Input past end Bad record number Bad file name Direct statement in file Too many files Device unavailable Communication buffer overflow GW-BASIC...
Seite 439
Unzulässige Dateinummer. Ein Befehl verweist auf eine Datei mit einer Dateinummer, die nicht eröffnet wurde oder sich außerhalb der Datei- nummem befindet, die beim Laden von GW-BASIC angegeben wurden oder der Name des Geräts war zu lang oder unzulässig. Überprüfen Sie den Namen und die Nummer der Datei im OPEN- Befehl für die betreffende Datei.
Seite 440
Zeichen schneller empfangen werden als das Programm sie verarbeiten kann, sind folgende Maßnahmen zu berücksichtigen: 1. Vergrößern Sie über die /C Option den Datenübertragungs -emp- fangsbuflfer beim Laden von GW-BASIC. 2. Wenn der Sender ein „handshaking“ Protokoll unterstützen kann, ziehen Sie eines in Ihr Datenübertragungsprogramm ein. Somit kann das verarbeitende Programm an der Eingabe Schritt halten.
Seite 441
Ihr Programm hat die Datenübertragung zum Gerät unterbrochen. Zum Beispiel wurde die COM 1-Anweisung durch Angabe der /C Option beim Wert 0 während des Ladevorgangs von GW-BASIC unterbrochen. Ist dies der Fall, müssen Sie wieder auf die Betriebsebene (SYSTEM) zurückkehren und GW-BASIC erneut laden.
Seite 442
DIM-Befehl wird erteilt, nachdem die Standardgröße 10 für die betreffende Feldvariable durch eine implizite Definition einge richtet wurde; oder GW-BASIC ist auf einen OPTION BASE-Befehl nach der ersten Benennung oder nach dem Gebrauch einer Feldvaria blen gestoßen.
Seite 443
4. Ein falsches Argument für einen Zeichenketten-Verarbeitungsbe- fehl oder eine Funktion. 5. Eine negative Datensatznummer, die mit Hilfe der Befehle GET oder PUT verwendet wird. 6. Einen Versuch ein geschütztes BASIC Programm aufzulisten oder zu editieren. 7. Einen Versuch Zeilennummem zu löschen, die nicht existieren. GW-BASIC...
Seite 444
Sie die betreffende Datei zunächst schließen und dann wieder für die Eingabe öffnen. Internal error Interner Fehler. Eine interne Störung ist in GW-BASIC aufgetreten. Kopieren Sie nochmals Ihre Diskette. Überprüfen Sie die Hardware und versuchen Sie nochmals die Operation.
Seite 445
Fehlerbehandlungsroutine unterzogen werden kann. Um einen Ganz zahlüberlauf zu korrigieren, müssen Sie kleinere Zahlen oder Variable von einfacher bzw. doppelter Genauigkeit verwenden. Wenn ein numerisches Ergebnis so klein ist, daß es GW-BASIC nicht ausdrucken kann, ist das Ergebnis Null und der Programmablauf wird ohne Fehlermeldung fortgesetzt.
Seite 446
STOP oder END-Befehl überall dort anzuwenden, wo angenommen wird, daß das Programm anhält. RETURN without GOSUB RETURN ohne GOSUB. GW-BASIC hat einen RETURN-Befehl ent deckt, für den es noch keinen entsprechenden GOSUB-Befehl gibt. Die häufige Ursache für diese Fehlermeldung ist die, daß Ihr Programm wei...
Seite 447
Indexwert zugeordnet wurde, die sich nicht in der Feldvariablen befindet. Syntax error Syntaxfehler. GW-BASIC hat eine Zeile entdeckt, die eine falsche Zei chenfolge enthält (z.B. unpaarige Klammem, falsch buchstabierte Befehle, falsche Satzzeichen etc.). Eine solche Fehlermeldung kann auch dann auftreten, wenn man mit einem READ-Befehl versucht, Daten (DATA) mit falscher Benennung einer Variablen zuzuordnen.
Seite 448
WHILE without WEND ohne WEND. Ein WHILE-Befehl hat kein entsprechendes WHILE WEND. WHILE war immer noch aktiv, als das physikalische Ende des Programms erreicht wurde. Das Programm ist so zu berichtigen, daß jedes WHILE ein entsprechen des WEND besitzt. C-12 GW-BASIC...
Um die definierte Funktion aufzurufen, wird folgender Befehl benötigt: ERGEBNIS = FNCOTAN(WINKEL> Beachten Sie, daß Sie die internen GW-BASIC Funktionen als Bestand teil Ihrer Funktionsdefinitionen verwenden können. In diesem Beispiel wird die Funktion TAN verwendet. Innerhalb der Vorschriften für die Namensvergebung von Variablen können Sie Ihrer Funktion jeden...
Dezimale und Hexadezimale Zahlen Die Umwandlung einer Dezimalzahl in ihr hexadezimales Äquivalent erfolgt bei GW-BASIC in Form der HEX$-Funktion (siehe Kapitel 4 „Befehle und Funktionen“). Diese Funktion ergibt das hexadezimale Äquivalent für die Dezimalzahl im Bereich - 32768 bis 65535 (falls die Zahl negativ ist, wird ein Zweierkompliment verwendet).
AnhangF Positionen auf der Tastatur Ihr NCR-PC bezieht sich intern auf die jeweiligen Tasten der Tastatur anhand der Tastenpositionen. Normalerweise beziehen Sie sich beim Programmieren mit GW-BASIC auf die jeweilige Taste anhand des auf der Taste aufgedruckten Namens, zum Beispiel: 10 K$ = INKEY$ : IF K$ = “N”...
Seite 454
POSITIONEN AUF DER TASTATUR ~ T “ 4 2 - s 1 ß ß f ß ' <40 ♦ CD a § ß C N ► CO * l8 - ' öS <8 GW-BASIC...
Seite 456
□BE] Personal C o m p u te r D ivisio n A ugsburg, G erm any 017-0040227...