Verfahren) ohne schriftliche Genehmigung von Sinclair Research Limited reproduziert oder unter Verwendung elektronischer Systeme ver- arbeitet, vervielfältigt oder verbreitet werden. Sinclair und Sinclair QL sind Markenzeichen von Sinclair Research Limited QL, QlUB, QlNet, Qdos and Ql Microdrive...
Einführung WICHTIG srrrs BEVOR SIE DIE APPLIKATIONEN BENUTZEN, LESEN SIE DIE NACH- STEHENDE BESCHREIBUNG, UM ARBEITSKOPIEN ZU ERSTELLEN. ARBEITSKOPIEN Fertigen Sie bitte immer mindestens eine Arbeitskopie an, bevor Sie eines der vier OL Programme benutzen. Arbeiten Sie dann immer nur mit der Arbeitskopie. Be- wahren Sie die Original kassetten mit den Programmen sicher auf.
Seite 4
IHR NEUER Herzlichen Glückwunsch zu Ihrem neuen OL. Damit besitzen Sie einen äußerst lei- stungsfähigen Personal Computer. Sie werden viel Freude haben, wenn Sie sich die Leistungsfähigkeit Ihres neuen per- sönlichen Computers erschließen. Dabei will Ihnen dieses Anwenderhandbuch hel- fen. Die Möglichkeiten, die Ihnen ein Computersystem wie der OL bietet, sind nicht ein- fach Seite nach Seite auf bedrucktem Papier zu beschreiben.
Seite 5
Datenverwaltung, Tabellenkalkulation und Grafik arbeiten wollen, so finden Sie im Abschnitt Einführung auch eine Einführung in die QL Programme. Diese Einführung sagt Ihnen alles über das Laden der Programme, wie Sie grundsätzlich mit ihnen arbeiten und wie Sie z. B. mit den Programmen im Netzwerk arbeiten können.
Seite 6
Organisation des QL und über das QDOS-Betriebssystem; über die Arbeit mit zusätzlichen Peripheriegeräten u.v. a. m. Wenn Sie dann viel Erfahrung im Umgang mit Ihrem QL gewonnen haben, wollen Sie vielleicht noch tiefer einsteigen und weitere Möglichkeiten nutzen. Auch dazu stehen Ihnen Hilfen bereit: Software DerQL Tool-Klt mit vielseitigen Programmierwerkzeugen.
EINFÜHRUNG IN DEN QL Wenn Sie die Verpackung öffnen, finden Sie: Den QL Computer Das QL Anwenderhandbuch Das Netzteil Zwei Taschen mit Microdrive-Kassetten Eine enthält: QL Abacus QL Archive QL Easel QLOuili Die andere enthält: QL Utilities 3 leere Microdrive-Kassetten Zwei Kunststoffüße...
Es ist auch rund zwei Meter lang. Die Stecker sind an beiden Enden gleich. Mit die- sem Kabel können Sie Ihren OL mit anderen QL's verbinden. Damit können Sie ein Netzwerk aufbauen, in dem es möglich ist, Daten und Programme zwischen mehre- ren OL's auszutauschen.
EINFÜHRUNG ANSCHLIESSEN Schon mit zwei Verbindungen ist Ihr QL betriebsbereit. Das Netzteil Das Netzteil besitzt zwei Kabel. Eines wird mit der Steckdose verbunden. Der kleine Stecker des anderen Kabels wird in den Anschluß an der Rückseite des OL gesteckt, der mit POWER bezeichnet ist. Am Netzteil befindet sich auch der Einl Aus- schalter.
EINFÜHRUNG Jetzt wird der OL eingeschaltet und das Fernsehgerät auf das OL Signal abge- stimmt. Das OL Signal liegt bei Kanal 36. Stimmen Sie den Fernseher also in einem Bereich ab, in dem Sie auch das ZDF empfangen können. Wenn Sie Ihr Gerät richtig abgestimmt haben, dann zeigt es folgendes Bild, vorausgesetzt, Sie haben keine Tasten am OL gedrückt.
EINFÜHRUNG Wenn Sie keine Programm-Kassette eingelegt haben, sehen Sie nach kurzer Zeit ein rotes Blinkzeichen links unten am Bildschirm. Das ist der sogenannte Cursor. Jetzt ist der OL bereit, Ihre Aufträge entgegenzunehmen. DIE TASTATUR Die Tastatur des OL sieht fast aus wie eine normale Schreibmaschinentastatur. werden nur einige Tasten finden, die auf der Schreibmaschine nicht vorhanden sind.
QL Printer Ein Drucker ist für Sie, wenn Sie den OL intensiv nutzen wollen, ein fast unentbehrli- ches Zubehör. Den QL Printer schließen Sie einfach an, indem Sie zuerst den brei- ten Stecker des Verbindungskabels in die passende Buchse an der Rückseite des Druckers stecken.
Programmen, die beim Handel zu kaufen sind. Oder Sie schreiben Ihre eige- nen Programme. Bevor Sie mit den vier QL Programmen arbeiten, lesen Sie bitte die Einführung in die QL Programme auf den folgenden Seiten. Für die Programmierung in SuperBASIC finden Sie alle nötigen Informationen in den Abschnitten Anfängerkurs, Befehle und Begriffe in diesem Handbuch.
Benutzen Sie die Original-Programm-Kassette höchstens, um eine Arbeitskopie anzufertigen. Laden Sie immer nur von der Arbeitskopie. Alle vier QL Programme werden gleichartig geladen. Dazu gibt es zwei Möglichkei- ten: Entfernen Sie eine eventuell eingelegte Microdrive-Kassette. Drücken Sie dann die Rückstelltaste an der rechten Seite des OL. Legen Sie Ihre Arbeitskopie des Pro- gramms, das Sie benutzen wollen, in Microdrive 1 ein.
Der Anzeigebereich in der Mitte des Bildschirms zeigt Ihnen, was Sie gerade bear- beiten. Z. B. den Text eines Dokumentes bei der Arbeit mit QL Quill, den Inhalt einer "Karteikarte" bei der Arbeit mit QL Archive, eine Grafik von QL Easel oder ein Kalku- lationsblatt von QL Abacus.
Weise, die seinen AufgabensteIlungen besonders ange- messen ist. In QL Quill bearbeiten Sie mit dem Zeileneditor z. B. den Text von Kom- mandos. In QL Archive benutzen Sie den Zeileneditor ausgiebig bei der Bearbei- tung von Datenverwaltungsprogrammen.
Kassette mehrere Dateien enthalten kann, muß jeder Datei ein Name gegeben wer- den. Sonst könnten die verschiedenen Dateien ja nicht voneinander unterschieden werden. Ein Dateiname kann für die QL Programme aus höchstens acht Zeichen - Buchstaben, Ziffern, keine Leerzeichen - bestehen. Es ist zweckmäßig, "sinnvolle"...
Legen Sie dann die Programm-Kassette in Microdrive 1 ein. Das Programm starten Sie mit der Eingabe run mdv1_boot ENTER Wir geben zwei Beispiele für die Arbeit der QL Programme im Netzwerk. Im Netz befindet sich außer Station 5 noch eine Station mit der Nummer 1. 3/85...
EINFÜHRUNG DRUCKEN ÜBER DAS NETZWERK Station 5 hat mit QL Quill ein Dokument erstellt, das gedruckt werden soll. Ein Druk- ker befindet sich aber nur bei Station 1. Station 5 gibt dann im Befehl Ausdruck anstatt Drucker ein: __ne t o_1...
RÜCKSETZUNG Hier handelt es sich nicht um eine Taste auf der Tastatur, sondern um eine kleine Drucktaste auf der rechten Seite des QL. Sie wurde absichtlich schwer zugänglich angebracht, da ihre Auswirkungen wesentlich weitreichender sind, als die Unterbre- chung. Kann das gewünschte Ergebnis nicht mit den Tasten zur Unterbrechung erzielt werden, so muß...
Seite 23
OIE ERSTEN SCHRITTE MIT DEM COMPUTER SHIFT-TASTEN Es gibt zwei SHIFT-Tasten, da sie häufig benutzt werden und sowohl mit der rechten, als auch mit der linken Hand zugänglich sein müssen. Eine SHIFT-Taste wird gedrückt gehalten, während einige Buchstabentasten betätigt werden. Auf diese Weise werden Großbuchstaben ausgegeben. Eine SHIFT-Taste wird gedrückt gehalten und eine andere Taste als eine Buchstabentaste wird betätigt.
Seite 24
OIE ERSTEN SCHRITTE MIT DEM COMPUTER Die Pfeil-Taste nach links zusammen mit der CTRL-Taste kann als Löschtaste benutzt werden. Die CTRL-Taste muß bedrückt gehalten werden, während die Cur- sor-Taste betätigt wird. Werden diese bei den Tasten gemeinsam betätigt, so wird das vorhergehende Zeichen gelöscht.
OIE ERSTEN SCHRITTE MIT DEM COMPUTER All diese Schreibweisen sind korrekt und haben dieselbe Auswirkung. Einige Befehle werden zum Teil mit Großbuchstaben angezeigt, um zulässige Abkürzun- gen anzugeben. Kann ein Befehl nicht abgekürzt werden, so wird er vollständig in Großbuchstaben angezeigt. BENUTZUNG VON ANFÜHRUNGS- ZEICHEN...
Seite 26
Welche Funktionen haben die Befehle in den Fragen bis 11? CLS"II 9. RUN "11 '-11 10. LIST NEW"II 12. Haben die Befehle auch in Kleinbuchstaben noch die richtige Bedeutung? 13. Welche Bedeutung haben die Teile der Befehle, die von dem QL in Großbuch- staben aufgelistet werden? 3/85...
Seite 27
KAPITEL 2 WEISUNGEN AN DEN COMPUTER Bei Computern müssen oft Daten in Form von Zahlen gespeichert werden. Die Spei- cherung kann mit Ablagefächern verglichen werden. D D D Auch wenn Sie die einzelnen Ablagefächer nicht sehen können, müssen Sie ihnen doch Namen zuweisen.
Seite 28
Selbst wenn dies nicht erforderlich wäre, würde eine Programmzeile ohne die richti- gen Leerzeichen schlecht aussehen. Bei Computern mit einer kleinen Speicherka- pazität mögen Programmierer hierzu gezwungen sein, bei dem QL ist dies jedoch nicht der Fall. Sie können prüfen, ob ein Ablagefach eingerichtet wurde, indem Sie: "11...
Seite 29
ANWEISUNGEN AN DEN COMPUTER 1. Bezeichnung wie Hunde, Tage und Büchsen werden als Namen bezeichnet. 2. Ein einzelner Befehl wie beispielsweise: LET hunde wird als Anweisung bezeichnet. 3. Ein Ablagefach, dem ein Name zugeordnet ist, wird als Variable bezeichnet. Durch Ausführung der obigen Anweisung wird der Wert 9 in das Ablagefach gespeichert, das den Namen Hunde trägt.
Seite 30
ANWEISUNGEN AN DEN COMPUTER EINGABE -INPUT, READ UND DATA Eine Teppichknüpfmaschine benötigt Wolle als Eingabe. Sie stellt dann Teppiche in den ausgewählten Mustern her. Programm Muster Teppich- knüpfmaschine Teppiche Eingabedaten Ausgabedaten Wolle Wird die Wolle ausgewechselt, so erhält man unter Umständen einen anderen Teppich.
Seite 31
ANWEISUNGEN AN DEN COMPUTER Nun muß wie vorher: ausgegeben werden. Bei jeder Ausführung des Programms muß SuperBASIC mitgeteilt werden, an wei- cher Stelle mit dem Lesen der Daten begonnen werden soll. Dies erfolgt entweder durch Eingabe eines RESTORE-Befehls gefolgt von der DATA-Zeilennummer oder durch Eingabe von CLEAR.
Seite 32
ANWEISUNGEN AN DEN COMPUTER Nun wollen wir ein Kind zum Sparen erziehen. Für jede gesparte Mark erhält das Kind zwei Riegel Schokolade. Dies soll nun wie folgt berechnet werden: "11 tafeLn PRINT tafeLn" Mit diesem Programm können Sie noch keinen Testlauf ausführen, da Sie nicht wis- sen, wie viele DM gespart wurden.
ANWEISUNGEN AN DEN COMPUTER BEARBEITEN EINES PROGRAMMS Die vollständigen Bearbeitungsfunktionen von SuperBASIC werden später im ein- zelnen beschrieben. Jedoch selbst in diesem frühen Stadium können Sie drei Dinge problemlos ausführen: - eine Zeile ersetzen - eine neue Zeile einfügen - eine Zeile löschen. Ersetzen einer Zeile Angenommen, das vorhergehende Programm soll geändert werden, da der Preis für einen Stift auf 20 Pfennig erhöht wurde.
Seite 34
TEST ZU KAPITEL 2 Bei diesen Tests können Sie maximal 20 Punkte erreichen. Prüfen Sie Ihre Punktzahl anhand der Antworten auf Seite 108. 1. Womit kann die interne Speicherung einer Zahl verglichen werden? 2. Geben Sie zwei Arten an, mit denen Werte in Ablagefächern gespeichert werden können (zwei Punkte).
KAPITEL 3 AUF DEM BILDSCHIRM ZEICHNEN Für die Benutzung eines Fernsehgerätes oder Monitors mit dem OL gibt es zwei verschiedene Bildschirm-Betriebsarten. Zwischen ihnen wird MODE-Befehl ausgewählt. Mit MODE 8 wählen Sie die niedrige Auflösung mit 256 256 Pixeln und der Möglichkeit, acht Vollfarben darzustellen. In dieser Betriebsart können in einer Zeile bis zu 42 Zeichen ausgegeben werden.
AUF DEM BILDSCHIRM ZEICHNEN BETRIEBSARTEN UND FARBEN Bis jetzt spielt es noch keine Rolle, welche Bildschirm-Betriebsart benutzt wird. Die Betriebsart wirkt sich jedoch auf die Anzahl der darstellbaren Farben aus. Mit MODE 8 können acht Grundfarben benutzt werden. Mit MODE 4 können vier Grundfarben benutzt werden. Die Farben werden mit den Codes der folgenden Tabelle angegeben.
Seite 37
AUF DEM BILDSCHIRM ZEICHNEN den Augenblick wollen wir uns damit zufriedengeben, einen Rand um das aktuelle Fenster zu zeichnen. Sie können einen Rand um die innere Kante eines Fensters zeichnen, indem Sie beispielsweise: BORDER 4,2 eingeben. Dadurch wird eine Umrandung mit einer Breite von vier Pixeln in der roten Farbe (Code 2) gezeichnet.
Seite 38
AUF DEM BILDSCHIRM ZEICHNEN Das STERN-Programm Durch Betätigung der Unterbrechungstasten kann dieses Programm gestoppt wer- den: Halten Sie die] CTRL ~Taste gedrückt und betätigen Sie die] LEERTASTE I. SuperBASIC verfügt über eine vielseitige Methode für das Stoppen von Wiederho- lungen. Stellen Sie sich vor, daß innerhalb des Programms ständig dieselben Anweisungen ausgeführt werden.
Seite 39
AUF DEM BILDSCHIRM ZEICHNEN TEST ZU KAPITEL 3 Bei dem folgenden Test können Sie maximal 12 Punkte erhalten. Vergleichen Sie Ihre Punktzahl mit den Antworten auf Seite 109. 1. Was ist ein Pixel? 2. Wie viele Pixel passen im niedrigauflösenden Modus über die Bildschirmbreite? 3.
Seite 40
KAPITEL 4 ZEICHEN UND STRINGS Lehrer möchten manchmal einschätzen, ob ihre Schüler schon für die Lektüre bestimmter Bücher oder Stoffe bereit sind. Hierzu werden verschiedene Tests benutzt. Bei einigen dieser Tests wird die durchschnittliche Länge von Wörtern und Sätzen berechnet. Wir werden die Bearbeitung von Wörter oder Zeichen-Strings vorstellen, indem wir einfache Lösungen für die Ermittlung der durchschnittlichen Wortlänge untersuchen.
Seite 41
ZEICHEN UNO STRINGS LÄNGE VON STRINGS Bei SuperBASIC kann die Länge oder Anzahl von Zeichen eines Strings problemlos ermittelt werden. So geben Sie beispielsweise einfach: "11 PRINT LEN(wochentag$) ein. Enthält das Ablagefach, wochentag$, ERSTER, so wird die Zahl 6 angezeigt. Die Auswirkungen werden anhand eines einfachen Programms deutlich: NEW.II .111...
Seite 42
ZEICHEN UNO STRINGS Hier wurden nun acht interen Ablagefächer benutzt: wochentag$ ERSTER lang1 lang2 monat$ lang3 jahr$ Summe Durchschnitt Sind Sie der Auffassung, daß dies ein recht großer Aufwand für eine so einfache Auf- gabe ist, so können Sie dies sicherlich kürzen. Die kürzeste Version besteht in einer einzigen Zeile, die jedoch schwieriger zu lesen ist.
Seite 43
ZEICHEN UNO STRINGS NAMEN UND STRING-VARIABLEN Namen von Ablagefächern, wie beispielsweise: wochentag$ monat$ jahr$ begriff$ werden als String-Namen bezeichnet. Mit den Dollarzeichen wird einfach angege- ben, daß die Ablagefächer für Zeichen-Strings benutzt werden. Das Dollarzeichen muß stets am Ende stehen. Ablagefächer dieser Art werden als String-Variable bezeichnet, da sie nur Zeichen- Strings enthalten können, die sich während der Ausführung eines Programms ändern können.
Seite 44
ZEICHEN UNO STRINGS TEST ZU KAPITEL 4 Bei dem folgenden Test können Sie maximal 10 Punkte erzielen. Vergleichen Sie Ihre Punktzahl mit den Anworten auf Seite 109. 1. Was ist ein Zeichen-String? 2. Wie lautet die übliche Abkürzung für den Ausdruck 'Zeichen-String'? 3.
Seite 45
KAPITELS PRAKTISCHE ERFAH- RUNGEN Dabei haben Sie sicher festgestellt, daß sich die folgenden Praktiken als hilfreich erweisen: 1. Benutzung von Kleinbuchstaben für Namen: Namen von Variablen (Ablagefä- chern) oder Wiederholungsstrukturen, usw. 2. Einrücken von Anweisungen, um die Struktur von Schleifen sichbar zu machen. 3.
Seite 46
PRAKTISCHE ERFAHRUNGEN Zeile 130 ist in dem Programm nicht enthalten. Kommt es zu einem Fehler, der nicht zu einer Unterbrechung der automatischen Zei- lennumerierung führt, so kann mit der Eingabe fortgefahren und die Zeile später mit EDIT bearbeitet werden. Soll mit einer bestimmten Zeilennummer begonnen wer- den, beispielsweise mit Zeile 600, und sollen die Zeilen nicht in 1Oer Schritten nume- riert werden, so können Sie beispielsweise eine Numerierung in 5erSchritten einge- ben:...
Seite 47
PRAKTISCHE ERFAHRUNGEN ÜBERPRÜFEN EINER KASSETIE Möchten Sie wissen, welche Programme oder Datendateien auf einer bestimmten Kassette stehen, so legen Sie diese in Microdrive 1 ein und geben: DIR mdv ein. Das Inhaltsverzeichnis wird auf dem Bildschirm angezeigt. Ist die Kassette in Microdrive 2 eingelegt, so geben Sie statt dessen: DIR mdv2_ ein.
Seite 48
PRAKTISCHE ERFAHRUNGEN verlieren nur ganz selten Daten. Sie wissen, daß selbst die besten Computer oder Einheiten gelegentlich Fehler aufweisen und berücksichtigen dies schon im voraus. Soll ein Programm mit einem bestimmten Namen aufgerufen werden, wie beispiels- weise Quadrat, so wird empfohlen, Namen wie qdr1, qdr2 ... für die vorläufigen Ver- sionen zu benutzen.
Seite 49
KAPITEL 6 TABELLEN UND FOR- SCHLEIFEN WAS IST EINE TABELLE Sie wissen schon, daß die Werte von Variablen Zahlen- oder Zeichen-Strings sein können. Sie können sich diese als Zahlen oder Wörter vorstellen, die in internen Ablagefächern gespeichert werden. Wir wollen hier von vier HObbygärtnern ausge- hen, die jeweils eine besondere Blumenart züchten.
Seite 50
TABELLEN UND FOR-SCHLEIFEN Die folgenden fünf Programme tun alle dasselbe: sie führen dazu, daß die vier Häu- ser 'belegt' werden. Mit PRINT wird dann gezeigt, daß die 'Belegung' tatsächlich durchgeführt wurde. Bei der letzten Methode werden nur vier Zeilen benutzt. Die vier anderen Methoden führen jedoch so zu dieser letzten Methode, daß...
Seite 51
TABELLEN UND FOR-SCHLEIFEN Damit wird bewiesen, daß die Daten richtig intern in den vier Tabellen-Variablen gespeichert wurden: hoch_str$ Methode 4 ist bis jetzt eindeutig die beste, da sie 4, 40 oder 400 Elemente genau gleich verarbeiten kann, indem Sie einfach die Zahl 4 ändert und weitere DATA-Ele- mente hinzufügen.
Seite 52
TABELLEN UND FOR-SCHLEIFEN LET wurf2 RND(1 TO 6) LET augenzah l wurf1 wurf2 IF augenzah l 2 THEN LET zwei zwei I F augenzah l 3 THEN LET drei drei IF augenzahl 4 THEN LET vier vier I F augenzah l 5 THEN LET fünf fünf IF augenzah l...
Seite 53
TABELLEN UND FOR-SCHLEIFEN 4. Wie lautet das andere Wort für die Nummer, mit der eine bestimmte Variable einer Tabelle von den anderen Variablen mit demselben Namen unterschieden werden kann? 5. Können Sie sich zwei Situationen im täglichen Leben vorstellen, die dem Kon- zept der Tabelle bei der Programmierung entsprechen? (Zwei Punkte) 6.
Seite 54
KAPITEL 7 EINFACHE PROZEDUREN Müssen Sie Computerprogramme zur Lösung komplexer Probleme schreiben, so haben Sie unter Umständen Schwierigkeiten, die Übersicht zu bewahren. Bei einer methodischen Problemlösung wird demzufolge ein umfangreicher oder komplexer Job in kleinere Aufgaben unterteilt. Diese Aufgaben werden dann solange wieder in kleinere Aufgaben unterteilt, bis die einzelnen Aufgaben so begrenzt sind, daß...
Seite 56
EINFACHE PROZEDUREN RESTORE 420 FOR word = 1 TO 13 READ adjec1$(wort), adjec2$(wort),subst$(wort) END FOR wort 280 END DEF ine 290 DEFine PROCedure wort_wahl REMark Prozedur um Wörter zu wählen LET ad1 = RND(1 TO 13) LET ad2 = RND(1 TO 13) LETS=RND(1 T013) 340 END DEFi ne...
Seite 57
EINFACHE PROZEDUREN Waagerecht + Sei te, Waagerecht, senkrecht + Sei te senkrecht + Sei t: Waagerecht + Sei te, senkrecht Waagerecht Die Farbe des Quadrates kann problemlos festgelegt werden. Bei dem Quadrat selbst werden jedoch die Werte von Seite, Waagerecht und Senkrecht wie folgt benutzt.
Seite 58
EINFACHE PROZEDUREN 1. Sie können denselben Code mehr als ein Mal in demselben Programm oder in anderen Programmen benutzen. 2. Sie können eine Aufgabe in Teilaufgaben aufteilen und für jede Teilaufgabe Pro- zeduren schreiben. Dadurch werden Analysen und Programmaufbau vereinfacht. 3.
Seite 59
KAPITEL 8 VON BASIC ZU SUPERBASIC Sind Sie schon mit einer der früheren BASIC-Versionen vertraut, so können Sie unter Umständen die ersten sieben Kapitel dieses Abschnitts überspringen und erst diesen Abschnitt als Verbindung zwischen Ihren schon vorhandenen Kenntnissen und den restlichen Abschnitten lesen.
Seite 60
VON BASIC SUPERBASIC VARIABLE UND NAMEN Die meisten BASIC-Versionen verfügen über numerische und String-Variablen. Wie bei anderen BASIC-Versionen wird ein String-Variablenname bei SuperBASIC durch ein Dollarzeichen am Ende gekennzeichnet. Beispiele: Numerische Variable: zahl String: wort$ summe hoch_str$ gesamt woche_tag$ Möglicherweise haben Sie so bedeutungsvolle Variablennamen noch nicht ange- troffen, obwohl einige der jüngsten BASIC-Versionen sie zulassen.
Seite 61
VON BASIC ZU SUPERBASIC IF windig THEN drachen_steigen In anderen BASIC-Versionen würden Sie wahrscheinlich: I F w=1 THEN GOSUB 300 schreiben. In diesem Fall ist 1eine Bedingung oder ein logischer Ausdruck, der entweder wahr oder falsch ist. Ist er wahr, so würde ein Unterprogramm ausgeführt, das ab Zeile 300 beginnt.
Seite 62
BILDSCHIRM- ORGANISATION Schalten Sie den QL ein, so ist die Bildschirmanzeige wie nachfolgend dargestellt in drei Bereiche unterteilt, die als Fensterbezeichnet werden. Um diese Fenster in den Bereich zu setzen, der von einem Fernsehbildschirm abgedeckt wird, können einige Pixel in der Umrandung im Fernseh-Modus nicht benutzt werden.
Seite 63
VON BASIC ZU SUPERBASIC Obis 511 Obis 511 ----_ & Monitor Fernsehgerät Die Fenster werden durch #0, # 1 und #2 gekennzeichnet, so daß Sie verschie- dene Effekte verschiedenen Fenstern zuweisen können. Mit: wird Fenster # gelöscht (dies wird vom System ausgewählt). Soll also der linke Bereich gelöscht werden, so müssen Sie: CLS #2 eingeben.
Mit dem folgenden Programm wird ein grünes Rechteck bei MODE 256 auf rotem Papier mit einem gelben Rand in einer Breite von einem Pixel gezeichnet. Die obere linke Ecke des Rechtecks befindet sich bei den Pixel-Koordinaten 100,100 (siehe QL Begriffe). Das Rechteck hat eine Breite von 80 Einheiten waagrecht (40 Pixel bei MODE 256) und eine Höhe von 20 Einheiten senkrecht (20 Pixel bei MODE 256).
Seite 65
VON BASIC ZU SUPERBASIC Die EXIT-Anweisung kann an eine beliebige Stelle in der Struktur gestellt werden. Auf sie muß jedoch ein Name folgen, damit SuperBASIC weiß, welche Schleife be- endet werden muß. Zum Beispiel bewirkt: EXIT werfen daß das Programm bei der Anweisung hinter END REPeat werfen.
Seite 66
VON BASIC ZU SUPERBASIC Wir können eine REPeat-Schleife in eine FOR-Schleife setzen. Mit dem folgenden Programm werden die Augenzahlen von zwei Würfeln in jeder Reihe erzeugt, bis eine 7 geworfen wird. 100 REMark Würfel Reihen 110 FOR rei he 1 TO 4 PRINT'ReiheNummer'! reihe REPeat werfen...
Seite 67
VON BASIC ZU SUPERBASIC THEN kann in der langen Form entfallen und kann in der kurzen Form durch einen Doppelpunkt ersetzt werden. Die langen Entscheidungs-Strukturen können ähnlich wie Schleifen, verschachtelt werden. In sie können auch andere Strukturen gesetzt werden. Steht eine einzige Variable an der Stelle, an der Sie eine Bedingung erwar- ten, so wird der Wert Null als falsch und andere Werte als wahr betrachtet.
Seite 68
VON BASIC ZU SUPERBASIC 100 REMark Palindrome 110 DIM textS(30) 120 LET textS FILL$ (' ',30) 130 LET zahl 140 REPeat holt__buchstaben READ zeichenS IF zei chen$ THEN EXIT hol t__buchstaben LET zahl zahl-1 180 LET textS(zahL> zeichenS 190 END REPeat holt__buchstaben 200 PRINT textS 210 DATA 'R','E','L','I','E','F','P','F','E','I',...
Seite 69
KAPITEL 9 DATENTYPEN VARIABLEN UND NAMEN Sie werden festgestellt haben, daß ein Programm (eine Folge von Anweisungen) normalerweise Daten zur Bearbeitung benötigt (Eingabe) und bestimmte Ergeb- nisse liefert (Ausgabe). Außerdem wissen Sie, daß es interne Möglichkeiten zur Speicherung dieser Daten gibt. Sie können sich vereinfacht vorstellen, daß die Daten in Ablagefächern gespeichert werden, denen Sie sinnvolle Namen zuteilen.
Seite 70
DATENTYPEN, VARIABLEN UND NAMEN Der Wert einer Gleitkommavariablen kann in folgendem Bereich liegen: ± ± 10 615 mit 8 signifikanten Ziffern. 10-615 Angenommen, in dem obigen Programm beläuft sich der Umsatz ausnahmsweise nur auf 3 Pfennig. Hierzu wird Zeile 110 folgendermaßen geändert: 110 LET umsatz = 0.03 Das System ändert dies in:...
Seite 71
DATENTYPEN; VARIABLEN UNO NAMEN In diesem Beispiel geben Sie einen Dezimalbruch ein und die Ausgabe wird gerun- det. So wird 4.7 zu 5, während 4.3 zu 4 wird. Sie können dasselbe Ergebnis mit einer ganzzahligen Variablen und der Datentyp- umwandlung erzielen. Trigonometrische Funktionen werden später in diesem Abschnitt behandelt.
Seite 72
DATENTYPEN, VARIABLEN UND NAMEN PRINT 7 13, da die Multiplikation eine höhere Priorität hat. Bei: PRINT 3)*2 wird jedoch 20 ausgegeben, da die Klammern die übliche Priorität außer Kraft set- zen. Nähere Ausführungen über die Priorität können Sie in dem Abschnitt Begriffe nachschlagen.
Seite 73
DATENTYPEN; VARIABLEN UND NAMEN Aus der Algebra kennen wir einen Ausdruck für eine Lösung einer quadratischen Gleichung: Eine Lösung in mathematischer Schreibweise sieht folgendermaßen aus: Vb2-4ac Beginnen wir mit der Gleichung: so wird mit folgendem Programm eine Lösung gefunden. Beispiel 1 100 READ a,b,c 110 PRINT 'Die Wurzel...
Seite 74
DATENTYPEN, VARIABLEN UND NAMEN Essen Sie ein Brötchen Steht in Zeile 110: LET hunger so würde nichts ausgegeben. Das System interpretiert Null als falsch und alle ande- ren Werte als wahr. Dies ist nützlich, Sie können jedoch die numerische Eigenschaft von Hunger verdecken, indem Sie folgendes Programm schreiben: 100 REMark Logische Variable...
Seite 75
KAPITEL 10 LOGIK Nachdem Sie die vorhergehenden Abschnitte gelesen haben, werden Sie wahr- scheinlich mit uns übereinstimmen, daß Wiederholung, Entscheidungsfällung Aufteilung von Aufgaben in Unteraufgaben wichtige Konzepte bei der Problemana- lyse, dem Programmaufbau und der Codierung von Programmen darstellen. Zwei dieser Konzepte, Schleifen und Entscheidungsfällung, benötigen logische Aus- drücke, wie in den folgenden Programmzeilen :...
Seite 76
LOGIK nach neuen Spielern sucht. Er kann folgende Frage stellen "Können Sie Tore schie- ßen oder Tore halten?". Er könnte damit zufrieden sein, wenn ein Spieler nur eines der beiden Dinge kann, könnte jedoch auch nach einem Spieler suchen, der beide Dinge kann.
Seite 77
LOGIK Für die andere Interpretation müssen Klammern benutzt werden. Wird ein komple- xer logischer Ausdruck benötigt, so werden am besten Klammern und NICHT benutzt, wenn dadurch auf natürliche Weise angegeben wird, was Sie wünschen. Gegebenenfalls können Sie jdoch die Klammern stets weglassen, indem Sie fol- gende Regeln beachten (Sie werden Augustus De Morgan zugeschrieben).
Seite 78
LOGIK PRIORITÄTEN Die Prioritätsfolge für die logischen Operatoren lautet (höchste Priorität zuerst): NICHT ODER, XOR So ist beispielsweise der Ausdruck: reich ODER groß UND schlank gleichbedeutend mit: reich ODER (groß UND schlank) Die UND-Operation wird als erstes ausgeführt. Um zu beweisen, daß die beiden logi- schen Ausdrücke dieselbe Auswirkung haben, führen Sie folgendes Programm aus: 100 REMark Vorrangstufen 110 PRINT "Geben...
Seite 79
KAPITEL 11 VERARBEI· TUNGVON TEXT - STRINGS Sie haben schon String-Variablen zur Speicherung von Zeichen-Strings benutzt und wissen, daß die Regeln für die Verarbeitung von String-Variablen oder String-Kon- stanten nicht dieselben sind, wie für die Verarbeitung von numerischen Variablen oder numerischen Konstanten. SuperBASIC bietet ein breites Spektrum an Funktio- nen zur wirksamen Verarbeitung von Zeichen-Strings.
Seite 80
VERARBEITUNG VON TEXT-STRINGS Angenommen, Sie erstellen ein Kinderspiel, bei dem ein Wort aus einer Folge von zufälligen Buchstaben erkannt werden soll. Jeder Buchstabe verfügt über eine interne Nummer- einen Index -, die seiner Position in dem String entspricht. Ange- nommen, der ganze String ist in der Variablen wirrwarr gespeichert und der Schlüs- sel ist Tier.
Seite 81
VERARBEITUNG VON TEXT-STRINGS Nun haben wir jedoch das Problem, daß der Wert "56" der Variablen, gesch$, aus einer Zeichen-String und nicht aus numerischen Daten besteht. Möchten Sie die Note nun verbessern, indem Sie sie beispielsweise mit 1.125 multiplizieren, so muß der Wert von gesch$ zuerst in numerische Daten umgewandelt werden.
Seite 82
VERARBEITUNG VON TEXT-STRINGS Der Operator INSTR gibt Null zurück, wenn der gesuchte String nicht im zu durchsu- chenden enthalten ist. Ist er enthalten, gibt INSTR die Zahl zurück, die der Anfangs- position des Teilstring entspricht, in diesem Fall 6. Da der Ausdruck: tier$ INSTR wirrwarr$ als bedingter Ausdruck behandelt werden kann, kann die Position des String bei...
Seite 83
VERARBEITUNG VON TEXT-STRINGS Katze kleiner ist als KIT und K2N kleiner ist als K27N Ein einfacher zeichenweiser Vergleich auf der Grundlage interner Codes würde nicht zu diesen Ergebnissen führen. Deshalb verhält sich SuperBASIC etwas intelli- genter. Mit dem folgenden Programm, bei dem Ein- und Ausgabe angegeben wer- den, werden die Regeln für den Vergleich von Strings verdeutlicht.
Seite 84
KAPITEL BILDSCHIRM· AUSGABE Bei SuperBASIC sind die Funktionen für die Bildschirmdarstellung so erweitert wor- den, daß die verschiedenen Möglichkeiten in zwei Abschnitten beschrieben wer- den: Einfaches Drucken und Bildschirm. Im ersten Abschnitt wird die Ausgabe eines normalen Textes erläutert. Hier werden die bekannten einfachen Methoden zur Anzeige von Meldungen, Texten und nume- rischen Ausgaben beschrieben.
Seite 85
BILDSCHIRMAUSGABE Sie können die Druckausgabe mit dem AT-Befehl an eine beliebige Stelle auf dem Bildschirm setzen. Zum Beispiel: AT 10,15 : PRINT "Das in Zeile 10 SpaLte 15" Mit dem CURSOR-Befehl kann die Druckausgabe an eine beliebige Stelle in dem Pixel-Koordinatensystem des Bildschirms gesetzt werden.
Seite 86
BILDSCHIRMAUSGABE Rot --+-- Kontrast Schreiben Sie: INK 2,4 so wird eine Mischfarbe aus den beiden Codes 2 und 4 gebildet. Diese Codes wer- den mit Farbe und Kontrast bezeichnet! INK Farbe, Kontrast Sie können die Auswirkungen der Punktmuster selbst sehen, indem Sie sie auspro- bieren.
Seite 87
BILDSCHIRMAUSGABE REMark Farben-SpieLereien FOR zahL 0 TO 255 BLOCK 100,50,40,50,zahl PAUSE 50 END FOR zah l PAPER PAPER gefolgt von einer, zwei oder drei Zahlen gibt die Hintergrundfarbe an. Zum Beispiel: (Rot) PAPER 2 (Rot/Grünes Schachbrettmuster) PAPER 2,4 (Rot/Grüne horizontale Streifen) PAPER 2,4,1 Die Farbe wird erst sichtbar, wenn etwas anderes geschieht, beispielsweise der Bildschirm durch Eingabe von CLS gelöscht wird.
Seite 88
BILDSCHIRMAUSGABE KANÄLE Ein Programm kann mehrere Dateien gleichzeitig benutzen. Die Bezugnahme auf eine Datei geschieht jedoch bequemer durch eine zugeordnete Kanalnummer. Hier kann es sich um eine ganze Zahl in dem Bereich von 0 bis 15 handeln. Eine Datei wird mit der OPEN-Anweisung oder, wenn es sich um eine neue Datei handelt, mit der OPEN_NEW-Anweisung mit einer Kanalnummerverknüpft.
BILDSCHIRMAUSGABE An diesen Namen wird beispielsweise folgende Information angehängt: scr _360 x 50a80 x 40 Y-Koordinate (Ecke links oben) '---------- X-Koordinate (Ecke links oben '---------------------Höhe '----------------------- Breite Mit dem folgenden Programm wird ein Fenster mit der Kanalnummer 5 erstellt und mit grüner Farbe (Code ausgefüllt.
Schaltet das Unterstreichen aus. GRAFIKEN Da der QL, je nach Betriebsart verschieden geformte Pixel ausgibt, könnten bei der Grafik Probleme entstehen. Was in der einen Betriebsart wie ein Quadrat aussieht würde in der anderen als Rechteck erscheinen. Deshalb benutzen die Grafikproze- duren von SuperBASIC ein eigenes Koordinatensystem, das unabhängig von der...
BILDSCHIRMAUSGABE Der Maßstabsfaktor, d. h. die Anzahl von Einheiten, in die die y-Achse unterteilt ist, sowie die Lage des Koordinatenursprungs können mit dem SCALE-Befehl verän- dert werden. Ein Grafik-Cursor wird vom System automatisch gesetzt. Er steht jeweils auf dem zuletzt gezeichneten Punkt. PUNKTE UND LINIEN Punkte und Linien können problemlos...
Seite 92
BILDSCHIRMAUSGABE Mit der Anweisung CIRCLE 50,50,40 wird ein Kreis mit dem Mittelpunkt bei 50,50 und mit einem Radius (bzw. einer Höhe) von 40 Einheiten gezeichnet. Siehe folgende Abbildung: -- --- ---- --I (50.50) Ein Kreis Werden zwei weitere Parameter hinzugefügt, z. B.: CIRCLE 50,50,40,.5,0 so erhalten Sie eine Ellipse.
Seite 93
BILDSCHIRMAUSGABE Ein gestreckter Winkel beläuft sich auf 180 Grad oder PI Radiant. Mit folgendem Pro- gramm können Sie also ein Muster mit Ellipsen zeichnen: 100 FOR drehung = 0 TO 2 * PI STEP PI/6 CIRCLE 50,50,40,.5,drehung 120 END FOR drehung Für einen Kreis oder eine Ellipse werden die Parameter in folgender Reihenfolge angegeben: Mitte_waagerecht,...
BILDSCHIRMAUSGABE AUSFÜLLEN Sie können eine geschlossene Figur mit der aktuellen INK-Farbe ausfüllen, indem Sie einfach: FILL 1 schreiben, bevor die Figur gezeichnet wird. Mit dem folgenden Programm wird ein grüner Kreis erzeugt: INK 4 FILL 1 CIRCLE 50,50,30 Bei dem FILL-Befehl werden sich berührende waagrechte Linien zwischen entspre- chenden Punkten gezeichnet.
Seite 95
KAPITEL 13 TABELLEN Angenommen, Sie sind ein Gefängnisdirektor und haben einen neuen Zellenblock, der als Westblock bezeichnet wird. In ihn können 50 neue Häftlinge aufgenommen werden. Nun müssen Sie wissen, welcher Häftling (an hand seiner Nummer) in weI- eher Zelle untergebracht ist. Sie könnten jeder Zelle einen Namen geben. Es ist jedoch einfacher, ihnen Nummern von 1 bis 50 zuzuweisen.
Seite 96
TABELLEN STRING- TABELLEN String-Tabellen sind gleichbedeutend mit numerischen Tabellen. Allerdings gibt eine zusätzliche Dimension in der DIM-Anweisung die Länge jeder String-Variablen in der Tabelle an. Angenommen, die zehn besten Golfspieler eines Golfclubs wer- den mit ihren Vornamen in DATA-Anweisungen angegeben. DATA "Bert", "Jochen", "WaLter",...
Seite 97
TABELLEN LET wohnung$ (1) wohnung$ (3) LET wohnung$ (3) momentan$ 240 END DEFi ne 250 OATA "Tom", "KarL", "Harald", "Jan", "Achim" 260 OATA "Bert", "Jochen", "WaLter", "Werner", "Di rk" Ausgabe (Zeile 130) Ausgabe (Zeile 150) 1 Tom 1 HaraLd 2 KarL 2 Kar l 3 Hara ld 3 Tom...
Seite 98
TABELLEN 180 FOR stock 0 TO 2 PRINT" Stockwerk___nummer" ! stock FOR zahl 0 TO 9 PRINT 'Wohnung' ! zahl! wohnung$(stock,zahL> END FOR zah L 230 END FOR stock 240 DATA "A","B","C","D","E","F", "G","H","I","J" 250 OATA"K" ," M" ," N" , L"...
Seite 99
TABELLEN AUFGABEN ZU KAPITEL 13 1. SORTIEREN Besetzen Sie eine Tabelle mit zehn Zahlen vor, die Sie aus einer DATA-Anwei- sung auslesen. Durchsuchen Sie die Tabelle nach der niedrigsten Nummer. Machen Sie diese niedrigste Nummer zum Wert des ersten Elementes einer neuen Tabelle.
Seite 100
KAPITEL 14 PROGRAMM· STRUKTUR In diesem Kapitel wollen wir uns noch einmal mit der Programmsturktur befassen: Schleifen und Entscheidungen oder Auswahlen. Wir haben versucht, die Grundla- gen so einfach wie möglich darzustellen. Allerdings ist SuperBASIC so aufgebaut, daß es sowohl mit der einfachsten als auch mit der komplexesten Ebene und allen dazwischenliegenden Ebenen fertig wird.
Seite 101
PROGRAMMSTRUKTUR Programm 2 100 REMark Western: REPeat funktioniert nicht richtig 110 LET pa t ronen 120 REPeat bandi t PRINT "Zielen" PRINT" Schuß" LET patronen patronen IF patronen 0 THEN EXIT bandi t 170 END REPeat bandit Dieses Programm erfüllt sein Ziel in zweierlei Hinsicht nicht: 1.
Seite 102
PROGRAMMSTRUKTUR Programm 1 100 REMark Western: FOR mit Schleifennachsatz 110 FOR patronen = 1 TO 6 PRINT "Zielen" PRINT" Schuß" LET treffer = RND(9) IF treffer = 7 THEN EXIT patronen] 160 NEXT patronen PRINT" Paß auf den Bandi ten auf" 180 END FOR pa t ronen 190 PRINT "Zurück nach...
Seite 103
PROGRAMMSTRUKTUR Dieses Programm zeichnet eine Reihe von Punkten: Möchten Sie beispielsweise 51 Punktreihen, so müssen Sie eine Reihe von Werten ab 30 bis 80 zeichnen. Hier muß jedoch stets die Regel beachtet werden, daß eine Struktur vollständig in eine andere Struktur gesetzt werden oder um die andere Struktur herumgehen kann.
Seite 104
PROGRAMMSTRUKTUR EINFACHE ENTSCHEIDUNGEN Es gibt drei Arten einfacher Entscheidungen, die wir anhand des Beispiels, was wir bei Regen tun, einfach darlegen können. 100 REMark Kurze Version von IF 110 LET regen RND(0 TO 1) 120 IF regen THEN PRINT "Öffnen Si e Ihren Schi rm"...
Seite 105
PROGRAMMSTRUKTUR <>" IF zeich$ "THEN andere = andere END IF 250 END FOR zahL 260 PRINT "Die AnzahL der VokaLe beträgt" vokaLe 270 PRINT "Die AnzahL der Konsonanten beträgt" kons 280 PRINT "Die AnzahL der anderen Zeichen beträgt" andere 290 DATA "COMPUTER-GESCHICHTE WURDE1984 GEMACHT" Ausgabe Die AnzahL der VokaLe beträgt...
Seite 106
PROGRAMMSTRUKTUR LET senk = senk -1 ON ri chtung LET waag = waag-1 END SELect IF waag<1 OR waag>99 OR senk<1 OR senk>99 THEN EXIT schlange POINT waag,senk END FOR abschni 310 END REPeat schlange 320 PRINT "Schlange außerhalb der Kante" Die Syntax der SELect ON-Struktur ermöglicht auch die Auswahl aus einer Liste von Werten, wie beispielsweise: 5,6,8,10...
Seite 107
PROGRAMMSTRUKTUR 4. Bei einer Schießerei im Wilden Westen hat der Sheriff keine Munition mehr und möchte einen bewaffneten Verbrecher verhaften, der sich in einem Wald ver- steckt hält. Er reitet in Richtung des Waldes und hofft, daß der Verbrecher schießt. Nachdem sechs Schüsse abgegeben wurden, hofft er, daß...
Seite 108
KAPITEL 15 PROZEDUREN FUNKTIONEN Im ersten Teil dieses Abschnittes erläutern wir die einfacheren Aspekte der Super- BASIC Prozeduren und Funktionen. Dies geschieht anhand sehr einfacher Bei- spiele, damit Sie die einzelnen Aspekte problemlos verstehen können. Obwohl die Beispiele etwas konstruiert sind, werden Sie sehen, daß die Ideen auch in komple- xeren Situationen benutzt werden können, wenn Sie sie erst einmal verstanden haben.
Seite 109
PROZEDUREN UND FUNKTIONEN BEISPIEL Stellen Sie sich nun vor, daß auch die Variable in dem Hauptprogramm benutzt wurde. Mit ihr wird jedoch ein anderer Preis angegeben, beispielsweise der Preis für ein Glas Bier, 320 Pfennig. Das folgende Programm führt nicht zu dem gewünschten Ergebnis.
Seite 110
PROZEDUREN UNO FUNKTIONEN AUSGABE- PARAMETER Bis jetzt haben wir Parameter nur dazu benutzt, um Werte an die Prozedur zu überge- ben. Angenommen, die Kosten eines Postens müssen wieder an das Hauptpro- gramm übergeben werden, damit eine Gesamtrechnung aufgestellt werden kann. Dies kann problemlos über einen anderen Parameter in dem Prozeduraufruf erfol- gen.
Seite 111
PROZEDUREN UNO FUNKTIONEN Programm 100 REMark FuNktion RETurn 110 LET nummer 120 LET rechnung nummer prei s (3) prei s (4) 130 PRINT rechnung 140 DEFine FuNction preis(nummer) <= IF nummer 3 THEN RETurn 900 nummer >= IF nummer 4 THEN RETurn 120 nummer 170 END DEFine Ausgabe...
Seite 112
PROZEDUREN UNO FUNKTIONEN Nachfolgend ein weiteres Beispiel, in dem dargelegt wird, wie Prozeduren ein Pro- gramm modular gestalten. BEISPIEL In Chans China-Restaurant werden sechs Gerichte bestellt, wobei die Speisekarte folgende Gerichte umfaßt: Posten-N ummer Gericht Preis Garneelen 3.50 Hühnchen 2.80 Spezial 3.30 Nun schreiben Sie Prozeduren für die folgenden Aufgaben:...
Seite 113
PROZEDUREN UNO FUNKTIONEN 160 wahL geri cht 270 DEFine PROCedure wahL(gericht) FOR aussuchen = 1 TO 6 LET nummer = RND(1 TO 3) LET geri cht (nummer) = geri cht (nummer) END FOR aussuchen 320 END DEFi ne Beachten Sie, daß der formale Parameter gericht sowohl: - lokal in der Prozedur Wahl ist, - als auch eine Tabelle im Hauptprogramm darstellt.
Seite 114
PROZEDUREN UNO FUNKTIONEN END FOR aussuchen 320 END DEFi ne 330 DEFine PROCedure keLLner(gericht, kosten) rechnen gericht, kosten koch geri cht 360 END DEFi ne 370 DEFine PROCedure rechnen(gericht, insgesamt) LET insgesamt FOR k 1 TO 3 LET insgesamt insgesamt gericht(k) preis(k) END FOR k...
Seite 115
PROZEDUREN UNO FUNKTIONEN BEISPIEL Sämtliche Variablen, die als formale Parameter in Prozeduren oder Funktionen benutzt werden, sind "sicher", da sie automatisch lokal sind. Welche Variablen, die in den Prozeduren oder Funktionen benutzt werden, sind nicht lokal? Welche zusätzli- chen Anweisungen sind erforderlich, um sie zu lokalen Variablen zu machen? Programmänderungen Die Variablen k, pick und nummer sind nicht lokal.
Seite 116
PROZEDUREN UNO FUNKTIONEN AUFGABEN ZU KAPITEL 15 1. Sechs Mitarbeiter einer Firma sind nur unter ihrem Nachnamen bekannt. Jeder Mitarbeiter bezahlt einer bestimmten Betrag in eine Pensionskasse, der in Form eines Prozentsatzes ausgedrückt wird. Mit den folgenden Daten werden das Gehalt und die Beiträge für die Pensionskasse der sechs Mitarbeiter dargestellt.
Seite 117
Karten 1 bis 13 gleich Herz Karten 14 bis 26 gleich Kreuz Karten 27 bis 39 gleich Karo Karten 40 bis 52 gleich Pik Somit wissen Sie, daß 29 "Karo" bedeutet. Den QL können Sie mit folgendem Befehl auf diese Weise programmieren: LET farbe (karte...
VERSCHIEDENE TECHNIKEN gramms ändern, werden mit INPUT-Anweisungen eingegeben. Sind die Eingabeda- ten vor der Ausführung des Programms bekannt, so könnten auch andere READ- Anweisungen und weitere DATA-Anweisungen benutzt werden. SEQUENTIELLE DATEIEN Numerische Datei Mit dem folgenden Programm wird eine Datei mit 100 Zahlen erstellt. 100 REMark ZahLen - Datei...
VERSCHIEDENE TECHNIKEN Dies ist mit dem folgenden Programm möglich. 100 REMark TeLefon-Nummern 110 OPEN.._NEW #6, mdv l e Lefon 120 REPeat Liste INPUT name$,nummer$ "ßß" 140 IF name$ THEN EXIT Liste PRINT #6; name$ ; nummer$ 160 END REPeat Liste 110 CLOSE #6 Geben Sie RUN ein, gefolgt von ENTER .
Seite 120
VERSCHIEDENE TECHNIKEN Durch Zeile 125 erreichen Sie, daß das Programm am Dateiende bei einer von Ihnen gewünschten Stelle fortgesetzt wird und nicht mit einer Fehlermeldung abbricht. SORTIERT EINFÜGEN In der niedrigauflösenden Betriebsart stehen folgende Farben zur Verfügung (in Rei- henfolge der Codenummern 0 bis 7). Schwarz Blau Rot Magenta Grün Cyan Gelb Weiß...
Seite 121
VERSCHIEDENE TECHNIKEN vergl$ die gerade verglichene Farbe zeigt auf die Position, bei der wir testen, ob sie für die Farbe in vergl$ die richtige ist. 2. Eine FOR-Schleife konzentriert sich nacheinander auf die Positionen 2 bis 8 (ein Posten ist schon sortiert). Positionen 2 bis 8 (ein Posten ist schon sortiert).
Seite 122
VERSCHIEDENE TECHNIKEN Kommentar 1. Das Programm wird einwandfrei ausgeführt. Es wurde mit willkürlichen Daten getestet: AAAAAAA BABABAB ABABABA BCDEFGH GFEDCBA 2. Dieses Einsortieren ist nicht besonders schnell, kann jedoch beim Hinzufügen weniger Posten zu einer schon sortierten Liste von Nutzen sein. Gelegentlich ist es besser, in regelmäßigen Abständen etwas Zeit zu investieren, um die einzel- nen Posten in der richtigen Reihenfolge zu halten, anstatt in großen Zeitabstän- den viel Zeit für ein vollständiges Neusortieren zu investieren.
Seite 123
VERSCHIEDENE TECHNIKEN Bildschirm- HAUPT [eihe ausgabe PROGRAMM PROZEDUR plussechs sen:-l komm Programm 100 REMark Ubergabe von TabeLLen 110 DIM reihe(3),ur(3) 120 FOR k = 1 TO 3 : LET r-e 130 plussechs reihe, 140 FOR k = 1 TO 3 : PRINT 150 DEFine PROCedure pLussechs(komm, send)
Seite 124
VERSCHIEDENE TECHNIKEN Kommentar Mit diesem Programm wird verdeutlicht, wie einfach Tabellen bei SuperBASIC verar- beitet werden können. Sie brauchen nur die Tabellennamen zu benutzen, um sie als Parameter zu übergeben oder um die ganze Tabelle auszudrucken. Nachdem die Prozedur gesichert wurde, kann sie mit MERGE mdvt.Lsort zu einem Programm im Hauptspeicher hinzugefügt werden.
Seite 125
VERSCHIEDENE TECHNIKEN H: 5 9 K C: A Q A 4 6 J S: A 2 3 T H:68TQ H: A C: 2 4 5 68 C: 7 J K 7 T Q S:457JK S: 6 H:2347J C: 3 9 T S: 8 9 Q FENSTER 440x220bie35,15 Grün mit schwarzem, 10 Pixel breitem...
Seite 126
VERSCHIEDENE TECHNIKEN PROGRAMM- ENTWURF 1. Deklarieren Sie die Tabellen, besetzen Sie zeich$ mit READ und setzen Sie 52 Zahlen in die Tabelle karte. 2. Mischen Sie die Karten. 3. Teilen Sie die Karten in vier Blätter und sortieren Sie jedes Blatt. 4.
Seite 127
VERSCHIEDENE TECHNIKEN 690 DEFine PROCedure hoLt __ reihe IF rei he MOD2 = 0 THEN STRIP #6,0 IF rei he MOD2 = 1 THEN STRIP #6,2 LET Lin$ = zeich$(reihe) LET max = reihe REPeat eine_farbe LET P = P + 1 LET n = ka rte (p) IF n >...
Seite 128
ANTWORTEN ZUM TEST IN KAPITEL 1 1. Die UNTERBRECHUNG wird zur Unterbrechung eines ablaufenden Pro- gramms benutzt, weil: a) etwas falsch läuft und Sie es nicht verstehen b) das Programm nicht mehrvon Interesse ist c) ein anderes Problem entstanden ist. (Drei Punkte) 2.
Seite 129
ANTWORTEN ZUM TEST IN KAPITEL 2 1. Ein internerZahlenspeicher istwie ein Ablagefach, das Sie benennen und in das Sie Zahlen setzen können. 2. Mit einer LET-Anweisung, bei der ein bestimmter Name zum ersten Mal benutzt wird, wird ein Ablagefach erstellt und benannt. Zum Beispiel: LET zahl (Ein Punkt) Eine READ-Anweisung, bei der ein Name zum ersten Mal benutzt wird, hat die-...
ANTWORTEN ZUM TEST IN KAPITEL 3 1. Ein Pixel ist der klei nest Punkt, der auf dem Bildschirm angezeigt werden kann. 2. In der niedrigauflösenden Betriebsart gibt es 256 Pixelpositionen in waagerech- ter Richtung. 3. In der niedrigauflösenden Betriebsart gibt es 256 Pixelpositionen in senkrechter Richtung.
Seite 131
6. Durch den Befehl NEW wird das vorhergehende SuperBASIC-Programm dem QL gelöscht. Dadurch ist gewährleistet, daß ein neu eingegebenes Pro- gramm nicht mit einem alten Programm gemischt wird. 7. Soll eine Zeile als Teil eines Programms gespeichert werden, so muß eine Zei- lennummer benutzt werden.
Seite 132
ANTWORTEN ZUM TEST IN KAPITEL 6 1. Es ist nicht einfach, viele verschiedene Variablen namen für die Speicherung Daten zu finden. Können Sie genügend Namen finden, so muß jeder Name in LET- eine oder READ-Anweisung geschrieben werden, wenn keine Tabellen benutzt werden.
Seite 133
ANTWORTEN ZUM TEST IN KAPITEL 7 1. Große oder komplexe Aufgaben werden normalerweise solange in kleinere Auf- gaben unterteilt, bis sie klein genug sind, um problemlos ausgeführt werden zu können. 2. Dieses Prinzip kann auch bei der Programmierung benutzt werden, indem die gesamte Aufgabe untergliedert und für jede Teilaufgabe eine Prozedur ge- schrieben wird.
Seite 134
Weniger als 6 - lesen Sie Kapitel 7 noch einmal durch. Arbeiten Sie sämtliche Pro- gramme sorgfältig noch einmal durch. Diese Ideen sind unter Umständen nicht ein- fach, sind jedoch der Mühe wert. Sobald Sie bereit sind, führen Sie den Test noch einmal aus.
Mathematische Funktionen ASS liefert den absoluten Wert des Parameters. Ist der Parameter positiv, so wird der Wert des Parameters zurückgegeben. Ist der Parameter negativ, so wird das Vorzei- chen umgekehrt. Syntax: ASS (rumetiscner..Ausoruck) Beispiel: PRINTABS('5) PRINT ABS (a-b) ACOS, ASIN ACOT,ATAN Mathematische Funktionen...
Seite 137
ADATE Mit ADATE kann die Uhr eingestellt werden. Syntax: Sekunden: numetischer.s.Ausdruck ADATE Sekunden Beispiel: ADATE 3600 (Stellt die Uhr um eine Stunde vor) ADATE -60 (Stellt die Uhr um eine Minute zurück) ARC_R Grafik Mit ARC wird ein Kreisbogen zwischen zwei angegebenen Punkten in dem Fenster gezeichnet, das mit dem Standard-Kanal oder dem angegebenen Kanalverbunden ist.
Seite 138
Fenster Mit AT kann die Druckposition in einem gedachten Zeilen-/Spalten-Raster auf der Grundlage der aktuellen Zeichengröße geändert werden. AT benutzt eine modifi- zierte Form des Pixel-Koordinatensystems, wobei sich (Zeile 0, Spalte 0) in der oberen linken Ecke des Fensters befindet. AT bezieht sich auf die Druckposition in dem Fenster, das mit dem angegebenen Kanal bzw.
BAUD drucLgeschwindigkeit BEEP Akustische Signale Mit BEEP werden die eingebauten Ton-Funktionen des QL aktiviert. BEEP kann mit einer variablen Anzahl von Parametern den erzeugten Ton gestalten. Als Mindest- werte brauchen nur die Dauer und die Tonhöhe angegeben zu werden. Wird BEEP ohne Parameter benutzt, so wird jeder Ton beendet.
Seite 140
BEEPING Akustische Signale BEEPING ist eine Funktion, die den Wert Null (falsch) liefert, wenn der QL gerade kein akustisches Signal abgibt. Gibt er ein akustisches Signal ab, so wird ein Wert von Eins (wahr) zurückgegeben. Syntax: BEEPING Beispiel: 100 DEFine PROCedure sei_Leise...
Seite 141
BORDER Fenster Mit BORDER wird ein Rahmen um das Fenstergesetzt, das mit dem angegebenen Kanal oder dem Standard-Kanal verbunden ist. Bei allen nachfolgenden Operationen mit Ausnahme von BORDER ist die Fenster- größe um den Platz verringert, den der Rahmen beansprucht. Wird ein weiterer BORDER-Befehl benutzt, so wird die volle Größe des ursprünglichen Fensters vor Hinzufügung des Rahmens wiederhergestellt.
Seite 142
CHR$ BASIC CHR$ ist eine Funktion, die das Zeichen zurückgibt, dessen Zahlencode als Para- meter angegeben wird. CHR$ ist das Gegenstück zu CODE. Syntax: CHR$ (numerischer_Ausdruck) Beispiel: PRINT CHR$(27) (Gibt Zeichen Nr.27aus; entsprechend ESCape-Taste) (Druckt A) PRINT CHR$(65) CIRCLE CIRCLE_R Grafik Mit CIRCLE wird ein Kreis (oder eine Ellipse mit einem bestimmten Winkel) in einer bestimmten Position und Größe auf dem Bildschirm gezeichnet.
Seite 143
CLEAR Mit CLEAR wird der SuperBASIC-Variablenbereich für das aktuelle Programm ge- löscht und Platz für Odos freigegeben. Syntax: CLEAR Beispiel: CLEAR Kommentar Mit CLEAR kann das SuperBASIC-System in einen bekannten Status zurückgesetzt werden. Wird ein Programm beispielsweise unterbrochen (oder aufgrund eines Feh- lers gestoppt), während gerade eine Prozedur ausgeführt wird, so befindet sich Su- perBASIC noch in der Prozedur, selbst nachdem das Programm gestoppt wurde.
Seite 144
Fenster Mit diesem Befehl wird das Fenster, das mit dem angegebenen Kanal oder Stan- dard-Kanal verbunden ist, auf die aktuelle PAPER-Farbe zurückgesetzt. Dies gilt nicht für einen gegebenenfalls definierten Rahmen. CLS akzeptiert einen wahlwei- sen Parameter, mit dem angegeben wird, ob nur ein Teil des Fensters gelöscht wer- den muß.
Seite 145
CONTINUE RETRY Fehlerbehandlung Mit CONTINUE kann ein gestopptes Programm fortgesetzt werden. Das Programm wird bei der Anweisung fortgesetzt, die auf die Anweisung folgt, bei der es gestoppt wurde. Mit RETRY kann eine Programmanweisung, bei der es zu einem Fehler kam, erneut ausgeführt werden.
Seite 146
Mathematische Funktionen Mit COS wird der Kosinus des angegebenen Argumentes berechnet. Syntax: Winkel: numerischer_Ausdruck (Bereich -1 0000 .. 10000 in Radiant) COS (Winkel) Beispiel: PRINT COS (theta) PRINT COS(3.141593/2) Mathematische Funktionen Mit COT wird der Kotangens des angegebenen Argumentes berechnet. Syntax: Winkel: numerischer Ausdruck...
Seite 147
CSIZE Fenster Mit diesem Befehl wird eine neue Schriftgröße für das Fenster festgelegt, das mit dem angegebenen Kanal oder dem Standard-Kanal verbunden ist. Die Standard- größe beträgt 0,0 in der Betriebsen 512 und 2,0 in der Betriebsen 256. Mit 'Breite' wird die Breite des für das 'Zeichen vorgesehenen Platzes definiert. Mit 'Höhe' wird die Höhe des für das Zeichen vorgesehenen Platzes definiert.
Seite 148
DATA READ RESTORE BASIC Mit den Befehlen READ, DATA und RESTaRE können in einem SuperBASIC Pro- gramm enthaltene Daten bei der Ausführung Variablen zugewiesen werden. Mit DA TA werden die Daten markiert und definiert. READ greift auf die Daten zu und weist sie Variablen zu.
Seite 149
DATE$ DATE DATE$ ist eine Funktion, die das Datum und die Uhrzeit in der Uhr des OL zurück- gibt. Der von DATE$ zurückgegebene String hat folgendes Format: jjjj hh:mm:ss wobei jjjj das Jahr 1984, 1985 usw. den Monat, Jan, Feb. usw. denTag,d.h.01 bis28,29,30,31 die Stunde, 00 bis 23...
Seite 150
DEFine FuNction END DEFine Funktionen und Prozeduren Mit DEFine FuNction wird eine SuperBASIC-Funktion definiert. Die Folge von An- weisungen zwischen der DEFine FuNction und END DEFine-Anweisung stellt die Funktion dar. Die Funktionsdefinition kann auch eine Liste mit formalen Parametern umfassen, die Daten für die Funktion liefern. Sowohl die formalen, als auch die aktu- ellen Parameter müssen in Klammern stehen.
Seite 151
DEFine PROCedure END DEFine Funktionen und Prozeduren Mit DEFine PROCedure wird eine SuperBASIC-Prozedur definiert. Die Folge von Anweisungen zwischen der DEFine PROCedure-Anweisung und der END DEFine- Anweisung stellt die Prozedur dar. Die Prozedurdefinition kann auch eine Liste mit formalen Parametern enthalten, die Daten für die Prozedur liefern oder aus ihr her- austragen.
Mathematische Funktionen ist eine Funktion, die einen im Bogenmaß (Radiant) gegebenen Winkel in einen in Grad ausgedrückten Winkel umsetzt. Syntax: (numerischer_Ausdruck) Beispiel: (Druckt 90 aus) PRINT DEG(PI/2) DELETE Microdrives DELETE löscht eine Datei aus dem Inhaltsverzeichnis der Kassette in dem angege- benen Microdrive.
Seite 153
Tabellen Dieser Befehl definiert eine Tabelle gegenüber SuperBASIC. Mit diesem Befehl kön- Strings, ganzen Zahlen Gleitkomma-Zahlen nen Tabellen definiert werden. Index String-Tabellen enthalten Strings fester Länge, wobei der letzte als String-Län- ge betrachtet wird. Die Tabellenindizes gehen von 0 bis zu dem höchsten in der DIM-Anweisung ange- gebenen...
Seite 154
Microdrives Mit DIR wird das Inhaltsverzeichnis der Kassette in dem angegebenen Microdrive ermittelt und in dem Fenster angezeigt, das mit dem angegebenen Kanal oder dem Standard-Kanal verbunden ist. Syntax: DIR Einheit Mit der Einheitenangabe muß eine gültige Microdrive Einheitangege- ben werden. Das von DIR ausgegebene Verzeichnis hat folgendes Format: Freie_Sektoren: Anzahl freier Sektoren...
Seite 155
DLINE BASIC Mit DLiNE wird eine einzelne Zeile oder ein Bereich von Zeilen aus einem Super- BASIC-Programm gelöscht. Syntax: Bereich: Zeilennummer Ta Zeilennummer ZeilennummerTO Ta Zeilennummer Zeilennummer DLiNE Bereich *[, Bereich]* 1 - Löscht einen Bereich von Zeilen 2 - Löscht ab der angegebenen Zeile bis zum Ende 3 - Löscht ab dem Beginn bis zur angegebenen Zeile 4 - Löscht die angegebene Zeile Beispiel:...
Seite 156
Einheiten EOF ist eine Funktion, mit der festgestellt wird, ob eine Dateiende-Bedingung einem bestimmten Kanal erreicht ist. Wird EOF ohne eine Kanalangabe benutzt, so wird mit EOF festgestellt, ob alle Posten der DATA-Anweisung innerhalb des Pro- gramms gelesen wurden. Syntax: EOF [( Kanal)] Beispiel: IF EOF(#6)
EXIT Wiederholung EXIT führt zum Verlassen einer Schleife und setzt die Verarbeitung nach dem ENDE der angegebenen FOR- oder REPeat-Struktur fort. Syntax: EXIT Name Beispiel: 100 REMark schLeife 110 LET zahL 120 REPeat schLeife LET zahL zahL PRINT zahL IF zahL 20 THEN EXIT schLeife 160 END REPeat schLeife...
Seite 158
FILL Grafik Mit FILL wird das Ausfüllen von Grafiken ein- oder ausgeschaltet. FILL füllt jede Figur aus, die mit den Grafik- oder Turtle Grafik Prozeduren gezeichnet wird. Es werden nur konvexe Figuren korrekt ausgefüllt. (0. h. Figuren, deren Begrenzung nicht in das Innere der Figur hineinragt.) Nichtkonvexe Figuren müssen in konvexe Teile zerlegt werden.
Seite 159
FLASH Fenster Mit FLASH wird das Blinken von Schrift auf dem Bildschirm ein- und ausgeschaltet. FLASH ist nur in der niedrigauflösenden Betriebsart wirksam. FLASH ist in dem Fenster wirksam, das mit dem angegebenen Kanal oder dem Standard-Kanal verbunden ist. 0 ..1) Syntax: Schalter: ganzzahliger_Ausdruck...
Seite 160
FORMAT Microdrives Mit FORMAT wird die Kassette in dem angegebenen Microdrive formatiert und zur Benutzung vorbereitet. Syntax: FORMAT [Kanal,] Einheit Mit "Einheit" wird das für die Formatierung zu benutzende Microdrive angegeben. Die Kassette erhält den in der Einheitenbezeichnung genannten Namenszusatz als Datenträgername.
Seite 161
GOTO Im Hinblick auf die Kompatibilität mit anderen BASIC-Dialekten enthält SuperBASIC die GOTO-Anweisung. Nach GOTO wird die Verarbeitung bei der angegebenen Zei- lennummer fortgesetzt. Die Zeilennummer kann in Form eines Ausdruckes angege- ben werden. Syntax: GOTO Zeilennummer Beispiel: GOTOprogramm__anfang GOTO9999 Kommentar Die GOTO-Anweisung ist in SuperBASIC eigentlich überflüssig, denn es besitzt er- heblich leistungsfähigere Möglichkeiten, den Programmablauf zu steuern.
Seite 162
Ist die Bedingung ein arithmetischer Ausdruck, so ist sie falsch, wenn der Ausdruck den Wert Null ergibt. Andernfalls ist die Bedingung wahr. Syntax: IF AusdruckTHEN Anweisungen [ ELSE Anweisungen] END IF Beispiel: 100 LET grenze = 10 110 INPUT "Schreiben Sie eine ZahL"...
Seite 163
Erfolgt während der Wartezeit keine Eingabe, so liefert INKEY$ einen String der Länge Null. INPUT Mit INPUT können Daten vom Benutzer direkt über die QL-Tastatur in ein Super- BASIC-Programm eingegeben werden. SuperBASIC hält das Programm an, bis alle angeforderten Daten eingegeben sind.
Seite 164
INSTR Operator INSTR ist ein Operator, mit dem festgestellt wird, ob ein bestimmterTeilstring in dem angegebenen String enthalten ist. Wird der Teilstring gefunden, so wird seine Posi- tion zurückgegeben. Wird der Teilstring nicht gefunden, so gibt INSTR Null zurück. Null kann als falsch interpretiert werden, d. h. derTeilstring war in dem angegebenen String nicht enthalten.
Seite 165
KEYROW KEYROW ist eine Funktion, die den momentanen Status einer Reihe von Tasten be- trachtet. (In der folgenden Tabelle wird angegeben, wie die Tasten in einer 8 x8 Ma- trix abgebildet werden). Für KEYROW muß als Parameter eine ganze Zahl im Bereich von 0 bis 7 angegeben werden.
Seite 166
LBYTES Einheiten Microdrives Mit LBYTES werden Daten aus einer Datei, beginnend bei der angegebenen Start- adresse, in den Speicher geladen. Syntax: Startadresse .' numerischer.sAusdtuck LBYTES Einheit, Startadresse Beispiel: mdv l.Lb i LBYTES Ldschi rm, 131072 [l.ädt eine Bildschirm-Datei} LBYTES mdv1_programm, start_adresse [Lädt ein Programm bei einer angegebenen Adresse}...
Seite 167
Mit LET wird eine SuperBASIC-Wertzuweisung begonnen. Die Angabe des Schlüs- selwortes LET kann entfallen. Die Zuweisung kann sowohl für String- als auch für numerische Zuweisungen benutzt werden. SuperBASIC wandelt unvereinbare Datentypen wann immer möglich automatisch in vereinbare Datentypen um. Syntax: [LET] Variable Ausdruck Beispiel:...
Seite 168
Einheiten Microdrives LOAD lädt ein SuperBASIC-Programm von einer beliebigen QL-Einheit. Bevor ein neues Programm geladen wird, führt LOAD automatisch einen NEW-Befehl aus. Auf diese Weise wird jedes vorher geladene Programm von LOAD gelöscht. Weist eine Zeilenangabe beim Laden eine falsche SuperBASIC Syntax auf, so wird das Wort MISTake zwischen der Zeilennummer und dem eigentlichen Text der Zeile eingefügt.
Seite 169
LOCal Funktionen und Prozeduren Mit LOCal können Variable als LOCal für eine Funktion oder Prozedur definiert wer- den. Lokale Variable sind nur innerhalb der Funktion oder Prozedur vorhanden, in der sie definiert werden, oder in Prozeduren und Funktionen, die von der Funktion oder Prozedur aufgerufen werden, in der diese lokalen Variable definiert sind.
Seite 170
Einheit als SuperBASIC-Pro- gramm geladen. Enthält die neue Datei eine Zeilennummer, die noch nicht in dem schon im QL gespeicherten Programm steht, so wird die Zeile hinzugefügt. Enthält die neue Datei Programmzeilen mit Nummern, die auch das bereits gespeicherte Programm enthält, so werden diese Zeilen des alten Programms durch die neuen Zeilen ersetzt.
Seite 171
Operatoren MOD ist ein Operator, der den Rest der Division ganzer Zahlen zurückgibt. Syntax: numerischer.s.Ausdtuck MOD numerischerc.Ausdtuc« Beispiel: [Druckt 1 aus} PRINT 5 MOD [Oruckt 2 aus} PRINT 5 MOD 3 MODE Bildschirm Mit MODE wird die Auflösung des Bildschirms und die Anzahl von Farben festge- legt, die auf dem Bildschirm angezeigt werden können.
Seite 172
MOVE Turtle-Grafik Mit MOVE wird die Turtle über eine bestimmte Entfernung in der laufenden Richtung verschoben. Die Richtung kann mit den Befehlen TURN und TURNTO angegeben werden. Mit dem Maßstabsfaktor für die Grafik wird festgelegt, wie weit die Turtle tat- sächlich verschoben wird.
Seite 173
Netzwerk Mit NET kann die Nummer einer Station in dem Netzwerk festgelegt werden. Wird nicht ausdrücklich eine Stationsnummer angegeben, so geht der QL von Stations- nummer 1 aus. Stetion:» numetiscber..Ausdruck Syntax: [ßereich 1 .. 127} NET Station Beispiel: NET 63...
Seite 174
NEXT Wiederholung Mit NEXT werden REPeat- und FOR-Schleifen beendet. Außerdem kann mit diesem Befehl ein Schleifen-Nachsatz in REPeat- oder FOR-Schleifen erstellt werden. Syntax: NEXT Name Der Name muß mit dem Namen der Schleife übereinstimmen, die von NEXT gesteuert wird. Beispiel: 100 REMark Diese SchLeife Läuft...
Seite 175
OPEN_NEW Einheiten Microdrives Mit OPEN kann ein logischer Kanal mit einer physikalischen QL-Einheitfür die E/A verbunden werden. Ist der Kanal mit einem Microdrive verbunden, so kann es sich bei der Microdrive- Datei um eine bestehende oder eine neue Datei handeln. Der Befehl OPEN_IN eröffnet eine schon...
Seite 176
Fenster Mit dem Befehl PAN wird ein ganzes Fenster um die angegebene Anzahl von Pixeln nach rechts oder links verschoben. PAPER wird in den Bildschirm gerollt, um den gelöschten Bereich auszufüllen. PAN wirkt auf den angegebenen oder den Standard-Kanal. Ein zweiter Parameter kann bei Bedarf angegeben werden, mit dem nur ein Teil des Bildschirms waagerecht verschoben wird.
Seite 177
PAUSE Der PAUSE-Befehl veranlaßt ein Programm, eine bestimmte Zeit zu warten. Warte- zeiten werden in Einheiten von 1/50 Sekunden angegeben. Eine Tastatureingabe beendet jede Pause. Wird kein Parameter für die Wartezeit angegeben, dann dauert die Pause solange, bis sie durch einen Tastendruck beendet wird. numettscner..Ausaruck Syntax: Wartezeit:...
PENUP PENDOWN Turtle-Grafik Mit diesem Befehl wird der 'Stift' in Turtle-Grafiken bewegt. Ist der Stift abgehoben, so wird nichts gezeichnet. Ist der Stift aufgesetzt, so werden Linien gezeichnet, wäh- rend die Turtle über den Bildschirm läuft. Die Linie wird in dem Fenster gezeichnet, das mit dem angegebenen Kanal oder dem Standard-Kanal verbunden ist.
Seite 179
POINT POINT_R Grafik Mit POINT wird ein Punkt bei der angegebenen Position in dem Fenstergezeichnet, das mit dem angegebenen Kanal oder dem Standard-Kanal verbunden ist. Der Punkt wird bezogen auf den Ursprung des grafischen Koordinatensystems gezeich- net. Mit POINT_R werden sämtliche Punkte bezogen auf den Grafik-Cursor ange- geben, der durch jeden gezeichneten Punkt neu gesetzt wird.
PRINT Einheiten Microdrives Mit diesem Befehl kann die Ausgabe an den angegebenen Kanal oder Standard- Kanal gesendet werden. Normalerweise werden mit PRINT Daten auf dem Bild- schirm des QL angezeigt. Syntax: Trennzeichen:= TO numerischer_Ausdruck Posten:« Ausdruck Kanal Trennzeichen PRINT • [Posten]"...
Seite 181
RANDOMISE Mathematische Funktionen Mit RANDOMISE kann ein Startwert des Zufallszahlengenerators festgelegt werden. Wird ein Parameter angegeben, so dient er als neuer Startwert. Wird kein Parameter angegeben, so wird der neue Startwert an hand interner Daten festgelegt. Syntax: RANDOMISE [numerischer___Ausdruck] Beispiel: [Oer Startwert wird anhand interner RANDOMISE Daten festgelegt}...
Seite 182
REMark Mit REMark kann erläuternder Text in ein Programm eingefügt werden. Der Rest der Zeile wird von SuperBASIC ignoriert. Syntax: REMark Text Beispiel: REMark Dies Kommentar einem Programm Kommentar Mit REMark werden Kommentare zu einem Programm hinzugefügt, um dieses bes- ser lesbar zu gestalten.
Seite 183
REPeat END REPeat Wiederholung Mit REPeat können allgemeine Schleifen erstellt werden. Um eine maximale Wir- kung zu erzielen, muß REPeat mit EXIT benutzt werden. REPeat kann sowohl in einer langen als auch in einer kurzen Form benutzt werden. Kurze Form Auf das Schlüsselwort REPEAT und den Schleifen-Namen folgen auf derselben logischen Zeile ein Doppelpunkt und eine Reihe von SuperBASIC-Anweisungen.
Seite 184
RETurn Funktionen und Prozeduren Mit RETurn wird eine Funktion oder Prozedur beendet und die Verarbeitung bei der Anweisung fortgesetzt, die auf den Prozedur- oder Funktionsaufruf folgt. Wird RE- Turn innerhalb einer Funktionsdefinition benutzt, so wird mit dieser Anweisung der Wert der Funktion zurückgegeben. Syntax: RETurn [Ausdruck] Beispiel:...
Seite 185
Obwohl RUN innerhalb eines Programms benutzt werden kann, wird dieser Befehl normalerweise für den Start der Programmausführung benutzt, indem er als direkter Befehl eingegeben wird. SAVE Einheiten Microdrives Mit SAVE wird ein SuperBASIC-Programm auf einer QL-Einheit gesichert. Syntax: Zeile: numetiscber.cAusdruck TO numerischer ___Ausdruck numerischer___AusdruckTO numerischer..Ausdrud« numerischer ___Ausdruck SAVE Einheit *[.Zeile]*...
Seite 186
SBYTES Einheiten Microdrives Mit SBYTES können Bereiche des QL-Speichers in einer QL-Einheit gesichert werden. Syntax: Startadresse : numerischer_Ausdruck Länge: nurnerlscher..Ausdruck SBYTES Einheit, Startadresse, Länge Beispiel: mdv1_bi Ldschi rm._daten, 131072,32768 SBYTES [Sichert ab Adresse 131072, Länge 32768 Bytes, in mdv1_bildschirm_daten) mdv1_test_programm,...
Seite 187
70 Pixel nach ScROLL -70 oben gerollt) [Der untere Teil des Fensters wird um 10 Pixel ScROLL -10,2 nach oben gerollt) SDATE Mit dem SDATE-Befehl kann die Uhr des QL eingestellt werden. Syntax: Jahr: numeriscnecs.Ausdruck. Monat: numettscner..Ausdruck Tag:...
Seite 188
SELect END SELect Bedingungen Mit SELect können je nach Wert der Auswahlvariablen verschiedene Programmteile verarbeitet werden. numerisctie.: Auswahl_ Variable: Variable Definition: Auswahl_Elemente: Ausdruck Ausdruck TO Ausdruck Auswahl_Liste: AuswahLElement * [.Auswahl_Element] Lange Form Mit diesem Befehl können mehrere Aktionen je nach Wert einer Auswahl_ Variablen ausgewählt werden.
Seite 189
SEXEC Qdos Mit diesem Befehl wird ein Speicherbereich in einer Form gesichert, in der er mit dem EXEC-Befehl geladen und ausgeführt werden kann. Die gesicherten Daten müssen ein Programm im Maschinencode darstellen. Syntax: Startadresse : numerischer ___Ausdruck [Beqinn des Bereichs) Länge: numerischer ___Ausdruck [l.änqe des Bereichs) Detenbereicti:»...
Seite 190
SQRT Mathematische Funktionen Mit diesem Befehl wird die Quadratwurzel des angegebenen Argumentes berech- net. Das Argument muß größer oder gleich Null sein. > Syntax: SQRT (numerischer___Ausdruck) !Bereich Beispiel: [Druckt die Quadratwurzel von PRINT SQRH3) 3 aus} b A2 !Hier wird c gleich der Quadrat- LET C SQRHa wurzel von a...
Seite 191
STRIP Fenster Mit STRIP wird die aktuelleStreifenfarbe in dem Fenster festgelegt, das mit dem an- gegebenen Kanal oder Standard-Kanal verbunden ist. Die Streifenfarbe entspricht der Hintergrundfarbe, die benutzt wird, wenn OVER 1 ausgewählt wird. Wird PAPER gesetzt, so wird die Streifenfarbe automatisch auf die neue PAPER-Farbe gesetzt. Syntax: STRIP [Kanal,] Farbe Beispiel:...
Seite 192
0 oder 1) TRAx Beispiel: stellt den deutschen Zeichensatz ein TRA 1 Hinweis Der QL-Printer druckt den deutschen Zeichensatz. Sie brauchen daran aber keine gesonderten Einstellungen vorzunehmen. Deshalb müssen Sie ihn mit TRA 0 an- steuern. TURN TURNTO Turtle-Grafik Mit TURN wird die Richtung der 'Turtle' um einen angegebenen Winkel gedreht, während die Turtle mit TURNTO in eine bestimmte Richtung gedreht werden kann.
Seite 193
UNDER Fenster Mit diesem Befehl wird die Unterstreichung für die nachfolgenden Ausgabezeilen ein- oder ausgeschaltet. Die Unterstreichung wird mit der aktuellen INK-Farbe des Fensters vorgenommen, das mit dem angegebenen Kanal oder dem Standard-Ka- nal verbunden ist. Syntax: Schalter: numetischer.s.Ausdtuck !Bereich 0 .. 1} UNDER [Kanal,] Schalter Beispiel: [Schaltet die Unterstreichung ein)
Seite 194
WINDOW Fenster Mit diesem Befehl kann der Benutzer die Position und Größe des Fensters ändern, das mit dem angegebenen Kanal oder dem Standard-Kanal verbunden ist. Eventu- elle Umrahmungen werden gelöscht, wenn das Fenster neu definiert wird. Die Koordinaten werden mit dem Pixel-System, bezogen auf die linke obere Ecke des Maximalfensters, angegeben.
Seite 195
REGISTER - BEFEHLE CODE................. CHR$ CONTINUE Absolute Werte Programm ACOT................. RETRY ADATE................COpy 2,52 COPY_N Kontangens Kosinus................. Tangens................ ARC_R Kotangens Arctangens CSIZE Argumente 11,54 Fenster................Kanal DIMN Schriftgröße Tabellen CURSOR Fenster ATAN.................. Kanal Auflösung................Pixel-Koordintensystem 3,12 Ausdruck................Ausfüllen AUTO Anweisung................ DATA READ RESTORE...
Seite 196
REGISTER - BEFEHLE DLlNE mit EXIT mit NEXT Schleifennachsatz FORMAT FuNction................INKEy$ DEFine KEYROW RETurn PRINT EDIT Einheiten CLOSE................FORMAT ganzeZahlen LBYTES Gleitkomma-Zahlen LOAD GOSUB LRUN GOTO MERGE Grafik MRUN ARC_R OPEN CIRCLE................. CIRCLE_R..............SAVE ELLlPSE................ SBYTES ELLlPSE_R ELLIPSE FILL ELLlPSE_R LlNE 15,16...
Seite 197
REGISTER - BEFEHLE Quadratwurzel OPEN OPEN_IN Tangens OPEN_NEW Microdrives COPY SAVE DELETE SBYTES FORMAT KEYROW LOAD MISTake LOAD MERGE LRUN LBYTES MODE MOVE Stringausdruck MRUN Multitasking LlNE PAUSE Grafik Cursor SEXEC Grafik Koordinatensystem LlNE_R LlST LOAD MISTake Network Programm LOG10 NEXT LOCal Schleifennachsatz...
Seite 198
REGISTER - BEFEHLE Pixel-Koordinatensystem SQRT Quadratwurzel CURSOR Start Programm 35,50 PRINT Stations Nummer............OVER STOP UNDER String Programm CHR$................CONTINUE FILL$ LOAD INSTR LRUN STRIP MRUN PAUSE Streifenfarbe PETRY SAVE Programmzeile Tabellen GOSUB GOTO Tangens Prozeduren THEN DEFine 15,16 Töne LOCal BEEP RETurn...
Seite 199
REGISTER - BEFEHLE Zeilen nummer MODE OVER MERGE Unterstreichen GOSUB GOTO PAPER Zeit Uhr stellen Uhr zurücksetzen Datum Zahlen Zeichensatz PAUSE 3/85...
ANWEISUNG Eine SuperBASIC-Anweisung ist ein Befehl an den OL zur Ausführung einer bestimmten Operation, z. B.: LET a weist der mit a gekennzeichneten Variablen den Wert 2 zu. In eine einzige Zeile kann mehr als eine Anweisung geschrieben werden, wobei die einzelnen Anweisungen durch einen Doppelpunkt (:) voneinander getrennt werden müssen.
AUFTEILUNG Unter bestimmten Umständen muß man sich auf mehr als ein Element in einer Tabelle beziehen, d. h. die Tabelle aufteilen. Die Aufteilung einer Tabelle kann mit der Definition einer Teiltabelle oder einer Folge von Teiltabellen für SuperBASIC vergli- chen werden. Mit jedem Teil kann eine fortlaufende Folge von Elementen definiert werden, die zu einer bestimmten Dimension der Originaltabelle gehören.
AUSDRÜCKE Bei SuperBASIC Ausdrücken kann es sich um String-Ausdrücke, numerische Aus- drücke, bedingte Ausdrücke oder eine Mischung dieser Ausdrücke handeln. Unver- einbare Datentypen werden automatisch vom System, wann immer möglich, geeig- net umgewandelt. Definition monop:=1 INOT Ausdruck: [monop] Ausdruck Operator Ausdruck (Ausdruck) Atom Atom:=...
Seite 204
BASIC SuperBASIC enthält die meisten Funktionen, Prozeduren und Befehle, die auch in anderen BASIC-Versionen vorhanden sind. Einige dieser Funktionen sind in Super- BASIC überflüssig, wurden jedoch aus Gründen der Kompatibilität aufgenommen: GOTO Benutzen Sie IF, REPeat usw. Benutzen Sie DEFine PROCedure GOSUB ON GOTO Benutzen Sie SELect...
BEFEHL Die SuperBASIC-Befehle werden in dem Abschnitt Befehle im einzelnen definiert. Befehle haben dieselbe Form wie ein SuperBASIC Standard-Name. Es spielt keine Rolle, ob der Befehl mit Groß- oder Kleinbuchstaben geschrieben wird. Befehle wer- den in einer Mischung aus Groß- und Kleinbuchstaben aufgelistet und werden stets vollständiq ausgeschrieben angezeigt.
Seite 206
BILDSCHIRM Modus 512 Der Bildschirm hat eine Größe von 512 x 256 (horizontal x vertikal) Pixeln. Von den Vollfarben können nur: Schwarz Grün Weiß in dieser Betriebsart angezeigt werden. Modus 256 Der Bildschirm hat eine Größe von 256 x 256 (horizontal x vertikal) Pixeln. In dieser Betriebsart können sämtliche Vollfarben benutzt werden: Blau Magenta...
DATEITYPEN DATEIEN Die gesamte Ein-/Ausgabe bei dem OL wird von einer bzw. zu einer logischen Oatei vorgenommen. Es gibt verschiedene Dateitypen : Daten SuperBASIC-Programme, Text-Dateien. Sie werden mit PRINT, SAVE erstellt. Der Zugriff erfolgt über INPUT, INKEY$, LOAD usw. Exec Ein ausführbares transientes Programm.
Seite 208
DATENTYPEN VARIABLE Ganze Zahlen Ganze Zahlen können im Bereich von - 32768 bis 32767 dargestellt werden. Va- riablen werden als ganze Zahlen betrachtet, wenn hinter dem Variablennamen ein Prozentzeichen % steht. In SuperBASIC gibt es keine ganzzahligen Konstanten, so daß alle Konstanten als Gleitkomma-Zahlen gespeichert werden. Syntax: Name % Beispiel:...
Seite 209
DATENTYp· UMWANDLUNG Falls erforderlich wandelt SuperBASIC einen nicht passenden Datentyp in einen Typ um, mit dem die angegebene Operation ausgeführt werden kann. Mit den benutzten Operatoren wird die erforderliche Umwandlung festgelegt. Erfor- dert eine Operation beispielsweise einen String-Parameter und wird ein numeri- scher Parameter angegeben, so wandelt SuperBASIC den Parameter als erstes in einen String-Parameter um.
Seite 210
Anschlüsse mit einer bestimmten Einheit zu verbin- den, indem einfach der Anschluß benutzt wird, der "richtig" verdrahtet ist. Die Bele- gung der Anschlußstifte wird nachfolgend angegeben. Sinclair Research Limited kann ein Kabel für den Anschluß des OL an einem 25poligen D-Standardstecker lie- fern.
Seite 211
12 V Stromversorgung verdrahtet werden, die bei beiden seriellen Anschlüssen zur Verfügung steht. Auch wenn die Übertragung von dem QL häufig ohne Handshaking möglich ist, kann der QL unter keinen Umständen Daten korrekt ohne Anschluß der CTS-Lei- tung bei SER1 und DTR bei SER2 empfangen.
Seite 212
Die Datenübertragung bei dem OL wird im Vollduplex-Modus vorgenommen, d. h. das Senden und Empfangen kann gleichzeitig erfolgen. Parität und Handshaking werden ausgewählt, sobald der serielle Kanal geöffnet wird. Befehl Funktion BAUD Legt die Übertragungsgeschwindigkeit fest OPEN Öffnet die seriellen Kanäle* CLOSE Schließt die seriellen Kanäle * Für eine genaue Beschreibung wird auf den Begriff...
Seite 213
DIREKTER BEFEHL SuperBASIC unterscheidet zwischen einer Anweisung, vor der eine Zeilennummer eingegeben wird, und einer Anweisung, die ohne eine Zeilennummer eingegeben wird. Ohne Zeilennummer handelt es sich bei der Anweisung um einen direkten Befehl. Er wird unmittelbar von dem SuperBASIC Befehls-Interpreter verarbeitet.
EINHEITEN Die Einrichtungen, zu denen der OL Daten senden oder von denen er Daten empfan- gen kann, heißen Einheiten. Das System legt nicht von vornherein fest, welche Einheiten schließlich zur Laufzeit eines Programms verwendet wird. Die Einheit kann deshalb leicht geändert werden. Es ist auch möglich, Daten zu einer anderen als der ursprünglich vorgesehenen Ein- heit umzuleiten.
Seite 215
Beispiel: con_20x50aOx0_32 OPEN #4, con_20x50 OPEN #8, con_20x50a1 Ox10 OPEN #7, SCR_wXhaxXy Bildschirmausgabe [wXh] - Breite, Höhe des Fensters [axXy] Y-Koordinaten des Fensters (Ecke links oben). Standardwert : scr _448x 180a32x16 Beispiel: scr _1 Ox1Oa20x50 OPEN #4, OPEN #5, c r.L'l Ox l O SERnphz Serieller Anschluß...
FARBE Bei dem OL können entweder Vollfarben oder Punktmuster benutzt werden - eine Mischung zweier Farben mit einem bestimmten Muster. Die Farbangabe bei dem OL kann maximal drei Parameter umfassen: eine Farbe, eine Kontrastfarbe und ein Punktmuster. Ein Parameter Farbe: zusammengesetzte_Farbe Mit dem einzelnen Argument werden die drei Teile der Farbspezifikation angege- ben.
Seite 217
Beispiel: PAPER 0,2,0: PAPER 2,5: PAPER 255: Hinweis Punktmuster werden unter Umständen auf einem Fernsehgerät, das über den UHF- Anschluß gespeist wird, nicht richtig wiedergegeben. 3/85...
Seite 218
FEHLER· BEHANDLUNG Fehler werden bei SuperBASIC in einem Standardformat gemeldet. In Zeile Zeilennummer Fehlertext wobei Zeilennummer angibt, in welcher Zeile der Fehler entdeckt wurde. Der Fehler- text wird daran anschließend aufgeführt. (1) ABGEBROCHEN Eine Operation wurde vorzeitig beendet (oder die Tastenkombination für die Unterbrechung wurde betätigt).
Seite 219
(16) FEHLERHAFTER DATENTRÄGER Der Datenträger (im allgemeinen eine Microdrive-Kassette) ist wahrscheinlich fehlerhaft. (17) FEHLER IM AUSDRUCK Bei der Auswertung eines Ausdrucks wurde ein Fehler entdeckt. (18) ÜBERLAUF Arithmetischer Überlauf, Division durch Null, Ouadratwurzel einer negativen Zahl usw. (19) NICHT IMPLEMENTIERT (20) NUR LESEN Es wurde versucht, Daten in eine gemeinsam benutzte Datei zu schreiben.
FENSTER Fenster sind Bildschirm-Bereiche, die sich in fast jeder Hinsicht so verhalten, als wäre jedes einzelne Fenster ein Bildschirm für sich, d. h. das Fenster wird gerollt, wenn es mit Text gefüllt ist, kann mit dem CLS-Befehl gelöscht werden usw. Fenster können angegeben und mit einem Kanal verknüpft werden, wenn der Kanal geöffnet wird.
Seite 221
FUNKTIONEN PROZEDUREN SuperBASIC Funktionen und Prozeduren werden mit den Anweisungen DEFine FuNction und DEFine PROCedure definiert. Eine Funktion wird durch Eingabe ihres Namens in einem SuperBASIC-Ausdruck aufgerufen. Die Funktion muß in einem Ausdruck enthalten sein, da sie einen Wert liefert, der verarbeitet werden muß. Eine Prozedur wird aufgerufen, indem ihr Name als erstes Element in einer SuperBASIC- Anweisung eingegeben wird.
GRAFIK Die Grafikprozeduren des OL erlauben, auf sehr einfache Art Grafiken aus Linien, Kreisen und Ellipsen aufzubauen. Mit den Prozeduren der normalen Grafik können Punkte durch Linien oder Kreisbögen miteinander verbunden werden. Die Prozedu- ren der Turtle Grafik ermöglichen es, von einem Punkt aus Linien mit einer bestimm- ten Länge und in einer bestimmten Richtung zu zeichnen.
hat dann folgende Wirkung: Die Koordinaten 20,15 beziehen sich auf den Grafik- Cursor, d. h. auf ein Koordinatensystem, dessen Ursprung jetzt in 30,20 liegt. Bei der Ausführung des Befehls wird der Grafik-Cursor sofort auf 20,15 gesetzt. Die Koordi- naten 30,45 beziehen sich deshalb auf die neue Position des Grafik-Cursors, d. h. auf ein Koordinatensystem, dessen Ursprung in 20,15 liegt.
Seite 224
JOYSTICK Mit den Joystick-Anschlüssen CTL1 und CTL2 können zwei Joysticks an den OL angeschlossen werden. Die Joysticks simulieren bestimmte Tastenbetätigungen, wenn sie auf eine bestimmte Art und Weise bewegt werden. Jedes Programm, das einen Joystick benutzt, muß diese Tastenbetätigungen interpretieren können. Die OL-Tastatur kann direkt mit dem KEYROW-Befehl gelesen werden.
Seite 225
KANÄLE Ein Kanal stellt die Verbindung zu einer OL-Einheit zur Eingabe oder Ausgabe von Daten her. Bevor ein Kanal benutzt werden kann, muß er mit dem OPEN-Befehl geöffnet werden. Bestimmte Kanäle müssen stets geöffnet sein, und zwar die Stan- dardkanäle, die eine einfache Kommunikation mit dem OL über die Tastatur und den Bildschirm ermöglichen.
Seite 226
KOORDINATEN Grafik-Koordinaten- System Im Grafik-Koordinatensystem arbeiten die Prozeduren der Grafik und der Turtle Gra- fik. Jedes Bildschirmfenster besitzt sein eigenes Grafik-Koordinatensystem. Es wird bei der Definition eines Fensters so festgelegt, daß sein Ursprung in der linken unteren Ecke des Fensters liegt. Die (senkrechte) y-Achse ist in 100 Längeneinhei- ten unterteilt.
Seite 227
Pixel-Koordinaten- System Das Maximalfenster des OL hat eine waagerechte Ausdehnung von 512 Pixeln und eine senkrechte Ausdehnung von 256 Pixeln. Innerhalb dieses Fensters liegt jedes Fenster, an das der OL Daten oder Grafiken ausgeben kann. Das Pixel-Koordinaten- system hat seinen Ursprung in der linken oberen Ecke eines Fensters. Die x-Achse ist beim Maixmalfenster in 512 Einheiten, die y- Achse in 256 Einheiten unterteilt, unabhängig, welche Bildschirmbetriebsart gewählt wird.
Seite 228
MATHE· MATISCHE FUNKTIONEN SuperBASIC verfügt über die trigonometrischen und mathematischen Standard- funktionen. Funktion Name Kosnius Sinus Tangens ATAN Arcustangens ACOT Arcuskotangens ACOS Arcuskosinus ASIN Arcussinus Kotangens Exponentialfunktion Natürlicher Logarithmus LOG10 Zehnerlogarithmus Ganze Zahl Absoluter Wert Umsetzung in Radiant Umsetzung in Grad Gibt den Wert von zurück Liefert eine Zufallszahl...
MICRODRIVES Microdrives stellen den hauptsächlichen permanenten Speicher bei dem OL dar. Jede Microdrive-Kassette verfügt über eine Kapazität von mindestens 100 KBytes. Der zur Verfügung stehende freie Speicherplatz wird von Odos falls erforderlich in Form von Microdrive-Puffern zugewiesen, um die Leistung zu verbessern. Jede leere Kassette muß...
Seite 230
Befehl Funktion FORMAT Bereitet eine neue Kassette zur Benutzung vor DELETE Löscht eine Datei von einer Kassette Listet die Dateien einer Kassette auf SAVE SBYTES Sichert Daten auf einer Kassette SEXEC LOAD LBYTES Lädt Daten von einer Kassette EXEC MERGE OPEN_IN OPEN_NEW Öffnet und schließt Dateien...
Seite 231
4 Video-Synchr n r---------------- _ ... Diagramm des Monitor-Anschlusses von der Rückseite des QL gesehen, mit Angabe der Stiftnummer und Funktionen. Ein RGB- (Farb-)Monitor kann mit einem Kabel und einem 8poligen DIN-Stecker für die OL-Seite angeschlossen werden. Der Anschluß auf der Monitorseite hängt von dem Monitor ab.
Seite 232
NAME Ein SuperBASIC-Name besteht aus einer Folge von Buchstaben, Zahlen und Unter- streichungszeichen. Definition Buchstebe:» a ..z A..Z 111213141516171819101 Zahl: Neme:» Buchstabe Buchstabe Zahll_1l* a) a Beispiel: grenze_1 anfangs_wert tota L Ein Name muß mit einem Buchstaben beginnen, auf den eine Folge von Buchsta- ben, Zahlen und Unterstreichungszeichen folgen kann.
Seite 233
NETZWERK Der OL kann mit bis zu 63 anderen OL -Computern verbunden werden. Sind mehr als zwei Computer in dem Netzwerk vorhanden, so muß jedem Computer(jeder Station) eine eindeutige Stationsnummer zugewiesen werden. Bei dem OL kann dies über den NET-Befehl erfolgen. Die Daten werden in Form von Blöcken über das Netzwerk gesendet.
OPERATOREN Priorität Die Priorität der SuperBASIC-Operatoren wird in der Tabelle unten angegeben. Bei Operationen gleicher Priorität werden die entsprechenden Operationen von links nach rechts ausgeführt. Die festgelegte Priorität der SuperBASiC-Operatoren kann verändert werden, indem die entsprechenden Teile des Ausdrucks in Klammern gesetzt werden.
Seite 235
PERIPHERIE· ERWEITERUNG Über den Erweiterungs-Anschluß können zusätzliche Peripheriegeräte an dem OL angeschlossen werden. Über den Anschluß stehen folgende Signale zur Verfügung : ROWL DTACKL CLKCPU RESETCPUL CSYNCL VSYNCH VPAL GREEN BLUE ftß ROMOEH OBGL OSMCL IPLOL BERRL IPL1L VP12 EXTINTL VM12 Bei dem Anschluß...
Seite 236
Eingangssignale der Ot-Peripherieeinheit Signal Funktion DTACKL Datenrückmeldung Bus-Anforderung VPAL Gültige Peripheriegeräte-Adresse IPLOL Unterbrechungsebene IPL1 L Unterbrechungsebene BERRL Busfehler EXTINTL Externe Unterbrechung DBGL Datenbusübernahme Bidirektionale Signale der OL-Peripherieeinheit Signal Funktion 00 ... 07 Datenleitungen Verschiedene Signal Funktion SPO ... SP3 Auswahl von Peripheriegerät 0 bis 3 9 V Gleichspannung -500 mA maximal VM12 -12 V...
Seite 237
PROGRAMM Ein SuperBASIC-Programm besteht aus einer Folge von SuperBASIC-Anweisun- gen, wobei vor jeder Anweisung eine Zeilennummer steht. Die Zeilennummern lie- gen in dem Bereich von 1 bis 32767. Befehl Funktion Startet ein geladenes Programm LRUN Lädt ein Programm von einer Einheit und startet es CTRL LEERTASTE...
Seite 238
aoos Qdos ist das OL-Betriebssytem, das folgende Funktionen überwacht: - Abarbeitung von Programmbereichen und Zuweisung der Betriebsmittel - Bildschirm-EI A (einschließlich Fenster-Bearbeitung) - Microdrive-E/A - Datenübertragung über Netzwerke und serielle Kanäle - Tastatureingabe - Speicherverwaltung. Speichereinteilung Eine vollständige Beschreibung von Odos würde den Rahmen dieses Handbuches sprengen.
Seite 239
nur durch Rücksetzung des OL wieder freigegeben werden. Im Maschinencode geschriebene residente Prozeduren können zu der SuperBASIC-Namensliste hinzugefügt werden und werden so zu Erweiterungen des SuperBASIC-Systems. svLtrnsp Transiente Programme Transiente Programme werden direkt unter den residenten Proze- duren geladen. Jedes Programm muß selbständig sein, d. h. muß Platz für die eigenen Daten und den eigenen Stack aufweisen.
Einheiten Die in dem System enthaltenen Standardeinheiten werden in diesem Kapitel unter- Einheiten erläutert. Weitere Einheiten können zu dem System hinzugefügt werden. Nachdem ihnen ein Name zugewiesen wurde (z. B. SER1, NET), kann auf sie wie auf andere OL-Einheiten zugegriffen werden. Multitasking Jobs können die Zentraleinheit je nach Priorität und Konkurrenz mit anderen Jobs in dem System gemeinsam benutzen.
ROM· KASSETTEN· ANSCHLUSS Über ihn kann Software von einer Sinclair OL ROM-Kassette in dem OL-System benutzt werden. Die ROM-Kassette kann Software enthalten, mit der das Verhalten des SuperBASIC-Systems direkt geändert werden kann. Auf der Kassette kann fol- gendes stehen: a) Die Software, die anstelle des SuperBASIC-Systems oder mit dem SuperBASIC- System benutzt werden soll.
Seite 242
SCHLEIFEN Die Schleifen bei SuperBASIC werden von zwei grundlegenden Programm-Kon- struktionen gesteuert. Jede Konstruktion muß gegenüber SuperBASIC beschrie- ben werden: REPEAT Name FOR Name Bereich Anweisungen Anweisungen END REPEAT Name END FOR Name Diese beiden Konstruktionen werden in Verbindung mitzwei anderen SuperBASIC- Anweisungen benutzt: NEXT Name EXIT Name...
Seite 243
Die Benutzung reservierter Bereiche in der Speichereinteilung kann zu einer Inkom- patibilität mit künftigen Sinclair Produkten führen. Die Ausgabe an Adressen, die als A-Adressen für Peripheriegeräte definiert sind, kann zu einem nicht vorhersehba- ren Verhalten führen. Es wird empfohlen, daß in diese Bereiche NICHT geschrieben wird, und daß...
Seite 244
Microdrive-Daten und zu einem Datenverlust kommen. Werden benutzte Bereiche, wie beispielsweise Systemtabellen, mit POKE geändert, so kann es zu einem Systemabsturz und zu einem Daten- und Programmverlust kommen. Die gesamte EIA muß entweder mit den entsprechenden SuperBASIC-Befehlen oder den Routinen des Qdos-Betriebssystems ausgeführt werden.
Seite 245
STANDARD· WERTE Viele SuperBASIC-Befehle benötigen eine bestimmte Anzahl von Parametern. Oft ist es aber so, daß für einige Parameter fast immer dieselben Werte eingesetzt wer- den. Es wäre mühsam, bei bestimmten Befehlen immer wieder dieselben Parame- terwerte einzugeben. In solchen Fällen setzt SuperBASIC immer dann einen sinn- vollen Standardwert für einen Parameter ein, wenn Sie nicht selbst einen anderen Wert eingeben.
Seite 246
STARTEN Unmittelbar nach dem Einschalten (oder Rücksetzen) führt der OL einen RAM-Test aus, bei dem ein wililkürliches Muster auf dem Bildschirm angezeigt wird. Nachdem der RAM-Test beendet ist, wird der Bildschirm gelöscht und der Copyright-Vermerk angezeigt. Nach dem Start zeigt der OL den Copyright-Vermerk an und fragt, ob er mit einem Fernsehgerät oder einem Monitor benutzt wird.
Seite 247
STRING~ TABELLEN STRING· VARIABLE String-Tabellen und numerische Tabellen sind im Grunde genommen gleichartig, obwohl es bei der Verarbeitung durch SuperBASIC leichte Unterschiede gibt. Mit der letzten Dimension einer String-Tabelle wird die maximale Länge der Strings innerhalb der Tabelle definiert. String-Variablen können eine beliebige Länge von bis zu 32766 Zeichen aufweisen.
Seite 249
SYNTAX· DEFINITION Die SuperBASIC-Syntax wird in einer Art "Meta-Sprache"beschrieben. Vier ver- schiedene Bezeichnungen werden benutzt: Eines der Elemente wird ausgewählt Die enthaltenen Elemente werden nur bei Bedarf eingesetzt Die enthaltenen Elemente können mehrfach eingesetzt werden. Bereich Kommentar A oder B Zum Beispiel: A kann bei Bedarf eingesetzt werden A kann mehrfach eingesetzt werden...
Seite 250
TABELLEN Tabellen müssen stets mit DIM dimensioniert werden, bevor sie benutzt werden können. Ist eine Tabelle dimensioniert, so ist der Wert jedes der Tabellenelemente auf Null oder einen String mit einer Länge von Null gesetzt, sofern es sich um eine String-Tabelle handelt.
Seite 251
Bei dem OL werden Töne durch den zweiten Prozessor des OL (einen 8049 Prozes- sor) erzeugt. Sie werden durch folgende Angaben gesteuert: - bis zu zwei Tonhöhen - Geschwindigkeit, mit der sich der Ton zwischen den Höhen bewegen soll, d. h. die Flanke; - Verhalten des Tons nachdem eine der angegebenen Höhen erreicht ist, d.
Seite 252
STUFE 3 Auf dieser Stufe kann ein Parameter hinzugefügt werden, der bestimmt, wie sich der Ton verhält, wenn er eine der angegebenen Höhen erreicht. Der Ton kann schwan- ken. Die Anzahl von Schwankungen kann angegeben werden, wobei er auch stän- dig hin- und herschwingen kann.
TURTLE· GRAFIK SuperBASIC verfügt über eine Reihe von Befehlen für Turtle-Grafiken: Befehl Funktion PENUP Stoppt das Zeichnen PENDOWN Startet das Zeichnen MOVE Verschiebt die Turtle TURN Dreht die Turtle TURNTO Dreht in eine bestimmte Richtung Diese Befehlsgruppe stellt das Minimum dar. Sie wird normalerweise zusammen mit anderen Prozedur benutzt, um die Befehle zu erweitern.
Seite 254
Der OL enthält eine Echtzeituhr, die läuft, sobald der Computer eingeschalter wird. Für Datum und Uhrzeit wird das ISO-Standardformat benutzt: 1983 JAN 01 12: 09: 10 Aktuelle Angaben für Jahr, Monat, Tag und Uhrzeit können durch DATE$ abgerufen werden. Befehl Funktion SDATE Stellt die Uhr ein...
Seite 255
UNTER· BRECHUNG Reagiert der Computer zu irgendeinem Zeitpunkt nicht richtig oder möchten Sie ein SuperBASIC-Programm bzw. einen SuperBASIC-Befehl stoppen, so gehen Sie fol- gendermaßen vor: Halten Sie CTRL gedrückt und betätigen Sie die LEERTASTE Ein auf diese Weise unterbrochenes Programm kann mit dem CONTINUE-Befehl fortgesetzt werden.
Seite 256
ZEICHEN· VORRAT UND TASTEN Dezimal Tasten Anzeige/Funktion CTRL ESC NULL CTRLA CTRLB CTRLC Eingabekanal umschalten CTRLO CTRLE CTRLF CTRLG CTRLH TAB (CTRL I) Tabulator ENTER (CTRL J) Neue Zeile/Befehlseingabe CTRLK CTRL L Enter CTRLM CTRLN CTRLO CTRLP CTRLQ CTRLR CTRL S CTRL T CTRLU CTRLV...
Seite 257
Dezimal Tasten Anzeige/Funktion SHIFT . SHIFT , < < SHIFTO < > SHIFT SHIFTß CTRL SHIFT A SHIFT B SHIFT C SHIFT D SHIFT E SHIFT F SHIFTG SHIFT H SHIFTI SHIFT SHIFT K SHIFT L SHIFT M SHIFT N SHIFTO SHIFT P SHIFT Q...
Seite 259
Dezimal Tasten Anzeige/Funktion CTRL SHIFT P CTRL SHIFTQ CTRL SHIFT R CTRL SHIFT S Spanish inverse! mark CTRL SHIFTT Spanish inverse? mark CTRLSHIFTU Swedish script mark SHIFT3 Section symbol CTRLSHIFTW Continental cross/circle < CTRL SHIFT X > CTRLSHIFTz CTRL SHIFTY degree CTRLÜ...
Seite 260
Dezimal Tasten Anzeige/Funktion CTRL F3 SHIFT F3 CTRL SHIFT F3 CTRL F4 SHIFT F4 CTRL SHIFT F4 CTRL F5 SHIFT F5 CTRL SHIFT F5 SHIFT Leerzeichen SHIFTTAB SHIFT ENTER Siehe unten Wenn die ALT-Taste mit einer beliebigen anderen Taste, außer den Cursor-Steuerta- sten oder der UMSCHALT-Taste betätigt wird, wird der Code FF erzeugt, gefolgt von einem Byte, das anzeigt, was der Tastencode gewesen wäre, wenn die ALT-Taste nicht gedrückt wäre.
Seite 262
REGISTER - BEGRIFFE niedrigauflösender Bildschirm SCHLEIFEN numerische Ausdrücke..........SPEICHEREINTEILUNG Standartbildschirm STANDARTWERTE STARTEN Standartbildschirm............ Operating System String................2,13 OPERATOREN STRING-TABELLEN, STRING-VARIABLE Priorität................34 STRING-VERGLEICH Vergleichsart SYNTAX-DEFINITION System aufruf Parameter PERIPHERIE-ERWEITERUNG Pixel Pixel-Koordinatensysteme TABELLEN Priorität................34 Tasten PROGRAMM Anweisungen TURTLE-GRAFIK ODOS Speichereinteilung UNTERBRECHUNG Systemaufrufe.............
Seite 263
ARBEITSKOPIEN Fertigen Sie bitte immer mindestens eine Arbeitskopie an, bevor Sie eines der vier QL Programme benutzen. Arbeiten Sie dann immer nur mit der Arbeitskopie. Be- wahren Sie die Original kassetten mit den Programmen sicher auf. Benutzen Sie die Original kassetten nur, um bei Bedarf Kopien anzufertigen. So schützen Sie sich vor dem Verlust Ihrer Programme.
Seite 264
KAPITEL WAS IST QL QUILL? QL Quill ist ein äußerst komfortables Textverarbeitungsprogramm. Konzipiert für optimale Leistungsfähigkeit und Flexibilität, ist es dennoch einfach im Gebrauch. Wie Sie bald sehen werden, hält Sie das System ständig auf dem laufenden. Alles, was Sie bisher mit der Schreibmaschine erledigt haben, können Sie von nun an Ihrem Textverarbeitungssystem überlassen.
FANGEN SIE AN Ferner entnehmen Sie der Statuszeile,daß sich Quill zur Zeit im Modus Einfügen befindet. Mit anderen Worten: Ihre Texteingabe wird in das Dokument eingefügt und überschreibt nicht etwa bereits bestehenden Text.Der Vermerk "Normal" besagt, daß keine besondere Schriftart gewählt wurde, sondern im normalen Stil geschrieben wird. Auf Wunsch können Sie aber auf Fettdruck, Unterstreichung, Hoch- und TiefsteIlung umschalten.
Seite 268
FANGEN SIE AN •••• 1 •••• 2 •••. 3 ..•• 4 •••• 5 •••. 6 •••• 7 ••.• 8 .•.. 1 ..2 •... 3 ..4 ..5 ..6 ..7 ..Abbildung 2.7 Die Cursorsteuerung Abbildung 2.8 Die Text Optionen Die zweite Zeile im Feld TEXT zeigt, daß...
Seite 269
FANGEN SIE AN Quill zeigt Ihnen am Bildschirm, was später aufs Papier kommt. Die einzigen Ausnahmen sind der obere und der untere Seitenrand und der Zeilenabstand, wenn dieser doppelt oder dreifach gewählt wird. Auf die Darstellung wird in diesen Fällen verzichtet, weil sie den Bildschirminhalt erheblich reduzieren würde.
Seite 270
FANGEN SIE AN Achten Sie beim Aufrufen der Befehle darauf, daß Sie das richtige Menü vor sich haben, damit der eingegebene Buchstabe auch wirklich den beabsichtigten Befehl startet. Der verbleibende Teil des Quill-Handbuchs befaßt sich im wesentlichen mit der Beschreibung der einzelnen Befehle. Doch für den Moment beschränken wir uns auf zwei: Verlassen und Tilgen.
KAPITEL CURSOR· EDITIEREN Dieses Kapitel macht Sie vertraut mit den einfachen Editierfunktionen von Quill. Da Textänderungen nur an der Cursorposition vorgenommen werden können, muß der Cursor mit den Pfeiltasten an die betreffende Stelle gebracht werden. Man bezeichnet diese Art der Textbearbeitung als Cursor-Editieren. Geben Sie einen kurzen Text ein und probieren Sie am besten selbst die verschiedenen Funktionen aus.
Seite 272
cURSOR-EOITIEREN Beim Überschreiben wird der Cursor an die betreffende Stelle gebracht und dann der neue Text darübergetippt. Anschließend daran denken, wieder auf den Einfüge-Modus zurückzuschalten, weil Sie sonst irrtümlich Text zum Verschwinden bringen, der nicht dafür vorgesehen war. HILFE CURSOR TEXT TEXTSTIL BEFEHLE...
Seite 273
KAPITEL 4 TEXTFORMAT Dieses Kapitel befaßt sich mit dem Textformat, d.h. mit dem Layout, der Gliederung und dem optischen Eindruck Ihres Dokuments im Gegensatz zum Textinhalt. In diesem Zusammenhang geht es beispielsweise um verschiedene Schriftarten, wie Fettdruck, Unterstreichung, Hoch- und Tiefsteilung, aber auch um die rechte und linke Randeinsteilung, um Einrückungen und um den Randausgleich.
Seite 274
DAS TEXTFORMAT Die Schriftart eines bereits bestehenden Texteszu ändern, ist ganz einfach. Man spricht dabei von Übermalen und stellt sich den Cursor als einen Pinsel vor, der die Schriftart des darunterliegenden Textes ändert. Als erstes plazieren Sie den Cursor auf den Anfang der TextsteIle, d rücken F4 und danach Ü.
DAS TEXTFORMAT Die linke Randeinsteilung ist die aktivierte Option. Drücken Sie also dreimal die rechte Cursorpfeiltaste. Die neue Randeinsteilung tritt sofort in Kraft, was Sie am Bildschirm mitverfolgen können. ENTER Zum Verlassen des Befehls drücken bzw. zur Modifikation der anderen RandeinsteIlungen die Leertaste und anschließend zum Verschieben die Rechts- Linkspfeiltasten betätigen.
Seite 276
KAPITEL 5 EDITIERBEFEHLE In diesem Kapitel stellen wir Ihnen weitere Editierfunktionen vor, welche die Textverarbeitung um vieles erleichtern und beschleunigen. Das sind zum einen das Kopieren, Verschieben und Löschen von ganzen Textblöcken und zum andern die leistungsfähigen Such- und Ersetzoperationen. Quill sieht zu diesem Zweck die Editierbefehle Kopie, Entfernen, Suchen und Ersetzen vor.
Seite 277
EDITIERBEFEHLE Danach fordert Quill im Statusbereich den gewünschten Suchbeg riff an. Schließen Sie Ihre Eingabe mit ENTER ab, worauf die Suche sofort aufgenommen wird. Sobald Quill die erste Zeichenfolge findet, die dem Suchbegriff entspricht, hält es an und markiert die Anfangsposition mit dem Cursor.Wenn das die Stelle ist,die Sie haben wollen, können Sie den Befehl mit ENTER verlassen.
Seite 278
KAPITEL 6 WEITERE FORMATlER· FUNKTIONEN In diesem Kapitel wollen wir uns den verbleibenden Optionen zur Formatierung des Textes zuwenden. Dazu gehört das Setzen der Tabulatoren und der Seitenumbrüche und Entscheidungen, die mit dem Erscheinungsbild des Textes zu tun haben, wie etwa der Zeilenabstand oder die Seitenlänge.
WEITERE FORMATlER·FUNKTIONEN Die Wahl des Befehls Tab-Stops (F3 und bewirkt die Anzeige aller Tab-Positionen auf der Tabulatorskala. Den Typus der Tab-Stops erkennen Sie an den Buchstaben (L, M, R, D). Der Cursor sitzt in der Anfangsposition und läßt sich mit den Pfeiltasten hin- und herbewegen.
Seite 280
WEITERE FORMATlER-FUNKTIONEN BREITE Wenn Sie den rechten Rand so weit verschieben, daß die Anzahl von Zeichen in der DOKUMENTE Zeile größer ist als die Anzeigebreite Ihres Sichtgeräts, dann ist es nicht möglich, die ganze Breite des Dokuments gleichzeitig zu sehen. Der Arbeitsbereich ist dann wie ein Fenster,welches Ihnen jeweils einen Ausschnitt des Dokuments zeigt, und zwar immer in Abhängigkeit von der Cursorposition.
Seite 281
KAPITEL 7 DATEIBEFEHLE Es ist keine schlechte Idee, ein geschriebenes oder überarbeitetes Quill-Dokument auf Microdrive-Kassette abzuspeichern. Auf diese Weise können Sie es irgendwann später wieder abrufen, neu bearbeiten oder ausdrucken, und außerdem schützen Sie sich gegen Datenverlust. Ein Dokument, welches auf Microdrive-Kassette gespeichert wird, nennt man eine Datei. Dateien sind zusammengehörige Informationsbündel, denen ein eigener Name zugewiesen wird.
Seite 282
DATEIBEFEHLE Im Zusammenhang mit den soeben beschriebenen Dateibefehlen werden Sie oft mit zwei Datenkassetten gleichzeitig arbeiten, z.B. um eine Reservekopie auf einer anderen Kassette zu speichern oder um eine Datei zu importieren, die auf einer anderen Kassette gesichert wurde. Zu diesem Zweck können Sie die Quill-Kassette aus dem Microdrive 1 herausnehmen und dort eine andere Kassette einschieben.
Bei Befehlen, die eine Eingabe vom Benutzer anfordern (z.B. Sichern, Laden, Dateien, Ersetzen) werden etwaige Tippfehler oder fehlerhafte Angaben mit dem Zeileneditor korrigiert, der in der Einführung zu den QL:Programmen beschrieben ist. DIE BEFEHLE Es folgt eine alphabetische Zusammenstellung aller in Quill verfügbaren Befehle. Befehle (11).
Seite 284
Dokument ein. Der Einschub erfolgt an der Cursorposition. Die importierte Datei muß eine aus QL Abacus oder QL Archive bzw. eine Textdatei (z.B. aus SuperBASIC) sein. Näheres im Informationsteil. ENTFERNEN Dieser Befehl dient zum Löschen längerer TextsteIlen. Sie markieren als erstes den Anfang ENTER.
Seite 285
ÜBERSICHT Unterer Rand ENTER. Geben Sie die Anzahl der Leerzeilen am Seitenende an und drücken Sie Die Standardvorgabe ist 3. Anzeigebreite Drücken Sie 4, 6 oder 8 zur Einstellung von 40, 64 oder 80 Zeichen pro Zeile. Quill akzeptiert keine andere Eingabe. Die Standardeinstellung ist 80 bzw. 64, je nachdem, ob Sie mit einem Monitor oder einem Fernseher arbeiten.
ÜBERSICHT Plazieren Sie den Cursor vor Aufrufen des Befehls an die Stelle, wo der Einschub erfolgen soll. Quill fordert dann den Namen der Datei an, die eingefügt werden soll. Sie können die Datei auch mitten in einem bestehenden Textabsatz einfügen; dieser wird dann an der Cursorposition automatisch von Quill aufgeteilt und das Dokument dazwischen eingeschoben.
Seite 287
ÜBERSICHT Die neuen Randeinsteilungen gelten von dem Absatz, in dem der Cursor bei Eingabe Befehls steht, und bleiben solange gültig, bis eine neuerliche Änderung vorgenommen wird, bzw. bis zum Ende des Dokuments. Selbstverständlich können Sie die Ränder an mehreren Textabsätzen verändern. Bevvegen Sie den Cursor entsprechend mit den Auf- und Abwärtspfeiltasten.
Seite 288
ÜBERSICHT TILGEN (11) Vorsicht: Dieser Befehl löscht das ganze aktuelle Dokument, ohne es auf Microdrive- Kassette abzuspeichern. Der Arbeitsbereich wird geleert, und Sie können mit einem neuen Dokument arbeiten. UNTEN Mit diesem Befehl können Sie eine sog. Fußzeileeinrichten, einen kurzen Textoder eine Zahl, die am Fußende jeder Seite erscheint - allerdings nur auf dem Papierausdruck, nicht am Bildschirm.
Seite 289
UBERSICHT TEXTSTIL Dieser Befehl gestattet Ihnen gewisse Änderungen am Schriftbild Ihres Dokuments. Mit der Funktionstaste F4 holen Sie sich die vier unten beschriebenen Stil-Optionen auf den Bildschirm, die Sie durch Eingabe des betreffenden Anfangsbuchstabens wählen. Die gewählte Schriftart gilt bis zur nächsten Stil-Modifikation. Eine weitere Möglichkeit ist das sog.
Seite 291
ARBEITSKOPIEN Fertigen Sie bitte immer mindestens eine Arbeitskopie an, bevor Sie eines der vier QL Programme benutzen. Arbeiten Sie dann immer nur mit der Arbeitskopie. Be- wahren Sie die Original kassetten mit den Programmen sicher auf. Benutzen Sie die Original kassetten nur, um bei Bedarf Kopien anzufertigen. So schützen Sie sich vor dem Verlust Ihrer Programme.
Seite 292
KAPITEL 1 WAS IST QL ABACUS? OL Abacus ist ein Tabellenkalkulationsprogramm. Es dient zum Erfassen von Daten, zum Aufstellen von Budgets und Planungsunterlagen sowie zur Berechnung, Speicherung und Präsentation von Zahlenmaterial. OL Abacus ist ein Arbeitsblatt Tabellenform, eingeteilt in 255 horizontale Zeilen und 64 Spalten. Die Bildschirmmaske zeigt jeweils nur einen Ausschnitt der ganzen Tabelle, ist also eine Art Fenster, das Ihnen den Blick auf einen Teilbereich eröffnet.
Seite 294
FANGEN SIE AN CURSOR DATEN/FORMELN TEXT <-H--+ eintippen, NACH FELD eintippen gefolgt drücken Text & ~ LEER Abbildung 2.2 Die Hauptanzeige bei 40-spaltiger Anzeigebreite Das Fenster Der mittlere Bereich der Bildschirmmaske ist das Fenster, welches einen Ausschnitt der Tabelle (des Rasters) zeigt. Eingerahmt wird die Tabelle oben durch einen horizontalen Streifen, der Buchstaben c...) (A, B,...
Seite 295
FANGEN SIE AN 2.5 Der Cursor 2.6 Der Statusbereich Der Statusbereich Der unterste Bereich in der Bildschirmmaske ist der Statusbereich, dem Sie Informationen über den momentanen Zustand der Tabelle entnehmen. So finden Sie dort die Feldadresse des aktuellen Feldes und seinen Inhalt - beim Starten von Abacus ist das Feld leer.
Abacus- Tabellencursor zu verwechseln ist. Fehler in der Eingabezeile können Sie leicht mit Hilfe des Zeileneditors korrigieren, der in der Einführung zu den QL - Programmen beschrieben ist. ENTER überträgt den Wert 100 in das aktuelle Feld (A1) und leert die Eingabezeile für neue Eingaben.
FANGEN SIE AN DIE BEFEHLE Die Abacus-Befehle sind über F3 erreichbar. Das Mittelfeld im Steuerbereich präsentiert einen Katalog der verfügbaren Befehle, das Befehlsmenü. (Abbildung 2.9) Die meisten Befehle werden in späteren Kapiteln ausführlich erklärt, doch für den Moment wollen wir uns nur mit zweien befassen: tilgen zum Leeren der Tabelle und verlassen zum Umsteigen von Abacus auf SuperBASIC.
Seite 298
KAPITEL 3 FELDER, ZEILEN, SPALTEN BEREICHE Die Effizienz von Abacus liegt unter anderem in seiner Fähigkeit, ganze Zeilen, Spalten und Zellenbereiche mit einer einzigen Operation zu erfassen. Auf diese Weise ist es z.B. möglich, alle Felder einer Zeile oder eines Bereichs automatisch zu füllen, entweder mit jeweils dem gleichen Inhalt oder mit Werten, die sich nach einer Berechnungsvorschrift systematisch verändern.
Seite 299
FELDER, ZEILEN, SPALTEN UND BEREICHE Um auf die ursprünglichen Standardwerte umzuschalten - Zahlen: Allgemein und rechtsbündig, Text linksbündig - diese Sequenz eingeben: 1F31 B L Z R Zahl, rechtsbündig ENTER ENTER Text, linksbündig Z L A Zahl, Allgemein ZEILEN Kalkulationstabellenenthalten oft mehrere Felder mit dem gleichen Wert oder mit Werten, die in einer systematischen Weise miteinander verknüpft sind.
FELDER, ZEILEN. SPALTEN UND BEREICHE NAMEN In den vorangehenden Beispielen wurden ausdrückliche Feldadressen (Spalten- und Zeilen-Koordinaten) verwendet. Eine wichtige alternative Methode zur Bezeichnung von Namen, Feldern verwendet stattdessen die Sie sich frei ausdenken können. Diese Namen dienen dann ganz genauso zur eindeutigen Identifizierung von Zeilen und Spalten oder einzelnen Zellen.
Seite 301
FELDER. ZEILEN. SPALTEN UNO BEREICHE TEXT BEFEHLE HILFE CURSOR DATEN/FORMELN " eintippen, <-H--+ DIALOG NACH FELD eint ippen und gefolgt von ABBRUCH & ~ ~ drücken Text 1000 Abbildung 3.2 Benennen einer Spalte HILFE TEXTE BEFEHLE CURSOR DATEN/FORMELN I • • "...
Seite 302
FELDER, ZEILEN, SPALTEN UNO BEREICHE BEREICHE Befehle können sich nicht nur auf Zeilen und Spalten beziehen, sondern auch auf rechteckige Tabellenblöcke, sog. Bereiche. Ein Verweis auf einen Bereich setzt sich aus zwei Elementen zusammen: den Koordinaten des oberen linken Feldes und den Koordinaten des unteren rechten Feldes in dem betreffenden Block.
Seite 303
FELDER. ZEILEN, SPALTEN UND BEREICHE MEHR ZU WERTEN Die Angabe der Position, d.h. der Adresse eines Einzelfeldes oder auch eines ganzen Feldbereichs dürfte keine Schwierigkeiten mehr machen. Nun wollen wir sehen, wie die UND TEXTEN Darstellung der Feldinhalte verändert werden kann. Zu diesem Zweck als erstes eine kurze Erklärung über die Art und Weise, wie Zahlen gespeichert werden.
Seite 304
FELDER. ZEILEN. SPALTEN UNO BEREICHE und der Inhalt der Eingabezeile: BefehL>ZahLen,besetzt,DezimaL,DezimaLsteLLen Berei ch A1: A1 Feld A1 zeigt den Wert 123.45600. Als nächstes das Prozentformat, das Sie im Untermenü mit P erreichen. Überschreiben Sie die vorgeschlagene 2 für Dezimalstellen mit 1 und akzeptieren Sie AlAl Die vollständige Eingabesequenz und die zugeörige Eingabezeile sind:...
Seite 305
FELDER, ZEILEN. SPALTEN UND BEREICHE (F3) Verlagern Sie den Cursor wieder auf B1 und fordern Sie aus dem Befehlsmenü W für wegnehmen an, worauf Sie nach dem Bereich gefragt werden. Akzeptieren Sie das angebotene B1 mit ENTER. Die ganze Eingabesequenz lautet: IF31w IENTERI Der Text in A1 kann sich jetzt wieder breitmachen, da Feld B1 leer ist.
KAPITEL 4 FUNKTIONEN FORMELN FUNKTIONEN Abacus verfügt über eine reichliche Auswahl von Funktionen zur Ausführung gewisser Berechnungen an Feldern oder Feldbereichen. Funktionen arbeiten mit mehreren Eingabewerten, sog. Argumenten, anhand derer sie ein Ergebnis ermitteln. Man sagt, das Ergebnis sei der Wert, den die Funktion liefert oder einfach der Funktionswert. Abacus verlangt die Eingabe der Argumente in Klammern nach dem Namen der Funktion.
FUNKTIONEN UNO FORMELN Ein Tabellenfeld, welches eine Formel enthält, zeigt immer das Ergebnis der Kalkulation, während die zugrundeliegende Formel der Rubrik "INHALT" im Statusbereich zu entnehmen ist. Die restlichen Beispiele, die mit Formeln arbeiten, verwenden die Namen-Funktion und die Zeilen- und Spaltenbereichsbezeichner.
Seite 308
FUNKTIONEN UNO FORMELN Akzeptieren Sie auch hier wieder denselben Bereich (B bis M) und überlassen Sie alles weitere den Rechenkünsten von Abacus. Damit sind wir am Ende dieses einfachen, aber vollständigen Beispiels. Wenn Sie jetzt noch das Anzeigeformat 'Währung" über F3 und Z B2:M4 BefehL>ZahLen,besetzt,Währung,Minuszeichen,Bereich...
Seite 309
FUNKTIONEN UND FORMELN Bevor Sie sich an die nun folgenden Übungsbeispiele machen, sollten Sie den Auto- Kalkulationsmodus wieder einschalten. Fordern Sie aus dem Befehlsmenü mit F den ENTER. format-Befehl und dort mit A 'Auto-Kalkulation" an. Verlassen des Befehls mit 3/85...
KAPITEL 5 BEISPIELE In diesem Kapitel wollen wir einige Übungstabellen aufbauen, um den Gebrauch und die Möglichkeiten von Abacus nicht nur theoretisch zu erläutern, sondern auch in Form von praktischen Beispielen zu veranschaulichen. Bei der Auswahl der Beispiele wurde zum einen darauf geachtet, eine möglichst große Vielfaltder Befehle und Arbeitsvorgänge aufzunehmen und zum anderen einen Einblick in die vielfältigen Anwendungs- möglichkeiten und Einsatzgebietevon Abacus zu vermitteln.Am besten lernt man Abacus kennen, wenn man damit umgeht.
Seite 311
BEISPIELE Mit diesen Eingaben füllen Sie die Verkaufszahlen für das ganze Jahr aus, ausgehend von der Annahme, daß der Wert im Januar 4000 betrug und daß monatlich ein Zuwachs von 2% erzielt wird. CASH"':FLOW --------- --------- Januar Februar März Apri 1--------------------------------------------------- VERKAUF 4000.00...
Seite 312
BEIWIELE Die Funktion summet) addiert die Inhalte aller numerischen Felder ihres Arguments. Leere Felder und solche mit alphanumerischem Inhalt bleiben unberücksichtigt. Der Bereichsverweis kann ausdrücklich gegeben werden, etwa als B12:B16. Da jedoch im vorliegenden Beispiel jeder Bereich nur eine einzige Spalte umfaßt,wurde der Einfachheit halber der Bereichsbezeichner "sp"...
Seite 313
BEISPIELE und mit den folgenden drei Eingaben der jeweiligen Multiplikationstabelle einen Titel: [83] "D I E [C3] anfn(IIWeLche TabeLLe möchtest Du sehen") [D3] li-ER TASE LLE Hier verwenden wir die Funktion anfnO zur Anforderung der gewünschten Multiplikationstabelle. MULTIPLIKATIONSTABELLEN ==================== DIE 7 -ER TABELLE 1 ma L 2 ma L 3 ma L...
Seite 314
BEISPIELE gleich unabhängig vom jeweiligen Bezugsfeld. Ein absoluter Feldverweis bezeichnet immer ein ganz bestimmtes Feld in der Tabelle, und zwar aus jeder beliebigen Position ohne Rücksicht auf relativeVerhältnisse.Durch Hinzufügen des Dollarzeichens kann jeder Feldverweis absolut gemacht werden. [D4] sp="=" (Zeilen 4 bis 15) [E4] sp=$C3*(zLe()-3) (Zeilen 4 bis 15) Diese letzten beiden Spalteneintragungen bedürfen eigentlich keiner Erklärung.
Seite 315
BEISPIELE Das Ergebnis sehen Sie in Abbildung 5.3 (mit ein paar zusätzlichen Zahlen). [81] "SCHECKKONTO-AUFSTELLUNG [82] wiederh("=", Länge(B1» [C4l "Monat anft ("Monat ei ngeben") Die Funktion anftO ist identisch mit anfnO, nur daß sie als Eingabe Text, und nicht Zahlen, erwartet.
Seite 316
BEISPIELE [A30] "Sa Ldo haben.monat-soLL.Betrag [C3~ Mit der Berechnung des Saldos ist unser Arbeitsblatt, was Eingaben anbelangt, abgeschlossen. Was zu tun bleibt, sind optische Verschönerungen. Echo kann zum Ausfüllen der restlichen Schecktabelle und zum Unterstreichen der Gesamtbeträge verwendet werden. Dieser Befehl kopiert den Inhalt einer einzelnen Zelle in alle Felder eines Bereichs.
Seite 317
BEISPIELE [C4) "Abwei chung [D4) "Quad rat [8S) L e () [Spalten 5 bis 14J sp=z STANDARDABWEICHUNG ------------------ ------------------ Abwei chung Quadrat Wert -4.50 20.25 5.00 6.00 -3.50 12.25 7.00 -2.50 6.25 -1.50 2.25 8.00 9.00 -0.50 0.25 10.00 0.50 0.25 11.00 1.50...
Seite 318
BEISPIELE Wenn Sie jetzt einen Wert in der B-Spalte neu eintragen, erhalten'Sieein korrektes Resultat, weil der neue Mittelwert vor den Abweichungen berechnet wird. Die Möglichkeit, eine solche Umstellung der Kalkulation vorzunehmen, ist zwar sehr praktisch, sollte aber dennoch nur in Ausnahmefällen verwendet werden, weil die spaltenweise Berechnung erheblich zeitaufwendiger ist als die zeilenweise.
Seite 319
BEISPIELE Raster>SpaLtenbreite,1 VON G BIS G Raster>SpaLtenbreite,1 VON I BIS I Raster>SpaLtenbreite,1 VON K BIS Echo,FeLd A5,über Bereich C5:C22 Echo,FeLd A5,über Bereich E6:E22 Echo,FeLd A5,über Bereich G6:G22 Echo,FeLd A5,über Bereich 16:122 Echo,FeLd A5,über Bereich K5:K22 Echo,FeLd A4,über Bereich B7:J7 Echo,FeLd A4,über Bereich B21:K21...
Seite 320
BEISPIELE ZahLen,Leer,DezimaL,DezimaLsteLLen ZahLen,besetzt,Währung,Minuszeichen,B~reich D27:F27 (Der letzte Befehl bezieht sich auf bereits besetzte Felder.) Mit dem format-Befehl setzen Sie das Währungssymbol auf M. Nun können Sie beliebige Eintragungen in Ihrem Haushaltsbudget vornehmen, wobei Sie den Cursor mit den Pfeiltasten oder mit FS ("Nach') und Eingabe der Feldadresse, etwa apr.gas steuern.
Seite 321
BEISPIELE Die Werte in diesen beiden Feldern bilden folglich in jedem Fall eine Umklammerung der Werte in den Feldern C2 bis N2; ihre Differenz ist immer ein Vielfaches von fünf. Unsere nächste Formel zeigt die vertikale Diagrammskala in der A-Spalte an: sp=$Q2+ (14-z * ($P2-$Q2) [Zeilen 4 bis 14J...
Seite 322
BEISPIELE Folglich liefert die Funktion index(sPO,2) den Inhalt des Feldes in Feld zwei der aktuellen Spalte und index(1,zleO) den Inhalt der Spalte 1 (A) der aktuellen Zeile. Experimentieren Sie durch Eingabe verschiedener Werte in den Feldern C2 bis N2 und beobachten Sie, wie sich dies im Balkendiagramm auswirkt.
Seite 323
BEISPIELE "I [C10] äh r Lich [01~ hyp.kred*hyp.zins/(1-(1+hyp.zins)A(- hyp.dauer» Diese Formel geht bei der Kalkulation der jährlichen Rückzahlung davon aus, daß der Zins einmal im Jahr berechnet und zum ausstehenden Kreditbetrag addiert wird, bevor die zwölf monatlichen Rückzahlungen erfolgen. [C11] "monat lich jäh [011] c k 11...
Seite 324
BEISPIELE Anschließend wird der restliche Teilder ersten Zeile berechnet - durch Subtraktion der jährlichen Rückzahlung und Addition des Zinsbetrags des laufenden Jahres. Natürlich wäre es unsinnig, die Kalkulation über den Ablauf der Kreditperiode hinaus fortzuführen. Um dies zu verhindern, stellen wir anhand der wennO-Funktion sicher, daß eine Null in das Feld plaziert wird, sobald die Jahreszahl (gegeben durch sPO-2)größer ist als die Kreditdauer.
Seite 325
BEISPIELE [OS] "Zyklen zle=spO-5 [Spalten E bis T] [08] "Probe Vielleicht überrascht es Sie, daß für die ganze Kosinus:fransformation nur eine einzige Formel benötigt wird. Zu diesem Zweck wird in jeder Zeile der Eingabewert mit dem Kosinus eines Winkels (in Bogenmaß) multipliziert, der sich wie folgt berechnet: Winkel = 2 Zeilennummer Spaltennummer / 16...
Seite 326
BEISPIELE Grafik 80.00=max max = 10.00 mi n -10.00 0.00 = mi n ..........................EINGABE POTENZSPEKTRUM Abbildung 5.9 Einfache Grafik in Abacus [A'32]" min= [B32] mi n ( s [Zeilen 9 bis 24] [A'33] sp=wiederh(".", (funk.max-$funk.min)
KAPITEL 6 QL ABACUS UBERSICHT FUNKTIONSTASTEN Zusätzlich zu den allgemeingültig belegten Funktionstasten F1, F2 und F3 verwendet OL Abacus die beiden Tasten F4 und F5 wie folgt: Mit dem Cursor zwischen zwei Fensterhälften hin- und herwechseln Mit dem Cursor auf ein bestimmtes Feld springen. (Der Feldname darf nicht mit einem Umlaut oder ß...
Seite 328
ÜBERSICHT Eine grafische Darstellung dieses Zusammenhangs gibt die Abbildung 6.1. Die Formel in Feld X enthält einen Verweis auf das schwach schattierte Feld. Die Kopie der Formel in Feld Y bezieht sich dann entsprechend auf das dunkel eingefärbte Feld. Die relative Position der beiden Felder in jedem Paar ist die gleiche.
Seite 329
ÜBERSICHT Wenn die Regeln unter (1) keine eindeutige Zuordnung gestatten, der fragliche Name jedoch auf der linken Seite eines Ausdrucks vorkommt, dann übernimmt er den Typ des Namens (der Namen), der (die) auf der rechten Seite des Ausdrucks steht (stehen). Wenn z .B. "Kosten" ein Spalten name ist, und ein Ausdruck Verkauf Kosten lautet, dann gilt 'Verkauf' ebenfalls als Spalten name.
ÜBERSICHT DIE BEFEHLE Es folgen alle verfügbaren Abacus-Befehle in alphabetischer Reihenfolge. ÄNDERN (Ä) Mit diesem Befehl kann ein Feld geändert werden. Der Inhalt des Feldes, welches den Cursor enthält, wird in die Eingabezeile kopiert und kann dort mit Hilfe des Zeileneditors modifiziert werden.
Seite 331
ÜBERSICHT Diese Angabe ist bei der Änderung der Standardvorgabe (leere Felder) überflüssig, da sie automatisch für alle Felder Geltung hat, in die Neueintragungen vorgenommen werden - bis zu dem Zeitpunkt, wo eine erneute Änderung an dieser Einstellung gemacht wird. Eine Reihe verschiedener Anordnungen (Justierungen), zusammen...
Seite 332
ÜBERSICHT (Sichern) einer Kalkulationstabelle werden alle gewählten Optionen, mit Ausnahme des Anzeigeformats, mit abgespeichert und beim erneuten Laden desselben Arbeitsblatts wieder eingelesen. Die vorgenommenen Veränderungen beziehen sich jedoch immer nur auf eine bestimmte Anwendung, d.h. auf ein Arbeitsblatt, niemals auf Abacus als Programm. Sie sind also gegebenenfalls bei jedem Umsteigen von SuperBASIC auf Abacus neu einzurichten.
Seite 333
ÜBERSICHT MISCHEN (M) Dieser Befehl dient zur Kombination oder Konsolidierung von Daten aus einer bereits früher auf Microdrive-Kassettegesicherten Datei mit dem laufenden Arbeitsblatt Als erstes werden Sie um den Dateinamen gebeten, der eingelesen werden soll, und dann müssen Sie angeben, ob diese neuen Daten zu den Daten des aktuellen Arbeitsblattes addiert (ENTER) oder von diesen subtrahiert (S) werden sollen.
ÜBERSICHT Das heißt, wenn Sie drei Spalten oder Zeilen irgendwo in der Tabelle einfügen, gehen ebenfalls drei Spalten oder Zeilen am Schluß der Tabelle verloren - mit allen darin befindlichen Daten. Sie können nicht wiederhergestellt werden (außer durch nochmalige Eingabe). Löschen dient zum Löschen von einer oder mehreren Zeilen oder Spalten aus der Tabelle.
ÜBERSICHT Die folgende Formel rundet den Wert in Feld C3 auf 2 Dezimalstellen: ganzzahl(C3*100+0.5)/100 Ganzzahl Mit dieser Option werden alle Zahlen als ganzzahlige Werte dargestellt - wie mit der Funktion qanzzahh). Negative Werte können auf Wunsch als Minuszeichen (ENTER) oder in Klammer (K) angezeigt werden. Wenn nicht nur die Anzeige, sondern auch der eigentliche Wert (Inhalt) der Felder ganzzahlig gemacht werden soll, ist die Funktion ganzzahlO zu verwenden.
Seite 336
ÜBERSICHT ABS(n) liefert den absoluten Wert ihres Arguments (d.h. den Wert ohne Berücksichtigung eines etwaigen Minuszeichens) Beispielsweise ergibt abs(3) 3 und abs( - ANFN(Texlj Funktion zur Eingabe numerischer Daten. Sie gibt den Text (maximale Länge 40 Zeichen) als Aufforderung zur Benutzereingabe am Bildschirm aus, gefolgt von einem Fragezeichen, und wartet auf eine Antwort über die Tastatur.Diese Eingabe wird dann im Feld, das die Funktion enthält, angezeigt.
Seite 337
ÜBERSICHT Sie müssen den gegenwärtigen Nettowertdes zukünftigen Einkommens berechnen und diesen mit dem Betrag vergleichen, den man von Ihnen als Zahlung haben will. [A1] "F luß [~~ ?oooo sp=A3*1 .1 [Zeilen 4 bis 12J [A14] gnw(fluß, 14, 12) [Zeilen 2 bis 12] Abbildung 6.5 zeigt das Ergebnis.
ÜBERSICHT Fluß -100000.00 9.10 20000.00 20000.00 20000.00 20000.00 20000.00 20000.00 20000.00 Abbildung 6.6 Interne Ertragsrate (Verzinsung) INDEX($palte,Zeile) Gibt den Inhalt des Feldes im Schnittpunkt der spezifizierten Spalte und Zeile aus. Auch bei absoluter Adressierung ist für Spalte eine Zahl oder ein numerischer Ausdruck einzusetzen. KETTE(n,1Yp,Oslj Wandelt eine Zahl n in die entsprechende Zeichen kette um.
Seite 339
ÜBERSICHT numwe rt ("2. 2ABC11) liefert den Wert 2.2, während numwert ("ABC") 0.0 ausgibt. Liefert den Wert der mathematischen Konstanten 7r aWURZEL(n) Gibt die Ouadratwurzel ihres Arguments n aus, welches keine negative Zahl sein darf. SIN(n) Liefert den Sinus des Winkels n (in Bogenmaß). Liefert die Spalten nummer des aktuellen Feldes.
Seite 340
ÜBERSICHT WENN(Ausdruck,wahr;falsch) Berechnet den Wert des Ausdrucks, weist ihm den entsprechenden Wahrheitswert zu und entscheidet in Abhängigkeit davon, welches von zwei Argumenten ausgegeben wird. Ausdruck wahr n oder Text falsch n oder Text Ergibt der Ausdruck 0, d.h. falsch, kommt das Falsch-Argument zur Anwendung;...
Seite 341
ÜBERSICHT Fehlermeldungen: Beispiel Meldung "abc" "def Fehlendes " am Ende einer Zeichenkette 1 . 5 (Zahl nach e fehlt) Falsch formulierte numerische Konstante 1.5e99 Zahl außerhalb des Bereichs Unzulässiges Zeichen 12_5 (Unterstreichung statt Minus) Alle Namen müssen für Spalten gelten Alle Namen müssen für Zeilen gelten Namenreferenzen müssen relativ sein...
Seite 342
ÜBERSICHT Dateien-Fehler Die folgenden Fehler treten im Zusammenhang mit Befehlen auf, die sich auf Dateien laden dateien. beziehen, also z.B. oder Datei nicht vorhanden Der eingegebene Dateiname wurde auf der Kassette in Microdrive 2 nicht gefunden. Datei EtA unvollständig Ein Vorgang zum Laden oder Sichern einer Datei wurde erfolgreich gestartet, läuft aber an irgendeiner Stelle nicht weiter.
Seite 343
KAPITEL 1 NAMEN...... WAS IST OL ABACUS? Zeilen- und Spaltennamen ..Feldnamen ....KAPITEL 2 FORMELN Stammformein...
Seite 344
ARBEITSKOPIEN Fertigen Sie bitte immer mindestens eine Arbeitskopie an, bevor Sie eines der vier QL Programme benutzen. Arbeiten Sie dann immer nur mit der Arbeitskopie. Be- wahren Sie die Original kassetten mit den Programmen sicher auf. Benutzen Sie die Originalkassetten nur, um bei Bedarf Kopien anzufertigen.
Seite 345
KAPITEL 1 WAS IST QL ARCHIVE? OL Archive ist ein Datenbankprogramm, welches Ihnen ermöglicht, beliebige Informationen systematisch zu archivieren, zu verwalten, zu sortieren und abzufragen. Sie haben volle Entscheidungsfreiheit, wie Sie Ihre Datei aufbauen und auf die Daten zugreifen wollen.
Seite 347
FANGEN SIE AN Abbildung 2.2 Der Anzeigebereich Abbildung 2.3 Der Arbeitsbereich Diese beiden Bereiche sind eng miteinander verknüpft, insofern, als die Resultate der im Arbeitsbereich eingegebenen Befehle im Anzeigebereich erscheinen. Geben Sie einmal folgendes Programm ein: setzen x=14:soLange x> O:zeigen ENTER set zen x = x - 1 : end es la n ge...
Seite 348
FANGEN SIE AN DER MODUS· Mit dem modus-Befehl können alle drei Bildschirmbereiche zu einem sog. Vollbild zusammengefaßt werden. Eingabe von modus 0 hat dieselbe Wirkung. Probieren Sie's BEFEHL modus ENTER worauf gesamte Bildschirm für Tastatureingabe Befehls- oder Programmausgabe gemeinsam zur Verfügung steht. Der modus-Befehl mit dem Wert 1 verwandelt die Fläche wieder in drei Teilbilder.
Seite 349
KAPITEL 3 QL ARCHIVE DATEIEN DATEIE~I Eine Archive-Datei kann man gut mit einer Kartei vergleichen. Unter einer herkömmlichen Kartei versteht man einen Zettelkasten, der Karten mit einer Reihe von Angaben enthält, DATENSATZE UND die man schnell nachschlagen kann. Das funktioniert nur, wenn die Informationen auf FELDER den einzelnen Karten systematisch in der gleichen Rubrik und Position geführt werden.
Seite 350
KAPITEL 4 EINBLICK IN DATEIEN Die beste Methode, Archive kennenzulernen, ist anhand der DemonstrationsdateiStaaten, welche sich auf der Utilities-Kassettebefindet Sie enthält Informationen zu verschiedenen Ländern, den Kontinent. die Hauptstadt, die Währung, die Sprache(n), die Bevölkerung, die Fläche und das Bruttosozialprodukt pro Einwohner. Die meisten Beispiele in den Kapiteln 4 und 5 beziehen sich auf diese Datei.
Seite 351
EINBLICK IN DATEIEN DURCHSUCHEN EINER DATEI Finden Der erste und einfachste Suchbefehl ist finden. Er durchsucht die Datei von Anfang an auf die erste Entsprechung des Sucharguments in einem der Textfelder. Beispiel: fi nden "Afri ka" Nach Drücken von ENTER folgt eine kurze Pause und danach die Anzeige des ersten Datensatzes,der ein Feld mit dem Wort 'afrika"enthält Diese Suchmethode berücksichtigt die Schreibung nicht;...
Seite 352
EINBLICK IN DATEIEN Beispielsweise sollen die "Staaten'Datensatze alphabetisch nach ihren Hauptstädten sortiert werden. Zu diesem Zweck kann der ordnen-Befehl wie folgt eingesetzt werden: ordnen Hauptstadt$ia wobei das 'a" nach dem Semikolon für "aufsteigend" steht. Eine umgekehrte, absteigende Folge (z bis a) wird mit dem Parameter 'd" anstelle von 'a" erzeugt. Das Feld Hauptstadt$ wird damit zum Sortierschlüssel oder Ordnungsbegrif( für die Datei.
Seite 353
EINBLICK IN DATEIEN der alle Dateien schließt und die Daten und den Anzeigebereich löscht, d.h. Archive in seinen Anfangszustand versetzt, wie er nach dem Laden besteht. Um die Arbeit mit Archive zu beenden und auf SuperBASIC umzusteigen, können Sie verlassen verwenden. Dieser Befehl schließt automatisch alle Dateien, bevor er Archive verläßt.
KAPITEL 5 DATEIEN Bevor Sie damit beginnen, die Beispiele in diesem Kapitel einzugeben, versetzen Sie Archive mit dem Befehl neu in den Anfangszustand. BEARBEITEN Der eröffnen-Befehl eröffnet eine Datei zum Lesen und zum Schreiben. Anders als beim Eröffnungsbefehlsichten ist die Datei damit nicht nur für Leseoperationen zugänglich, sondern ebenso zur Bearbeitung und Veränderung.
Seite 355
DATEIEN BEARBEITEN Die Eingabe kann auch feldweise erfolgen, indem Sie nach Ausfüllen eines Feldes jeweilsENTER drücken (stattTAB). Nach Eingabe des letzten Feldinhalts durch ENTER wird der Datensatz automatisch in die Datei übernommen. Handelt es sich um eine sortierte Datei, wird der neue Datensatz an der richtigen Stelle eingefügt.
Seite 356
KAPITEL 6 DATEIEN Bei den bisherigen Beispielen haben wir auf eine Datei zurückgegriffen, die Archive speziell für diesen Zweck zur Verfügung stellt. In diesem Kapitel wollen wir Ihnen zeigen, ANLEGEN wie Sie selbst Ihre eigenen Dateien anlegen und ihnen Namen zuweisen. Zum Leeren des Arbeitsspeichers und zum Schließen etwaiger offener Dateien geben Sie zunächst den neu-Befehl...
Seite 357
DATEIEN ANLEGEN Nun fügen Sie diesen Datensatz in die Datei namens "Bücher" ein, indem Sie die Taste F5 drücken. Die Datenfelder werden geleert und sind für weitere Eintragungen verfügbar. Zum Abschließen der einzelnen Feldinhalte und zum Übergang auf das nächste Feld können Sie statt TAB auch ENTER verwenden.
KAPITEL 7 BILDSCHIRM· Beim anzeigen einer Datei erscheint diese in der Standard-Maske, d.h. mit dem von Archive standardmäßig vorgesehenen Bildschirmaufbau. MASKEN MASKEN AUFBAUEN Es ist Ihnen jedoch freigestellt, eine eigene Maske zu definieren, wenn Ihnen für Ihre Art von Informationen eine andere Gliederung geeigneter erscheint. Geben Sie dazu den Befehl ein: editor Im Anzeigebereich wird die momentan eingerichtete Maske gezeigt, nämlich die von...
BILDSCHIRMMASKEN Beim Eintritt des Cursors in eine reservierte Zone reagiert Archive durch Anzeige des betreffenden Variablennamens im Arbeitsbereich. Falls Sie für eine Variable einen Platz vorsehen, der einen bereits reservierten Bereich überschneidet, wird Ihnen Gelegenheit gegeben, den ursprünglich belegten Platz zu annullieren.
Seite 360
BILDSCHIRMMASKEN Ohne eine aktivierte Maske bleibt banzeige ohne Wirkung. DER BEFEHL Denken Sie daran, daß der anzeigen-Befehl immer den Standard-Bildschirmaufbau verwendet. Er ersetzt jede benutzerdefinierte Maske durch die Archive-spezifische. Um ANZEIGEN zu verhindern, daß Ihre selbst definierte Maske unwiederbringlich verlorengeht, müssen Sie sie unbedingt mit bsichern abspeichern, bevor Sie anzeigen verwenden.
Seite 361
KAPITEL 8 PROZEDUREN Für die Übungen in diesem Kapitel geben Sie zunächst den neu-Befehl ein, um den Arbeitsspeicher zu leeren, dann sichten "Staaten" zum Eröffnen Demonstrationsdatei. Es wird davon ausgegangen, daß diese sich im Microdrive 2 befindet. Die Befehle und Funktionen von Archive bilden...
Seite 362
PROZEDUREN Zum Betreiben der Prozedur brauchen Sie nichts weiter zu tun, als ihren Namen (a) einzugeben, gefolgt von ENTER. Damit sparen Sie sich das Ausschreiben des Befehls anzeigen. PROZEDUREN Bei jedem Aufruf von editieren präsentiert Archive eine Liste der Namen aller definierten AUFLISTEN UND Prozeduren im Arbeitsspeicher.
Seite 363
PROZEDUREN Proz ANSICHT Leeren eingabe "WeLche Datei? "iDatei$ sichten Datei$ anzeigen setzen Taste$="t" soL an ge Ta ste$ <>" v" banzeige setzen Taste$=kLein(tippen(» wenn Taste$="a":anf:endewenn wenn Taste$="e":ende:endewenn wenn Taste$="f":foLgesatz:endewenn wenn Taste$="z":zurück:endewenn endesolange schLießen EndeProz Daran denken, editieren durch zweimaliges Drücken von ESC zu verlassen und die Prozedur anschließend zu sichern.
KAPITEL 9 PROGRAMM· EDITOR Dieses Kapitel beschreibt den Programmeditor. Es enthält auch ein paar einfache Übungsbeispiele, doch werden Sie sich bestimmt sehr schnell mit dem Editor anfreunden, wenn Sie ihn selbst bei Ihrer Arbeit benutzen. Wir würden vorschlagen, daß Sie nach der Lektüre dieses Kapitels entweder selbst einige einfache Programme verfassen oder die Prozeduren aus dem vorangehenden Kapitel modifizieren.
DER PROGRAMMEDITOR Löschen Prozedur (L) Dieser Befehl löscht die aktuelle Prozedur aus Ihrem Programm. Wählen Sie die betreffende Prozedur mit TAB bzw. SHIFT plus TAB, um sie zur aktuellen Prozedur zu machen. Rufen Sie dann mit F3 und L den Löschbefehl. Der Löschvorgang wird erst ausgeführt, wenn Sie ihn mit ENTER bestätigen.
Seite 366
KAPITEL 10 PROGRAMMIEREN MIT ARCHIVE Dieses Kapitel beschreibt die Entwicklung eines realistischen Beispiels mit allen erforderlichen Arbeitsschritten, die ausführlich erklärt werden. Stellen Sie sich vor, Sie seien Sekretär eines Vereins, der einen Jahresbeitrag erhebt und eine Zeitung herausgibt. Jedem Mitglied, das seinen Beitrag entrichtet hat, wird ein Exemplar der Zeitung zugeschickt, und vor dem Fälligkeitsdatum erhalten alle eine Zahlungsaufforderung.
Seite 367
PROGRAMMIEREN schiefgehen können. Versuchen Sie stets, in der Testphase alles so einfach und durchschaubar wie nur möglich zu halten, und nehmen Sie eine neue Prozedur erst in Angriff, wenn Sie sicher sind, daß die vorangehende einwandfrei funktioniert. Auf diese Weise erleben Sie keine bösen Überraschungen, sondern haben im Gegenteil ein Programm, das nach Fertigstelien der letzten Prozedur auf Anhieb klappt.
Seite 368
PROGRAMMIEREN Aus der editieren-Ebene F3 gefolgt von N drücken, um die Prozedur holen zu definieren: Proz ho Len Datensatz heraushoLen ***** ***** Leeren set zen OK$ ="n" ei ngabe "WER? "; n$ wenn n$ <>"" fi nden n$ soLange OK$ <>"j'. und gefundenO zeigen titeL$ ;...
PROGRAMMIEREN Änderungen Eine Prozedur zum Ändern des Inhalts eines Datensatzes ist nicht schwer zu schreiben. Da es auch hier wieder darum geht. einen bestimmten Satz auszuwählen und zu ändern, kann die Struktur im großen und ganzen von der Prozedur zahlung übernommen werden: Proz modifikation anm *****Datensatz...
Seite 370
PROGRAMMIEREN Und damit noch nicht genug: außer numerischen Variablen sind auch Zeichenketten als Parameter zulässig, vorausgesetzt, Sie kennzeichnen die formalen Parameter in der Prozedur mit dem üblichen Dollarzeichen. Ein Beispiel zum Ausprobieren: Proz Versuch i a$ zei gen es EndeProz setzen t$ = "Nachri cht"...
PROGRAMMIEREN Proz Zei Le; x$ drucken EndeProz Zu guter letzt schreiben wir noch die Prozedur zum Ausdrucken der Etiketten: Proz senden Leeren aLLe etikett endealle EndeProz Programm verlassen Bleibt noch die Option zum Verlassen des Programms nach Beendigung der Arbeit. Diese Prozedur ist denkbar einfach.
Seite 372
PROGRAMMIEREN ausdenken. Diese Anweisungen bilden eine solange ..endesolange Schleife, die bei jedem auftretenden Fehler ausgeführt wird. Die Fehlernummer wird durch fehler wieder gelöscht und zum nächsten Versuch freigegeben. Test2 kann nicht verlassen werden, bevor eine gültige Eingabe gemacht wurde. Diese Beispielprozedur meldet die Nummer des entdeckten Fehlers.
PROGRAMMIEREN "versand'Datei Sichern Sie auch diese letzte Prozedur in der Bevor Sie das Programm betreiben können, müssen die Prozeduren in den Arbeitsspeicher geholt werden. Dann wird die Hauptprozedur ausgeführt, welche alle anderen der Reihe nach aufruft. Sie können so vorgehen, daß Sie zuerst den laden-Befehl verwenden und dann den Namen der Hauptprozedur eingeben: Laden "versand"...
Seite 374
PROGRAMMIEREN Bei Verwendung von "Moritz" mit dem Aufruf: Moritz zeigt sich, daß alle Werte von p, q und r in "Moritz" erkannt und daher ausgegeben werden, während "Max" mit den Variablen q und r nichts anfangen kann, weil diese moritz-spezifisch definiert (lokal) sind. Die Werte von lokalen Variablen sind nur in der Prozedur definiert, in der sie auch erklärt werden.
Seite 375
PROGRAMMIEREN DATENEINGABE Text Die Übernahme von Textals Eingabe über die Tastaturist ganz und gar unproblematisch. Jede beliebige Aneinanderreihung von Zeichen ist eine gültige Textkette,auch wenn sie inhaltlich gesehen keinen Sinn ergibt. Im allgemeinen sind bei der Anforderung von Texteingabe keine besonderen Vorkehrungen notwendig. Eine Zeile wie die nachstehend aufgeführte reicht aus, um den Benutzer nach dem Namen zu fragen.
Seite 376
KAPITEL 11 ARBEITEN MEHREREN DATEIEN LOGISCHE Dieses Kapitel eröffnet weitere Möglichkeiten der Programmierung mit Archive, die sich durch die gleichzeitige Manipulation mehrerer Dateien ergeben. Sobald Sie mit mehr DATEINAMEN als nur einer eröffneten Datei arbeiten, muß für jede Operation die gewünschte Datei genannt werden.
ARBEITEN MIT MEHREREN DATEIEN setzen e.BSP=s.BSP setzen e.FLäche=s.FLäche erwei tern "e" endealle sch Ließen ~e" sch Ließen "s" zeigen zeigen "FERTIG" EndeProz DIE AKTUELLE Dieses Beispiel zeigt, daß es ohne weiteres möglich ist, einem Feld in zwei verschiedenen Dateien denselben Namen zu geben. Eine eindeutige Identifikation kann jederzeit durch DATEI Hinzufügen des logischen Namens erfolgen.
ARBEITEN MIT MEHREREN DATEIEN Legen wir also unsere Datei an: anLegen "Lager" Logisch "La" Lager nr$ bezeichnung$ menge V Prei s mTn bestand besteLLung endeanlegen Die Lieferanten-Datei In dieser Datei wollen wir die Namen, Anschriften und Telefonnummern der Firmen aufführen, von denen Sie Ihre Waren beziehen. Unter Umständen ist es von Vorteil, auch den Namen der Kontaktperson anzugeben, mit der Sie normalerweise verhandeln.
Seite 379
ARBEITEN MIT MEHREREN DATEIEN Anlegen der Datei: an Legen "beste L L" Logi sch "be" Lager_Nr$ Code$ ArtikeL$ Preis Lieferzeit endeanlegen Anfragen Nachdem wir diese Dateien angelegt haben, brauchen wir noch eine Prozedur, welche die Informationen sinnvoll verwaltet. Am häufigsten tritt wohl die Situation auf, wo auf Anfrage eines Kunden Informationen über einen bestimmten Warenposten ausfindig gemacht werden müssen.
ARBEITEN MIT MEHREREN DATEIEN Lager Wir können auch ohne viel Mühe eine Prozedur definieren, die uns einen Überblick über den Lagerbestand gibt. Proz Lager Leeren zeigen Tab 2i "POSTEN"i Tab 11i "CODE"i zeigen Tab 20i "MENGE"i Tab 31 i "PREIS"i zeigen Tab 40i "LAGERWERT"i...
ARBEITEN MIT MEHREREN DATEIEN setzen La. Menge=La. Menge+num setzen La.besteLLung=La.besteLLung-num ersetzen banzeige sonst zeigen "Lieferung nicht aufgezeichnet" endewenn freibild EndeProz Neubestellung Die Prozeduren, die wir bis jetzt definiert haben, beziehen sich alle nur auf die Lager- Datei. Sobald es darum geht, Waren nachzubestellen, sind wir jedoch auf die Lieferanten- Datei angewiesen, aus der wir Name und Anschrift der Firmen und deren Preise entnehmen können.
Seite 382
ARBEITEN MIT MEHREREN DATEIEN Proz Hurtig anm ***** den schneLLsten Lieferanten finden ***** akt i v "be" setzen Lie=Lieferzeit setzen verg$=code$ setzen Pr=Preis aLL e wenn Lieferzeit<Lie setzen Lie=Lieferzeit setzen verg$=code$ setzen Pr=Prei endewenn endea LLe EndeProz Die Prozedur Formular erstellt das eigentliche Bestellformular,welches Sie Ihren eigenen Bedürfnissen anpassen können.
Seite 383
ARBEITEN MIT MEHREREN DATEIEN ordnen c cde s ; a Leeren freibild EndeProz Und schließlich noch die bereits erwähnte freibild-Prozedur, welche den Bildschirm leert und eine Liste der neuen Befehle anzeigt. Proz frei b Maske Leeren und Befehlsmenü anzeigen ***** ***** Loka L x$ zeigen...
KAPITEL 12 QL ARCHIVE UBERSICHT VARIABLEN Variablennamen können bis zu 13 Zeichen lang sein. Sie dürfen an erster Stelle keine Zahl (0-9), ansonsten jedoch beliebige Klein- und Großbuchstaben und Zahlen enthalten. Sonderzeichen sind nicht erlaubt, mit Ausnahme von "$" und" . ': welchen eine spezielle Bedeutung zukommt.
Seite 385
ÜBERSICHT Syntaktische Einheiten lit.k Zeichenketten-Konstante t.ausdr Zeichenketten-(Text-) Ausdruck n.ausdr numerischer Ausdruck ausdr Ausdruck, alphanumerisch oder numerisch Anzeige-Element Variablenname (alphanumerisch oder numerisch) logischer Dateiname physischer Dateiname (max. 8 Zeichen) Prozedurname Eine Zeichenketten-Konstanteist ein Textin einfachen oder doppelten Anführungszeichen, also Text' oder 'Text': Ein Zeichenketten-Ausdruck ist eine Zeichenketlen-Konstante bzw.
Seite 386
ÜBERSICHT Datensätze Ein Datensatz ist eine Gruppe von Feldern, deren Inhalt irgendwie zusammengehört. So enthält ein typischer Datensatz ein Feld mit dem Namen, eines mit der Anschrift und ein drittes mit der Telefonnummer einer bestimmten Person. In Archive ist die Länge der Datensätze variabel, d.h.
Seite 387
ÜBERSICHT DER PROGRAMM- Der Eintritt in den Programmeditor erfolgt mit dem editieren-Befehl. EDITOR Wenn sich noch keine anderen Prozeduren im Arbeitsspeicher befinden, wird sofort die Maske zum Erstellen einer neuen Prozedur präsentiert; andernfalls erscheint in der linken Spalte des Anzeigebereichs eine Liste der bereits definierten Prozeduren. Die erste davon ist hervorgehoben und ihr Code wird rechts des Balkens aufgelistet.
ÜBERSICHT Wenn ein bestimmter Bildschirm aktiv ist, enthält er die aktuellen Werte seiner Variablen nach Eingabe von banzeige bzw. sobald die Steuerung nach Ausführung eines Programms oder eines Befehls wieder an die Tastatur übergeben wird. Die aktive Bildschirmmaske kann mit leeren ausgeschaltet werden; banzeige bleibt wirkungslos, wenn keine aktive Maske vorhanden ist.
ÜBERSICHT ANM(ERKUNG) Dient zum Einfügen von benutzereigenen Kommentaren innerhalb einer Prozedur. Beim Ausführen der Prozedur wird der Rest der Zeile ignoriert, d.h. nicht bearbeitet. Syntax: anm ANZEIGEN Bewirkt Anzeigen des logischen Dateinamens der aktuellen Datei, zusammen mit einer Liste der Feldnamen mit den Feldvariablen des aktuellen Datensatzes. Syntax: anzeigen Der anzeigen-Befehl überlagert eine etwaige benutzerdefinierte Bildschirmmaske mit dieser Standardauflistung, welche damit auch zum aktivierten Schirmlayout gemacht wird.
Seite 390
ÜBERSICHT EINFÜGEN Zum Einfügen eines neuen Datensatzes in eine Datei. Syntax: einfügen In der aktuellen Bildschirmmaske werden die aktuellen Variablenwerte angezeigt, welche zur Änderung freigegeben sind. Nicht sichtbare Felder können nicht verändert werden. Falls keine Feldvariablen am Bildschirm erscheinen, erzwingt Archive ein anzeigen der Datei.
Seite 391
Dateienkatalogs. Syntax: formatieren "mdv2_Name" IMPORT Liest eine aus QL Abacus oder QL Easel importierte Datei, Name1, und wandelt Sie in eine Archive-Datei, Name2, um. Wie bei eröffnen und sichten steht es Ihnen frei, der Datei einen logischen Namen zu geben.
Seite 392
ÜBERSICHT LEEREN Leert den Anzeigebereich und schaltet die Anzeigemaske aus. Weitere Informationen unter schirm, bladen und banzeige. Syntax: leeren LISTEN Gibt auf dem Drucker eine Liste aller im Arbeitsspeicher befindlichen Prozeduren aus. Syntax: listen LÖSCHEN Löscht den aktuellen Datensatz aus der genannten Datei bzw. aus der aktuellen, wenn ein logischer Dateiname nicht angegeben wird.
Seite 393
ÜBERSICHT Der Sortiervorgang berücksichtigt nur die ersten 8 Zeichen eines Textfeldes,und es dürfen maximal vier Sortierfelder vorgesehen werden. ORTEN Ermittelt in einer sortierten Datei den ersten Datensatz, dessen Feldinhalt mit dem Suchbegriff übereinstimmt. Syntax: orten ausdr ,ausdr Das Auffinden des Datensatzes geht erheblich schneller als bei finden, doch wird eine geordnete Datei vorausgesetzt.
Seite 394
ÜBERSICHT SCHIRM bladen Zeigt die vorher mit eingelesene Bildschirmmaske an. Fehlt eine solche, bleibt der Befehl wirkungslos. Es werden keine Variablenwerte angezeigt. schirm Syntax: SCHLIEßEN Schließt die spezifizierte Datei bzw. die aktuelle, wenn kein logischer Dateiname angegeben wird. schließen [ Syntax: Idn ] SCHRIFT...
Seite 395
ÜBERSICHT Die Umleitung der Ausgabe an eine Datei erfolgt über den installierten Druckertreiber, so daß alle für Ihren Drucker erforderlichen Steuercodes mit enthalten sind. Bei Angabe des fakultativen Zusatzes export stellt Archive sicher, daß die Datei nur druckbare ASCII-Codes und Codes für Wagenrücklauf und Zeilenvorschub enthält. Eine solche Datei kann durch Quill importiert werden.
ÜBERSICHT ZURÜCK Springt auf den vorangehenden Datensatz in der spezifizierten Datei bzw. in der aktuellen Datei (wenn kein logischer Dateiname angegeben wird) zurück und macht diesen zum aktuellen Satz. Syntax: zurück [ Idn ] FUNKTIONEN Stellen Sie sich eine Funktion am besten als eine Art Rezept vor, das mit einem oder mehreren Werten, den sog.
Seite 397
ÜBERSICHT liefert als Resultat den Text" 12.300" (mit 4 führenden Leerzeichen). EXP(n.ausdr) Liefert den Wert von e (ca. 2,718) hoch n, wobei das Resultat verfälscht ist, wenn n außerhalb des Bereichs -87 bis +88 liegt, weil dies den numerischen Bereich von Archive übersteigt. FEHLERNRO Liefert die Nummer des zuletzt aufgetretenen Fehlers.
Seite 398
ÜBERSICHT LÄNGE(t.ausdr) Gibt die Anzahl der Zeichen im spezifizierten Text an. LN (n.ausdr) Gibt den natürlichen Logarithmus (zur Basis e) des Arguments n. Ein Null- oder Negativwert von n provoziert eine Fehlermeldung, da keine Logarithmen für diesen Wertebereich definiert sind. MONAT(n.ausdr) Gibt den dem numerischen Argument entsprechenden Monatsnamen als Textwert an.
Seite 399
ÜBERSICHT VORZ(n.ausdr) Liefert +1 bei einem positiven, -1 bei einem negativen und 0 bei einem Nullargument. WERT(t.ausdr) Liefert den Wert der Variablen, deren Name das Argument t.ausdr bildet. Beispiel: setzen a$=" Länge" setzen Länge=15 zeigen wert(a$) gibt den Wert 15 aus. WIEDERH(t.ausdr,n.ausdr) Diese Funktion liefert eine Kette, die eine Anzahl Kopien des ersten Zeichens von t.ausdr enthält.
Seite 400
ÜBERSICHT Fehlermeldungen, die nicht an hand eines kurzen Beispiels provoziert werden können, sind mit einem Sternchen gekennzeichnet werden im Anschluß an die Zusammenstellung beschrieben. Fehlermeldung Beispiel Kein Fehler Befehl nicht erkannt AICHTEN Ende der Anweisung erwartet setzen x=3 setzen Variablen name erwartet setzen 31=x Unbekannter...
Seite 401
ÜBERSICHT Die Fehler 14 und 15 dürften im allgemeinen nicht vorkommen. Sie weisen darauf EndeProz hin, daß Archive ein fehlendes angetroffen hat oder einen Fehler in der Proz Struktur einer -Anweisung. Diese Art von Fehler kann eigentlich nur auftreten, wenn zum Schreiben der Prozedur nicht der Archive-eigene Editor verwendet wird. wenn Fehler signalisiert in den meisten Fällen das Auffinden eines alle,...
Seite 403
ANM(ERKUNG) VERLASSEN....ANZEIGEN ....VERZ ...... AUSFÜHREN WÄHLEN.
Seite 404
STEHENDE BESCHREIBUNG, UM ARBEITSKOPIEN ZU ERSTELLEN. ARBEITSKOPIEN Fertigen Sie bitte immer mindestens eine Arbeitskopie an, bevor Sie eines der vier QL Programme benutzen. Arbeiten Sie dann immer nur mit der Arbeitskopie. Be- wahren Sie die Originalkassetten mit den Programmen sicher auf. Benutzen Sie die Originalkassetten nur, um bei Bedarf Kopien anzufertigen.
Seite 405
Einlegen der Programmkassette entstehen vor Ihren Augen grafische Darstellungen, Die Werte geben Sie entweder von Hand ein oder Sie importieren sie beispielsweise aus QL Abacus. Das Erstellen von Wertetabellen können Sie getrost vergessen, Easel besorgt das automatisch, ganz ohne Ihr Zutun.
FANGEN SIE AN Abbildung 2.2 Der Statusbereich Abbildung 2,3 Der Anzeigebereich Der Anzeigebereich Hier werden alle Easel-Grafiken angezeigt. Direkt nach dem Laden von Easel sehen Sie im Anzeigebereich ein leeres Koordinatengitter als Hintergrund für ein Balkendiaqrarrrn. Die horizontalen Linien entsprechen den Werten entlang der vertikalen Achse ('Ächse 2"), und die vertikalen Linien bilden eine Unterteilung in Felder (oder Zellen), Jedes dieser Felder markiert die Position, an der jeweils ein Wert aus einer Zahlenserie eingezeichnet werden kann, Zu jedem Feld gehört eine Bezeichnung...
Seite 408
FANGEN SIE AN Zum Sichtbarmachen des Fadenkreuzes kann eine beliebige Cursortaste gedrückt werden: der Links- oder Rechtspfeilfür den vertikalen Strich, der Auf- oder Abwärtspfeil für den horizontalen. Beachten Sie, daß dies nur in der Hauptanzeige möglich ist, nicht jedoch in dem Befehlsmenü. Durch kurzes Anschlagen und Freigeben der Pfeiltastenbewegt sich der Strich um einen Schritt in der entsprechenden Richtung;...
FANGEN SIE AN HI LFE BEFEHLE MENü: ELiminieren Dateien VerLassen Laden Umbenennen Istdaten Present. Ti Lgen Bearbeiten Neudaten WechseLn DIALOG ABBRUCH Zeigen Hervorheben Ausdruck Sichern TiteL s 5 - Jan Feb Mär Apr Mai Jun JuL Aug Sep Okt Nov Dez Achse 1 BefehL>...
KAPITEL 3 GESTALTUNG VON BALKEN Dieses Kapitel zeigt Ihnen verschiedene Variationsmöglichkeiten für die optische Gestaltung Ihrer Balkendiaqramrne Alle verfügbaren Optionen funktionieren nach demselben Prinzip, Wir beschränken uns hier auf die Beschreibung der Methode zum Ändern der Balken, die als Beispiel für die anderen Optionen gelten soll.
Seite 411
GESTALTUNG VON BALKEN Der im Moment gültige Typ ist von einem hochstehenden Feld umrandet, eine Art Menü- Cursor, den Sie mit den Pfeiltasten nach rechts und nach links verschieben können, um den gewünschten Balken anzusteuern. Die Wahl bestätigen Sie mit ENTER. EIGENENTWURF Bei Verwendung der Auswahl anhand von Beispielen ist Ihnen sicher der Balken in der unteren Reihe aufgefallen, der anstelle einer Nummer ein Fragezeichen aufweist.
Seite 412
KAPITEL 4 VERWENDUNG VON TEXT Neu eingegebener oder überarbeiteter Text wird immer in der Farbe und Ausrichtung (horizontal, vertikal) angezeigt, die Sie zuletzt mit der Text-Optionim Menü des Wechseln- Befehls vorgesehen haben, Easel unterscheidet drei grundsätzliche Textarten: Gewöhnlicher Text (einschließlich des Titels) Achsenbeschriftung Feldnamen (Bezeichnungen).
VERWENDUNG VON TEXT Um die Textfarbe zu ändern, ist es am einfachsten, die entsprechende Option zu wählen und danach den Befehl Bearbeiten für bestehenden Text zu verwenden, ohne dabei irgendwelche Änderungen in der Formulierung oder der Position vorzunehmen, Wählen Sie die Text-Option im Wechseln-Befehl. Hier offeriert Easel eine Liste von Textstil- Optionen ganz ähnlich wie beim Entwurf eines eigenen Balkentyps.
Seite 414
KAPITEL 5 MEHRERE ZAHLENBILDER Bisher haben wir uns auf die Eingabe und Darstellung einer einzigen Zahlenserie beschränkt. Nun gibt es jedoch Anwendungen, wo es sich als vorteilhaft erweist, zwei oder mehr Zahlenserien in einem einzigen Diagramm zu kombinieren, beispielsweise für einen Vergleich zwischen den Umsatzzahlen des Vorjahres und des laufenden Jahres. Wie Sie es anstellen, innerhalb einer Grafik mehrere Zahlenserien zu erzeugen, zu bearbeiten und anzuzeigen, lernen Sie im Verlauf dieses Kapitels.
überarbeiten, rufen Sie diese mit Istdaten auf und nehmen beliebige Änderungen vor. Dabei ist zu beachten, daß sich die Modifikationen bei den "Kosten" nicht automatisch auf die "Gewinn'cGrafik auswirken. (Das ist eine Aufgabe für QL Abacus.) DATEN ZEIGEN Der Befehl Zeigen erlaubt Ihnen die gleichzeitige Darstellung aller Zahlenserien in einem einzigen Diagramm, Rufen Sie ihn mit F3 und Z auf.
Seite 416
MEHRERE ZAHLENBILDER DIE LEGENDE Bearbeiten Eine der Optionen im internen Menü des Befehls dient zum Verschieben des Legendenkästchens. Nach Drücken von L wird die Legende unsichtbar, und es bleibt lediglich das leere Kästchen, welches Sie mit löschen oder mit Hilfe der Pfeiltasten im Diagramm verschieben können.
Seite 417
KAPITEL 6 GRAFIK- FORMATE PAS FORMAT Easel verfügt über eine Auswahl von acht Anzeigeformaten (numeriert von 0 bis 7), Bei jedem Aufruf des Zeigen-Befehls ist anhand einer Zahl das gewünschte Format zu ANDERN spezifizieren, Es bestimmt nicht nur die Hintergrund- und die Textfarbe,sondern auch, welcher Anzeigestil zur Anwendung kommt.
Seite 418
KAPITEL 7 LINIEN- DIAGRAMME Sicher ist Ihnen beim Experimentieren mit den verschiedenen Anzeigeformaten bereits aufgefallen, daß neben den sog, Balken- oder Säulendiagrammen auch Darstellungen in Form von Linien- und Tortengrafiken vorgesehen sind, Mit Easel ist es möglich, die jeweils vorteilhafteste Präsentationstechnik für eine Zahlenserie zu wählen, Format 3 verwendet Liniendiagramme zur Zahlendarsteilung,...
Seite 419
LINIENDIAGRAMME NUMERISCHE Wenn Sie tür Ihre Werte eine Darstellung in Form eines Liniendiagramms wählen, ist die Erfassung der Daten genau so unkompliziert wie bei Balkendiagrammen - Sie geben EINGABE, die Werte ganz einfach über die Tastatur ein, LINIENDIAGRAMME Der einzige wirkliche Unterschied zwischen Linien- und Balkendiagrammen zeigt sich bei der Eingabe von Werten in eine Zahlenserie, die in Linienform dargestellt ist.
Seite 420
KAPITEL 8 KREIS- DIAGRAMME Obwohl ein Kreisdiagramm optisch nicht viel Ähnlichkeit hat mit einem Balken- oder einem Liniendiagramm, ändert sich am Arbeitsablauf nichts. Sie fordern ganz einfach das Grafikformat Nr. 7 an, und Easel verwandelt Ihre Zahlen in eine Kuchengrafik. Es sei gleich gesagt, daß...
Seite 421
KREISDIAGRAMME FELDNAMEN SHIFT Die Bewegung von einem Feld zum nächsten erfolgt mit bzw. mit (rückwärts), genau wie bei den Balkendiagrammen. Wie dort ist im Befehlsmenü keine Bewegung möglich. Kehren Sie also gegebenenfalls zur Hauptanzeige zurück, schieben Sie direkt nach dem aktuellen ein neues "unbenanntes" Feld ein. Tippen Sie eine beliebige Zahl ein.
Seite 422
Namen ein und drücken Sie ENTER. Der neue Druckertreiber wird nicht permanent installiert, sondern nur für die momentane Arbeit. Beim Neustarten von Easel wird wiederum der Druckertreiber für den QL Drucker geladen, der in der Standard-Druckertreiberdatei ''gprinLprt'' enthalten ist. Auf Wunsch können Sie natürlich diese Standardvorgabe ändern, indem Sie die Druckertreiberdateien...
Seite 423
PAPIERBILDER VON GRAFIKEN Eine der häufigsten Ursachen für schlechte Photos ist eine zu kurze Belichtungszeit. Das Bild setzt sich aus 625 separaten Linien zusammen, von denen eine nach der anderen angezeigt wird, Die Anzeige aller Zeilen dauert 1/25 s. Wenn eine Belichtungszeit gewählt wird, die etwa gleich lang oder kürzer ist, resultiert ein ungleichmäßig belichtetes Bild.
Seite 424
KAPITEL 10 QL EASEL UBERSICHT Zusätzlich zu der allgemeingültigen Belegung der Funktionstasten F1, F2 und F3 verwendet Easel die Funktionstasten wie folgt: FUNKTIONSTASTEN Löschen Text Bezeichnungen Zahlen Legende benutzerdefinierte Objekte Hinweis: unter benutzerdefinierten Objekten versteht man Balken, Linien, Koordinatenpapier und Achsen, Einfügen eines Feldes...
Export Exportiert eine benannte Datei, welche alle Zahlenserien enthält, die sich im Arbeitsspeicher befinden, Die Sicherung erfolgt in einer Form, die den Import durch QL Abacus oder OL Archive erlaubt. Import und Export werden im Anhang ausführlich beschrieben, Ohne ausdrückliche Angabe eines Nachnamens weist Easel Exportdateien den Zusatz _exp Importiert eine benannte Datei und ermöglicht Easel das Einlesen...
ÜBERSICHT HILFE BEFEHLE ZAHLEN KREUZ TEXT FORMELN Mit TAB setzen " und & vorrücken Text direkt DIALOG ABBRUCH +-U-> tippen tippen eingeben KUPFER ZINK METALLE Format 7 Typ KREIS Name METALLE 8K Speicher Abbildung 10.1 Hervorgehobener Sektor im Kreisdiagramm ISTDATEN Mit diesem Befehl machen Sie ein bestimmtes Zahlenbild zum aktuellen, Easel bittet um Eingabe des gewünschten Namens (keine Anführungszeichen notwendig).
Seite 427
ÜBERSICHT WECHSELN Ein äußerst vielseitiger Befehl zum Ändern aller Aspekte Ihrer Grafik. Das Untermenü enthält die folgenden Optionen: Achse Zum Ändern der Achsenteilstriche, der Farbe und der numerischen Beschriftung. Achsenstriche können eingezeichnet werden oder unsichtbar bleiben, Nicht gültig ist diese Option in Format 7 (Kreisdiagramm). Achsenbegrenzungen wählen Sie zwischen...
Seite 428
ÜBERSICHT FUNKTIONEN Stellen Sie sich eine Funktion am besten als eine Art Rezept vor, das mit einem oder mehreren Werten, sog, Argumenten, eine bestimmte Operation ausführt und ein Ergebnis liefert, den Funktionswert, In Easel gibt es Funktionen, die ein, zwei oder drei Argumente übernehmen, und auch solche, die ohne ein Argument auskommen.
Seite 429
Koordinatenpapier Achse .., .., .., . FANGEN SIE AN ,." QL EASEL LADEN DIE BILDSCHIRM MASKE ..KAPITEL Der Statusbereich .
QL PROGRAMME - IMPORT UND EXPORT Die beiden Befehle import und export dienen zur Übertragung von Informationen zwischen den vier OL-Programmen. Die Form der Datenspeicherung ist bei OL Abacus, OL Archive und OL Easel jeweils ähnlich und gestattet eine Darstellung in tabellarischer Form.
Seite 432
SuperBASIC setzt automatisch ein Steuerzeichen für Zeilenvorschub (ASCII Code 10) ans Ende jedes Datensatzes. EXPORT NACH QL Quill arbeitet mit formatiertem Text und erwartet auch bei Dateien, die aus den anderen QL-Programmen übernommen werden, nicht das gewöhliche Exportformat, sondern QUILL formatierten Text.
Seite 433
+ "E" in das Feld ein, bei dem mit Fettdruck begonnen werden soll. Die Anpassung von QL Quill, QL Abacus und QL Archive an andere Drucker nennt man "Installieren der Software': Zu diesem Zweck gibt es ein spezielles SuperBASIC Installationsprogramm. Dieses Programm, install_bas , sowie Installationsdaten für eine Reihe von Druckern (install_dat) und die Installationsdaten für den angeschlossenen...
Seite 434
Bei Verwendung eines Druckers, der nicht in der Liste enthalten ist, kann auf zwei Arten vorgegangen werden: DRUCKER Gar nichts tun VerlassenSie das Installatinsprogrammmit ESC. Alle vier QL-Programme verfügen bereits über einen eingebauten Druckertreiber,der gewöhnliche Textausgabeauf praktisch jedem Drucker ermöglicht. Drucker hinzufügen Sie können Ihren Drucker in die Liste aufnehmen.
Seite 435
DRUCKAUSGABE Diese beiden Parametertypen werden verschieden geändert. Die obenstehende Tabelle zeigt die Werte des STANDARD-Druckers. In der Kolonne rechts werden andere mögliche Werte (bei den Parametern mit geringer Auswahl) aufgeführt. Bei den Parametern mit wenigen Auswahlmöglichkeiten verändert sich der Wert mit jedem Druck auf den Rechts- oder den Linkspfeil.
Seite 436
Inbetriebnahme eine Initialisierung benötigen. In diesem Zusammenhang können z.B. Randeinsteilung gesetzt oder ein bestimmter Zeichensatz gewählt werden. Nach erfolgter Druckausgabe mit einem QL-Programm können diese Einstellungen wieder auf ihre Standardwerte zurückgesetzt werden. Dafür sind die Präambel- Postambel-Parameter zuständig, die Ihnen erlauben, bis zu 10 Zeichen an den Drucker zu übermitteln.
Seite 437
Zeilenabstand oder Schrägschrift. Wenn Ihr Drucker ohne Initialisierungauskommt, lassen Sie die Einstellung auf "NICHTS': Der QL Printer erfordert als Postarnbel-Code ein LF oder FF. Folglich belassen wir die Einstellung unverändert. FEnDRUCK EIN und FEnDRUCK AUS erfordern auf dem QL Printer die Codes ESC E und ESC F, welche Sie wie folgt eingeben können:...
Seite 438
DRUCKAUSGABE Auch hier wird Ihnen die Liste mit den Druckern angezeigt, doch nach Drücken bzw. präsentiert Ihnen das Programm die folgenden Parameterwerte: Standard Mögliche Optionen TREIBERNAME : STANDARD ANSCHLUSS : Keine ZEILEN/SEITE : 66 Obis 255 ZEICHEN/ZEILE : 80 Obis 255 : JA ENDLOSFORMULARE NEIN...
Das Programm config_bas erlaubt Ihnen, alternative Standardeinheiten zum Gebrauch durch die QL Programme zu spezifizieren und die Sortierreihenfolge der Ordnen-Befehle in Abacus und Archive zu ändern. Sie finden es auf der Kassette Utilities. Die Originalprogramme verwenden standardmäßig Microdrive 2 zum Speichern von Daten und erwarten, daß...
Seite 440
Mit ESC kehren Sie zum Hauptmenü zurück. Einheiten Standardmäßig verwenden die QL Programme Microdrive 1 für Systeminformationen (z.B. zum Lesen des eingebauten Druckertreibers) und für die HILFE-Funktion, während Microdrive 2 für Datenspeicherung vorgesehen ist.
Seite 441
QL PROGRAMM ARITHMETIK Der zulässige Zahlenbereich für die QL - Programme, mit Ausnahme QL Easel, ist: 2 _9 * 10- 1 . 7 * 10 Alle Berechnungen werden mit einer Genauigkeit 16 Stellen durchgeführt, wobei höchstens 14 Stellen zur Anzeige gelangen.
Denken Sie sich einen Namen für die Kassette aus, der nicht länger als zehn Zeichen sein darf. Achten Sie darauf, daß der QL eingeschaltet und der blinkende Cursor sichtbar ist, und legen Sie die Kassette in den Microdrive 1. Nennen wir unsere Kassette "Daten':...
Seite 443
Dezimal Tasten Anzeige/Funktion SHIFT . SHIFT , < < SHIFTO < > SHIFT SHIFT ß CTRL \ SHIFT A SHIFT B SHIFT C SHIFT 0 SHIFT E SHIFT F SHIFT G SHIFT H SHIFTI SHIFT SHIFT K SHIFT L SHIFT M SHIFT N SHIFT 0 SHIFT P...
Seite 445
Anzeige/Funktion Dezimal Tasten CTRL SHIFT P µ CTRL SHIFT Q <l> CTRL SHIFT R CTRL SHIFT S CTRL SHIFTT CTRL SHIFTU § SHIFT3 CTRLSHIFTW -< CTRL SHIFT X > CTRL SHIFTz CTRL SHIFTY CTRLÜ CTRL SHIFT2 CTRL CTRLSHIFT6 CTRL SHIFTB Cursor ein Zeichen nach links ALT +- Cursor an Anfang der Zeile...
Seite 446
Dezimal Anzeige/Funktion Tasten GTRl F3 SHIFT F3 GTRl SHIFT F3 GTRl F4 SHIFT F4 GTRl SHIFT F4 GTRl F5 SHIFT F5 GTRl SHIFT F5 SHIFT leerzeichen "spezielles" leerzeichen SHIFTTAB TAB zurück (GTRl ignoriert) SHIFT ENTER "spezielles" ENTER (GTRl ignoriert) Siehe unten Wenn die ALT-Taste mit einer beliebigen anderen Taste, außer den Cursor-Steuerta- sten oder der UMSCHAL T-Taste betätigt wird, wird der Code FF erzeugt, gefolgt von einem Byte, das anzeigt, was der Tastencode gewesen wäre, wenn die ALT-Taste...
Seite 447
London. This was exactly 12 days earlier than Steve Jobs presented the Apple Macintosh. The QL still is a very good example of an innovative, stylish, powerful and underestimated product. On one hand it failed in the market but on the other hand it influenced many developments which ended in many of today’s computers.