Logo: Geos Online Print Archiv
G.O.P.A. - Geos Online Print Archiv
03.10.2022 Archiv  #  Recherche  #  Links  #  Kontakt  #  Gästebuch  #  Impressum

Index
Register
Login

Die Anzeige des Archivs erfolgt grafisch. Ändern

GeoBasic ist da !

Autoren: Thomas Haberland, Wolfgang Tischer

   Ein Traum wird wahr:
   Die GEOS-Programmierung wird zum Kinderspiel

Für einen BASIC-Programmierer wie mich, der der Maschinensprache nicht mächtig ist und dem GeoProgrammer und MegaAssembler Disketten mit sieben Siegeln sind, kommt es so vor, als hätte man ihm mit GeoBasic eine einfachere Programmiermöglichkeit von GEOS Applikationen vorenthalten. Doch GeoBasic gibt es (in Deutschland) erst seit dem 28.06.1990, nachdem das Produkt zum 28.05.1990 angekündigt war. Eines ist jedoch schon jetzt abzusehen: Die Zahl der Applikationen wird sich stark erhöhen, denn GeoBasic macht deren Programmierung für jeden möglich!

Bevor ich auf GeoBasic näher eingehe, möchte ich gleich zu der Frage kommen, in wieweit Vorkenntnisse in BASIC erforderlich sind. Wer gerne herumtüftelt und ausprobiert, kann mit dem GeoBasic-Handbuch sicherlich BASIC erlernen, denn in knappen Worten und mit jeweils einem klitzekleinen Beispiel werden die Befehle und der Aufbau eines BASIC-Programmes erklärt. Ob dies aber für den BASIC-Unkundigen, der ausführliche Erklärungen und Beispiele wünscht, reicht, ist sehr fraglich. Auf jeden Fall sollte man die BASIC-Einführung im 64'er Handbuch durcharbeiten. Wem dies immer noch nicht genügt, sollte sich ein spezielles BASIC-Lehrbuch für den 64'er kaufen und dann auf GeoBasic umsteigen. (z. B. 64'er Sonderheft 40)

Wie sieht GeoBasic nun aus? Nach Doppelklick und Laden der Applikation ist man in dem für GEOS untypischen Textmodus und kann theoretisch mit der Programmierung loslegen. Der Eingabemodus ist dem des BASIC 2.0 nachempfunden. Erst nach dem Starten eines GeoBasic-Programmes wird in den Grafikmodus umgeschaltet, und die Befehle werden ausgeführt.

Natürlich gibt es auch im Textmodus ein Pulldown-Menü. Hier lassen sich Direktbefehle anklicken (run, list, renumber), der Debugger läßt sich aufrufen und außerdem kann man die leistungsstarken Hilfsprogramme anwählen. Zu letzteren gleich mehr. Bei der Texteingabe kann man zwischen Überschreib- und Einfügemodus wählen. Nach kurzer Eingewöhnung ist dies sehr sinnvoll. Per Mausklick läßt sich der Cursor blitzschnell an eine gewünschte Stelle bringen.

Mit GeoBasic läßt sich sehr übersichtlich programmieren. Zum einen sind Leerstellen zwischen Zeilennummer und Zeilenbeginn möglich. So kann man z. B. Befehle innerhalb einer Schleife übersichtlich einrücken. Zum anderen ist die Definierung von Label möglich. Eine feine Sache, die die strukturierte Programmierung sehr erleichtert. Statt gosub 1430, heißt es in GeoBasic z.B. GOSUB §texteingabe (GeoBasic verwandelt übrigens wirklich alle BASIC-Schlüsselwörter in Großschrift!). Leider sind keine Befehlsabkürzungen möglich.
Viele BASIC-Befehle sind - bis auf geringfügige Ausnahmen - mit denen des BASIC 2.0 identisch. Hinzu kommt eine Vielzahl spezieller, auf GEOS bezogener Befehle (Rechtecke zeichnen, Felder invertieren, Eingabeboxen erstellen usw.). Ein sehr leistungsstarkes BASIC also. Die Zahl der Befehle, die im Direktmodus eingegeben werden können, ist sehr gering, da es einen Direktmodus, so wie man ihn vom 64'er normalerweise kennt, nicht gibt. Doch dies ersetzt größtenteils der Debugger, mit dem man Variableninhalte ansehen oder den Programmablauf bei erreichen einer bestimmten Zeile oder eines bestimmten Variableninhalts zur Kontrolle unterbrechen kann. Auch ein find-Befehl steht dem Programmierer zur Verfügung.

Die Programmierung von Menüs und deren Abrollen, von Dialogboxen, von Icons oder gar von Sprites dürfte in BASIC eine große Schwierigkeit darstellen oder zumindest sehr umständlich sein. Dieses Vorurteil könnte man zunächst haben. Doch weit gefehlt! Die Erstellung und Programmbehandlung dieser Dinge gehört zum einfachsten unter GeoBasic, denn hier kommen die erwähnten Utillities zum Einsatz.
Nehmen wir z.B. das Erstellen eines Menüs: Einfach im Texteditor unter utilities den Unterpunkt menu anklicken. Mit dem nun erscheinenden Hilfsprogramm kann man sich sein Menü wie mit einem Baukasten zusammensetzen. Man gibt einfach an, wieviel Oberbegriffe man braucht, wieviel Unterpunkte diese im einzelnen haben sollen, wie diese heißen sollen und welche BASIC-Routinen nach dem Anklicken eines solchen angesprungen werden sollen (Label). Dieses erstellte Menü hat einen Namen. Im BASIC-Programm wird dieser Name einfach mit dem Befehl MENU aufgerufen und dann die Kontrolle an die GEOS Hauptabfrageschleife (mainloop) übergeben, die alles weitere, wie abrollen und anklicken, übernimmt. Da wir das Sprungziel nach dem Anklicken eines Untermenüpunktes angegeben haben, weiß das Betriebssystem, wo es in unserem BASIC-Programm wieder ansetzen soll.

Ähnlich wie gerade beschrieben, verhält es sich mit Dialogboxen, Bitmaps, Icons und - man lese und staune - mit Sprites! So kann z.B. ein kleines animiertes (!) Männchen von einer Bildschirmseite zur anderen laufen und dort dann regungslos verharren. Nach einigen Voreinstellungen im Hilfsprogramm sprite genügt dazu nur ein einziger BASIC-Befehl!

Ebenfalls eine kleine Sensation ist die Tatsache, daß GeoBasic-Programme auch ohne GeoBasic ablaufen können! Ein Anklicken von make apl im options Menüpunkt genügt, und eine von GeoBasic unabhängig lauffähige Applikation entsteht. Diese kann dann natürlich nicht mehr editiert werden.

Kommen wir zum Handbuch. Markt & Technik hat sich für die Veröffentlichungsform der bookware (Buch mit Software) entschieden. Der Erfolg der Mega Packs, die ja auch bookware sind, hat wohl zu dieser Entscheidung geführt. Sicherlich läßt sich so GeoBasic besser im Buchregal verkaufen.
Gleich vorneweg: das Handbuch ist etwas mangelhaft. Die Syntaxerklärungen sehen z.B. folgendermaßen aus: SPRT 'Ausdruck', 'Ausdruck', 'Ausdruck'. Was nun aber bitteschön welcher Ausdruck bedeutet, steht im erklärenden Text darunter. Zum schnellen Nachschlagen also völlig ungeeignet. Besser wäre gewesen: SPRT 'Nummer', 'Abfrageparameter', 'Speichervariable'. So wäre zumindest der Erinnerungswert größer. Außerdem wäre eine alphabetische Anordnung der Befehlserklärungen besser gewesen, um ständiges Nachschlagen in der Endübersicht zu vermeiden. Auch hätte man wichtige Tabellen im Anhang wiederholen sollen. Das Handbuch ist also nicht sehr programmiererfreundlich aufgebaut.
Des weiteren habe ich auch nach kurzer Zeit schon einen Fehler entdeckt: Mit SETCOL 0 wird bei anschließender Anwendung des POINT-Befehls ein Punkt gelöscht und nicht gezeichnet!

Ein Hinweis zum Schluß: Man kann nur zügig programmieren, wenn die Hilfsprogramme sofort nach dem Anklicken zur Verfügung stehen und nach einem run das Programm auch sofort startet. GeoBasic muß - wie alle Applikationen - sehr oft auf Diskette zugreifen, bedingt durch die Größe (77 kByte). Dies eben auch an oben erwähnten Stellen. Will sagen: Ohne RAM-Erweiterung ist zügiges und flüssiges Programmieren nicht möglich.

   Hier nochmals alles im Überblick:

Vorteile:

  • einfache GEOS-Programmierung / gutes BASIC
  • leistungsstarke Hilfsprogramme
  • Labels
  • Programme ohne GeoBasic lauffähig
  • Debugger

Nachteile:

  • mangelhaftes Handbuch
  • nur unter GEOS 64 lauffähig
  • keine Befehlsabkürzungen möglich
  • ohne RAM-Erweiterung zu langsam
  • nur Programmierung von Applikationen möglich

Fazit: GeoBasic ist unbedingt empfehlenswert. Software sehr gut, Handbuch mangelhaft.

 

-Wolfgang Tischer-


Anmerkung: Bei 'make appl' wird eine sog. Rune-Time-Bibliothek angehängt; diese hat einen Umfang von ca. 30 kB. Entsprechend groß wird die 'Applikation'!

 

-TH-

 

 

 




Dieser Artikel ist Bestandteil von:

Ausgabe 11

! - - - - - M I C R O F I L M - - - - - ! | Editorial | Logo - Wettbewerb | Die Spezialisten | Druckerecke | GeoBasic ist da ! | GEOS LQ | GEOS PROFESSIONELL - Neue Software für GEOS ! | GEOS - CP - Uhr | GEOS - Ringordner | Graphiken | Zeichensätze | Hardware-Info | Der Vidio - Digitizer | DTP: Praktikum im Angebot / Titelseite | Druckertip Commodore MPS 1000 | MegaAssembler | Die geoNorm | Die GeoThek | Mitgliederlisten | Hinweise zum Clubtreffen: | Nachbestellungen der GUP


Kurzlink hierhin: http://geos-printarchiv.de/971


Letzte Änderung am 01.11.2019