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

Index
Register
Login

Die Anzeige des Archivs erfolgt grafisch. Ändern

GeoBasic Workshop - Teil 2: Programmieren mit GeoBasic

Autor: Olaf Dzwiza

In dieser Ausgabe beginnen wir mit unserem GeoBasic-Programm, das zur Erstellung von Stundenplänen vorgesehen ist. Ich werde in diesem Teil zeigen, wie der Bildschirm aufgebaut wird und auf die Struktur von Menü- und Iconroutinen eingehen. Im nächsten und letzten Teil geht es dann um den Einbau einer Mausabfrage und die Verwaltung von Hilfsmitteln.

Zunächst setzen wir in unserem Programm das Hintergrundmuster:

   210 @Beginn
   220 PATTERN 2
   230 RECT 0,0,319,199

Nun brauchen wir zwei Unterroutinen; eine initialisiert die Darstellungsfläche, die andere zeichnet den Stundenplan:

   1070 @Hintergrund
   1080 PATTERN 0
   1090 RECT 3,50,316,190
   1100 SETCOL 255
   1110 FRECT 3,50,316,190
   1120 RETURN
   1130
   1140 @ZeichnePlan
   1150 SETCOL 1
   1160 LINE 5,84 TO 314,84
   1170 FORy=85 TO 185 STEP 15
   1180 LINE 5,y T0 3l4,y
   1190 NEXT
   1200 LINE 22,71 TO 22,175
   1210 FOR x=23 TO 316 STEP 49
   1220 LINE x,71 TO x,175
   1230 NEXT
   1240 PRINT CHR$(26)CHR$(24);
   1250 SETPOS 33,81:PRINT"Mo"
   1260 SETPOS 83,81:PRINT"Di"
   1270 SETPOS 132,81:PRINT"Mi"
   1280 SETPOS 181,81:PRINT"Do"
   1290 SETPOS 230,81:PRINT"Fr"
   1300 SETPOS 279,81:PRINT"Sa"
   1310 SETPOS 6,97:PRINT"1."
   1320 SETPOS 6,112:PRINT"2."
   1330 SETPOS 6,127:PRINT"3."
   1340 SETPOS 6,142:PRINT"4."
   1350 SETPOS 6,157:PRINT"5."
   1360 SETPOS 6,172:PRINT"6."
   1370 PRINT CHR$(27);
   1380 RETURN

Ich denke, eine genauere Erläuterung erübrigt sich, die vielen Koordinatenangaben verwirren vielleicht zunächst, aber experimentieren bringt im Zweifelsfall sicher Klarheit.

Beide Routinen werden nun vom Initialisierungsteil aufgerufen:

   330 GOSUB @Hintergrund
   340 GOSUB @ZeichnePlan

Vielleicht werdet Ihr euch jetzt fragen, wieso die beiden Routinen Unterroutinen sind, eine Antwort wird sich später zeigen.

Als nächsten brauchen wir noch ein Menü:
Erstellt mit dem Menü-Editor ein Menü mit dem Namen "Menue" und einem Untermenü (OPTIONEN), das zwei Auswahlmöglichkeiten anbietet: DRUCKEN (Sprung zu @Druck) und NEUSTART (Sprung zu @Neu). Im GEOS-Menü setzt Ihr den Menüpunkt "program info" (kann umbenannt werden) auf das Label @Info.

Danach muß im Bitmapeditor ein Bild (nicht "Disk loadable") mit dem Namen "bild" erstellt werden, daß später als Icon zum Zurückkehren zum DeskTop/TopDesk genutzt wird. Ich empfehle, mittels Icon-Editor das Icon des DeskTop (TopDesk) als FotoScrap zu speichern und im Bitmapeditor einzulesen.

Nun geht es in den Piktogrammlisteneditor: Dort erstellt Ihr eine Iconliste "Pikto" mit einem Icon und den Koordinaten 280/10, der Bitmapname lautet "bild", das Ansprunglabel ist @Ende.

Bild 1Bild 2

Menü und Icons sind nun im Init-Teil aufzurufen:

   240 MENÜ "Menue"
   250 ICON "Pikto"

Es folgen nun die Reaktionsroutinen auf die Menüpunkte und das Icon:
Beim Label @Info empfiehlt es sich, eine Dialogbox zu erstellen, die über das Programm Auskunft gibt, laßt eurer Phantasie freien Lauf. So könnte die Einbindung aussehen:

   430 @Info
   440 DIALOG "INFO"
   450 RETURN

Beim Menüpunkt Neustart (Label @Neu) ist auch wieder eine Dialogbox nötig. Erstellt eine Box mit dem Namen "Ende?" und dem Text "Ein Neustart löscht alle Daten. Wirklich ausführen?" (oder ähnlich) sowie je einem JA und NEIN-Icon. Der Wert des angeklickten Icons soll in die Variable "auswahl" übergeben und dann ausgewertet werden:

   600 @Neu
   610 DIALOG "Ende?",auswahl
   620 IF auswahl=3 THEN GOTO @Beginn
   630 IF auswahl=4 THEN RETURN

Bei Klick auf JA wird eine 3 übergeben, sonst eine 4 (siehe Handbuch).
Für das Label @Ende (wird beim Klick auf das Icon aufgerufen), ist nur ein END erforderlich:

   650 @Ende
   660 END

Bleibt nur noch der Druck. Es bietet sich an, eine Bildschirmhardcopy zu machen. Dazu muß allerdings erst das Menü und der Hintergrund (Füllmuster 2) verdeckt werden, damit ein weißer Bildschirm vorhanden ist:

   470 @Druck
   480 PATTERN 0
   490 RECT 0,0,319,50
   500 RECT 0,50,3,199
   510 RECT 316,50,319,199
   520 RECT 0,190,319,199

Anschließend zeichnen wir noch einen Rahmen um den Stundenplan und lassen drucken:

   530 SETCOL 255
   540 FRECT 0,50,319,199
   550 PRSCREEN 0

Um den Bildschirm wiederherzustellen, benutzen wir eine Unterroutine (warum, dazu mehr im dritten Teil), die eine Umkehrung des Verdeckens ist und rufen Menü und Icon wieder auf:

   1520 @NeuZeichnen
   1530 PATTERN 2
   1540 RECT 0,0,319,50
   1550 RECT 0,50,3,199
   1560 RECT 316,50,319,199
   1570 RECT 0,190,319,199
   1580 MENU "Menue"
   1590 ICON "Pikto"
   1600 RETURN

Das ganze wird aufgerufen durch:

   560 GOSUB @NeuZeichnen

Schließlich folgt noch der Abschluß der Druckroutine:

   570 FRECT 3,50,316,190
   580 RETURN

Wenn jetzt die Mainloop aktiviert wird, ist der erste Programmteil abgeschlossen:

   360 @Hauptschleife
   390 MAINLOOP

Bis zum letzten Teil in der nächsten GUP noch zwei kleine Aufgaben für besonders Experimentierfreudige:

  1. Versucht mal, durch kleine Veränderungen der Druckroutine eine Wahl zwischen A4 und A5 Format (PRSCREEN 1) zu ermöglichen.
  2. Das Gitternetz soll um 20 Pixel nach oben verschoben werden.

Für den folgenden, letzten Teil braucht Ihr dann aber eine unveränderte Version.

 

Olaf Dzwiza

 

 

 




Dieser Artikel ist Bestandteil von:

Ausgabe 28

! - - - - - M I C R O F I L M - - - - - ! | Ramlife Aktuell, Die Geos User Post ..., GUC aktiv in GEnie | Editorial | Die GUP 28, Regio Leiter Treffen | Jahreshauptreffen 1993 | Hobbytronik '93 | Flash 8 - Das Ende | GUC Intern | Grundsätzliches zum Geos User Club | Der GATEWAY - ein Desktop Ersatz mit bestimmten Zielen | Testbericht TextPrint V3 | Die neue GeoThek, Teil 4 | REU Nachbau '1750 Clone' | Leserbrief: HP DeskJet 500 | PEGASUS - Testbericht - Fortsetzung | RamProcUhrV 2.0 | Aufkleber | GeoWrite Patch | DiskArt 64 Teil 2 | Nachtrag zum Editorial der GUP 28 | Die neuen PLZ | Regio Hamburg: Letzte Meldung vor der Sommerpause | Im Norden viel neues - , die Regionalgruppe Wesermarsch | News Regio Berlin | Regio Rhein-Main | Drucker-Datenbank | GeoBasic Workshop - Teil 2: Programmieren mit GeoBasic | Hinweise zur 2.0: | Hintergründe und Gerüchte | PD Disketten für PC/Geos | Ensemble 2.0 ist da ! (Teil1) | Ensemble 2.0 ist da ! (Teil2) | PC Interface aus GUP 27


GeoBasic

GeoBasic (Teil 1) | GeoBasic Workshop - Teil 2: Programmieren mit GeoBasic | GeoBasic Workshop - Teil 3: Maus- und DA-Routinen | GeoBasic Workshop - Teil 4: Probleme mit der RunTime Bibliothek


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


Letzte Änderung am 01.11.2019