Index
Register
Login
Die Anzeige des Archivs erfolgt grafisch. Ändern
|
GeoCom Workshop #1Autor: Olaf Dzwiza
Einführung in GeoCom
Seit kurzem gibt es ein neues, sehr leistungsfähiges, compilergestütztes Programmentwicklungssystem für GEOS 64/128. Dieser Workshop soll eine Einführung in die Programmierung mit dieser Software, die schlicht "GeoCom" heißt, geben.
Interpreter kontra Compiler
Im Handbuch von GeoCom wird öfter der Vergleich zu GeoBasic gezogen, da GeoCom ebenfalls BASIC-orientiert arbeitet. Dabei darf aber nicht vergessen werden, daß GeoBasic eine Interpretersprache ist, GeoCom jedoch ein Compiler.
Ein Programm, daß mit einem Interpreter läuft, wird völlig anders vom Rechner bearbeitet, wie ein Compilerprogramm und ist folglich auch anders aufgebaut. Während ein Interpreter jede Programmzeile genau dann in Maschinensprache übersetzt, wenn sie benötigt wird, und anschließend die Übersetzung wieder "vergißt", übersetzt ein Compiler das Programm, den sog. "Quelltext" einmalig komplett in Maschinensprache, erzeugt also einen vom Rechner sofort ausführbaren Code. Beide Möglichkeiten haben Vor- und Nachteile:
Interpreter
Das Programm kann jederzeit, auch teilweise, getestet werden, je nach Interpreter reicht die Eingabe von "RUN" o. ä. aus. Dadurch, daß jede Zeile einzeln und bei erreichen jedesmal neu übersetzt werden muß, sind Interpreterprogramme meist recht langsam. Die Möglichkeit, nur einzelne Programmabschnitte ablaufen zu lassen, verführt zu einem sehr unübersichtlichen Programmieren, der sog. unstrukturierte "Spagetticode" entsteht schnell.
Compiler:
Der Übersetzungsvorgang findet nur einmal statt. Dadurch kann das Programm sehr schnell ablaufen, jedoch nie unmittelbar während des Schreibens (teilweise) getestet werden. Ein Compiler zwingt zu einem klaren, strukturierten Aufbau und fördert somit eine übersichtliche Programmierung.
Grundsätzlich sind Compilerprogramme anders als Interpreterprogramme aufgebaut. Der Quelltext gliedert sich in zwei Abschnitte, dem Vereinbarungsteil (Deklarationen) und dem Anweisungsteil.
Im Vereinbarungsteil wird der Programmname des zu erzeugenden Codes festgelegt, Parameter an den Compiler übergeben und -ganz wichtig- alle Variablen, die im Programm verwendet werden, aufgelistet. Dabei muß der Typ der Variablen deklariert werden, damit der Compiler weiß, wie er mit der Variablen umzugehen hat.
GeoCom kennt u. a. folgende Typen:
- Byte: Eine Variable, die genau ein Byte groß ist, also Werte von 0 bis 255 annehmen kann.
- Integer: Eine Variable, die zwei Byte groß ist. Sie ist in LOW-(niedriges) und HIGH-(höherwertiges) Byte aufgeteilt und kann Werte von 0 bis 65535 annehmen.
- Real: Eine Variable, die "normale" Realzahlen mit Kommastellen speichern kann.
- String: Eine Variable, die eine Zeichenkette von bis zu maximal 255 Zeichen speichert.
- Row: Eine Reihe von Variablen eines frei wählbaren Types, vergleichbar mit eindimensionalen Feldern im Standard-BASIC.
Wie diese Variablen deklariert werden, werden wir im Laufe des Workshops kennenlernen. Darüber hinaus gibt es noch Vereinbarungen für Objekte, Label (Sprungmarken) und Datenreihen, doch dazu später mehr.
Das Entwicklungssystem GeoCom
Die Quelltexte werden, wie einigen von Euch vielleicht schon vom MegaAssembler bekannt, mit GeoWrite verfaßt; der volle Komfort dieser Textverarbeitung steht also zur Verfügung, der Programmierer muß sich nicht mit einem langsamen Editor wie bei GeoBasic abquälen. Gestartet wird der Compiler durch Doppelklick im DeskTop oder durch das Hilfsmittel "Start GeoCom", daß ihn nachlädt oder auf Wunsch in den Objekteditor (dazu in einem späteren Teil) springt. Der Quelltext wird nun sofort in den Speicher (!) übersetzt, er muß hinterher vom Programmierer gespeichert werden. Ist der Quelltext fehlerhaft, wird ein ausführliches geoWrite-Dokument erzeugt, in dem alle Fehler beschrieben sind, ein Beispiel werden wir beim nächsten Mal näher betrachten.
Struktur eines GeoCom-Programms
Der Compiler verlangt zunächst die Angabe vom Namen, unter dem das Programm gespeichert werden soll, dieser kann auch nach dem Compilieren editiert werden. Dann ist die Klasse anzugeben (vgl. entsprechender Eintrag im Infosektor eines Files) und schließlich der Autor. Diese Angaben müssen immer am Anfang eines Programms stehen.
Danach können Vereinbarungen zur Speichereinteilung (Programm-, Konstanten- und Variablenbereich) getroffen werden. Folgen diese nicht, so verwendet der Compiler Vorgabewerte, die für die meisten Zwecke voll ausreichen. Schließlich sind die Variablen zu vereinbaren und gegebenenfalls der Betriebsmodus (GEOS 64 oder 128, Bildschirmmodus) anzugeben.
Erste Tips zur Programmierung
Bevor es das nächste Mal so richtig mit dem Programmieren los geht, hier schon mal ein paar Tips zum Ausprobieren:
- PRINT läßt sich als einziger Befehl mit "?" abkürzen. Ich denke, daß dies jedoch aus Gründen der Lesbarkeit nicht gemacht werden sollte. Der Befehl darf nie alleine stehen. Für die Ausgabe einer Leerzeile ist also SETPOS zu verwenden oder ein Leerstring auszugeben. Ebenso kann PRINT nur (!) Strings ausgeben.
- sog. Geradeausprogramme ohne END am Schluß stürzen nach Ablauf ab. Dies ist logisch, da der Compiler beim END die Routine zur Rückkehr zum DeskTop einbaut. Fehlt der Befehl, gilt das Programm als nicht beendet. Für diesen Fall sieht der Compiler keine Fehlermeldung vor.
- PRINT scrollt den Bildschirm nicht. Wird versehentlich außerhalb des Screens positioniert, kann es zu einem Absturz kommen.
Im nächsten Teil werden wir uns einige Punkte anschauen, die bei Variablen und Vergleichen zu beachten sind, danach soll Schritt für Schritt ein Programm mit grafischen Darstellungen, Druckausgabe und Diskettenroutinen entwickelt werden.
Olaf Dzwiza
Anmerkung
Bei Schreiben dieser Zeilen ist GeoCom immer noch nicht lieferbar.
Nach einem aktuellen Info von Olaf soll GeoCom jedoch definitiv Ende April herauskommen! Alleine aus diesem Grund wurde mit dem Teil # 1 des Workshops schon in dieser Ausgabe begonnen.
Sobald GeoCom vom Autor freigegeben wurde, kann es auch beim Geos User Club bezogen werden. Ob der genannte Termin jedoch eingehalten werden kann, können wir bis zum Vorliegen der Software nicht versprechen.
Thomas Haberland
Produkt Info
Name: GeoCom
lauffähig unter: Geos 64 & 128 ab v2.0
Voraussetzung: Geos 64 oder 128 ab v2.0
Preis: 59,- DM
Bestelladresse: GUC Dorsten
Dieser Artikel ist Bestandteil von:
Kurzlink hierhin: http://geos-printarchiv.de/1817
|