Herunterladen Inhalt Inhalt Diese Seite drucken
Inhaltsverzeichnis

Werbung

Personal
Computer
:
..
.
iSS;S»
.
GW™-BASIC

Werbung

Inhaltsverzeichnis
loading

Inhaltszusammenfassung für NCR GW-BASIC

  • Seite 1 Personal Computer ■ iSS;S» GW™-BASIC...
  • 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­...
  • Seite 7: Inhaltsverzeichnis

    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...
  • Seite 15: Einführung In 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.
  • Seite 19: Rückkehr Zum Ncr-Dos Betriebssystem

    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­...
  • Seite 20: Speichern Und Laden Eines Programms

    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.
  • Seite 21: Übungen

    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­...
  • Seite 24: Betriebsarten

    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.
  • Seite 25: Der Zeichensatz

    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“...
  • Seite 28: Konstanten

    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...
  • Seite 30: Ariablen

    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­...
  • Seite 31: Anmerkung

    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.
  • Seite 32: Feldvariablen

    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ü­...
  • Seite 33: Speicherplatzbedarf

    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­...
  • Seite 35: Übungen

    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...
  • Seite 36: Print Pc;" % Von ";Zahl" = ";Ergebnis

    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­...
  • Seite 38: Ausdrücke Und Operatoren

    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%...
  • Seite 39: Arithmetische Operatoren

    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:...
  • Seite 40: Ganzzahl-Division Und Modulus-Arithmetik

    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­...
  • Seite 41: Überlauf Und Division Durch Null

    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...
  • Seite 42: Logische Operatoren

    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.
  • Seite 45: Funktionale Operatoren

    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.
  • Seite 46: Berechnung Von Ausdrücken

    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.
  • Seite 47: Übungen

    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­...
  • Seite 53: Bildschirmeditor

    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­...
  • Seite 54: Funktion

    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.
  • Seite 61: Anzeige Am Bildschirm

    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.
  • Seite 65: Graphikmodus

    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­...
  • Seite 66: Standardaufiösung

    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.
  • Seite 67: Übungen

    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...
  • Seite 75: Gw-Basic Befehle Und Funktionen

    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­...
  • Seite 78: Chdir

    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­...
  • Seite 79: Eof

    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-...
  • Seite 82: Zeichen Auf Bildschirm Oder Drucker

    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...
  • Seite 83: Color(Graphikmodus)

    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.
  • Seite 85: Common

    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...
  • Seite 88: Mathematische Funktionen

    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ß...
  • Seite 89: Programmunterbrechung

    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...
  • Seite 121: Befehl Benutzt Wird, So Wird Der Bildschirm

    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...
  • Seite 137: Data

    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...
  • Seite 140: Deffn

    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­...
  • Seite 142: Defint/Sng/Dbl/Str

    $) 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...
  • Seite 145: Defusr

    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.
  • Seite 146: Delet E

    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).
  • Seite 147: Dim

    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ß...
  • Seite 148: Draw

    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)-...
  • Seite 155: Environ

    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.
  • Seite 156: Environ

    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...
  • Seite 161: Error

    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­...
  • Seite 163: Exp

    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.
  • Seite 164: Field

    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.
  • Seite 166: Files

    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­...
  • Seite 168: Fix

    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ß...
  • Seite 169: For

    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...
  • Seite 171: Locate 23,33 :Print "Das Tier-Menü" 70 For A%= 1 To 6 80 Print

    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$...
  • Seite 173: F R E

    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­...
  • Seite 174: Get(Dateien)

    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:...
  • Seite 177: Get(Graphik)

    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...
  • Seite 178: Gosub

    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”;...
  • Seite 180: Goto

    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...
  • Seite 182: Hex

    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­...
  • Seite 187: Inkey

    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...
  • Seite 189: Inp

    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.
  • Seite 196: Input

    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.
  • Seite 198: Int

    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.
  • Seite 199: Key

    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­...
  • Seite 203: Key(N)

    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.
  • Seite 205: Kill

    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...
  • Seite 206: Lcopy

    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...
  • Seite 207: Left

    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.
  • Seite 208: Len

    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...
  • Seite 209: L E T

    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...
  • Seite 210: Line

    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...
  • Seite 214: Line Input [Eingabeaufforderung^]

    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...
  • Seite 215: Line Input

    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.
  • Seite 216: List

    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...
  • Seite 219: Load

    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­...
  • Seite 220: L O C

    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.
  • Seite 221: Locate

    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...
  • Seite 224: Datei In Bytes

    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.
  • Seite 225: Log

    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...
  • Seite 226: Lpos

    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.
  • Seite 227: Lprint And Lprint Using

    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);...
  • Seite 229: Lset And R E Se T

    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­...
  • Seite 231: Merge

    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.
  • Seite 235: Mkdir

    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­...
  • Seite 236: Mki$,Mks$, Mkd

    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­...
  • Seite 237: Name

    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­...
  • Seite 238: New

    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.
  • Seite 239: Oct

    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.
  • Seite 240: On Com(N)

    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.
  • Seite 243: On Error Goto

    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­...
  • Seite 247: On Key

    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”...
  • Seite 250: On Pen

    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.
  • Seite 252: On Play

    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...
  • Seite 255: On Strig

    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.
  • Seite 257: On Timer

    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­...
  • Seite 259: Aktivität

    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...
  • Seite 260: O Pen

    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”...
  • Seite 264: Open "Com

    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.
  • Seite 272: Paint

    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.
  • Seite 278: Peek

    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.
  • Seite 279: Pen

    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­...
  • Seite 282: Play

    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.
  • Seite 286: Pmap

    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...
  • Seite 288: Point

    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).
  • Seite 290: Poke

    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­...
  • Seite 291: Pos

    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­...
  • Seite 292: Preset And P S E T

    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.
  • Seite 295: Im Quadrat Ist 81 Und 9 Hoch Drei Ist

    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­...
  • Seite 297: Print Using

    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...
  • Seite 303: Print

    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...
  • Seite 304: Print# And Print# U Sin G

    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.
  • Seite 306: Pset

    GW-BASIC-BEFEHLE UND FUNKTIONEN PSET PSET-Befehl siehe PRESET GW-BASIC 4-232...
  • Seite 307: Put (Dateien)

    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%...
  • Seite 313: Randomize

    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­...
  • Seite 315: Read

    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”...
  • Seite 317: Rem

    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­...
  • Seite 319: Renum

    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...
  • Seite 321: Reset

    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­...
  • Seite 322: Restore [ ]

    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>...
  • Seite 323: Resume

    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...
  • Seite 325: Return

    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.
  • Seite 326: R Ig H T

    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­...
  • Seite 354: X$=String$( 10,45) 20 Print X$ "Monatsbericht"

    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;...
  • Seite 362: Tron- Und Troff-Befehle

    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­...
  • Seite 383: Dateien Und Geräte

    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...
  • Seite 386: Rmdir

    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...
  • Seite 387: Namen Der Geräte

    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ß...
  • Seite 388: Wie Verwendet Man Plattendateien

    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...
  • Seite 390: Dateien Mit Sequentiellem Zugriff

    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...
  • Seite 391: Run

    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...
  • Seite 392: Einfügen Von Datensätzen In Eine Datei Mit Sequentiellem Zugriff

    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...
  • Seite 393: Erstellen Einer Datei Mit Direktem Zugriff

    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...
  • Seite 394: Anmerkung

    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...
  • Seite 395: Musterprogramm Für Direkten Zugriff

    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.
  • Seite 397: Print D$:Input "Dem Lagerbestand Hin­ Zufügen" ;A

    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...
  • Seite 398: Datenübertragung

    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-...
  • Seite 399: Die Input$-Funktion

    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.
  • Seite 400: Steuersignale

    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.
  • Seite 401: Beispielprogramm

    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...
  • Seite 407: Ausführung Von Maschinencode-Programmen

    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.
  • Seite 408: Verwendung Des Reservierten Speichers

    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.
  • Seite 410: Wie Gw-Basic Unterprogramme Aufruft

    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.
  • Seite 411: Call

    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.
  • Seite 415: Für Peeker Und Poker

    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.
  • Seite 416: Gw-Basic Und Ncr Pc-Speicher

    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­...
  • Seite 417: Variablen

    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.
  • Seite 418: Steuerblock Einer Datei

    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.
  • Seite 420: Tastatur

    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...
  • Seite 422: Speicher Zur Darstellung Graphischer Zeichen

    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...
  • Seite 424: Auswahl Der Farben

    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...
  • Seite 426: Input "Zeichen";Ch$ 60 For X=1 To

    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...
  • Seite 429: Reservierte Wörter

    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...
  • Seite 431: Zeichensatz

    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 433 ZEICHENSATZ ASCII- ASCII- &H Zeichen &H Zeichen Wert Wert ♦ — 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)
  • Seite 437: Überblick Über Fehlerzahlen

    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...
  • Seite 449: Zusätzliche Funktionen

    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...
  • Seite 450 ARCSINH(X) = LOG(X+SQR(X*X+l)) bohscher Sinus Invertierter hyper­ ARCCOSH(X) = LOG(X+ SQR(X* *X-1)) bolischer Kosinus Invertierter hyper­ ARCTANH(X) = LOG(l+X)/(l-X))/2 bolischer Tangens Invertierte hyper­ ARCSECH(X)=LOG(l+SQR(l-X*X))/X) bolische Sekante Invertierte Kosekante ARCCSCH(X) = LOG(( 1+SGN(X) *SQR(1+X*X))/X) Invertierter hyper­ bolischer Kotangens ARCCOTH(X) = LOG((X+l))/(X-l))/2 GW-BASIC...
  • Seite 451: Dezimale Und Hexadezimale Zahlen

    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).
  • Seite 453: Positionen Auf Der Tastatur

    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...

Inhaltsverzeichnis