WINDOW-EDITOR und WINDOW-MANAGER die Menuexperten
Mit den Programmen " Window-Editor" und
" Window-Manager" können Sie auf einfache
Weise Menuleisten und Pulldown-Menus
erstellen und in eigene Programme, seien
diese nun in BASIC oder Assembler geschrieben, einbinden. Hierbei erstellen
Sie zunächst Ihre gewünschten Menus mit
dem Window-Editor und speichern sie auf
Diskette ab. Für Ihr eigenes Programm
laden Sie das Window-File wieder ein und
rufen die einzelnen Menus mit Hilfe des
Window-Managers auf. Sie erhalten dann
jeweils einen Rückgabewert, der Ihnen
anzeigt, welcher Menupunkt vom Benutzer
angewählt wurde.
DER WINDOWEDITOR
Laden Sie den Window-Editor mit LOAD"- WINDOW-EDITOR",8,1 in den Speicher Ihres
Rechners ein und starten Sie ihn mit
" SYS 20000" .
Nach dem Start erscheint das Titelbild.
Kurz danach gelangen Sie in das Hauptmenu des Window-Editors. Hier gibt es
sechs Menupunkte, die Sie mit verschiedenen Buchstabentasten aufrufen können:
E - Fenster erstellen A - Fenster ändern L - Fenster löschen T - Fenster testen U - Umrandung ändern D - Diskmenu (Programm beenden)
Auf der rechten Seite des Bildschirms
sehen Sie ein Informationsfenster, das Ihnen anzeigt, wieviele Fenster Sie
schon im Speicher halten (" Nummer"- entspricht gleichzeitig der Nummer des
nächsten Fensters), wieviele Bytes im Arbeitsspeicher noch frei sind (" Frei"), und wieviele Bytes genutzt werden
(" Nutzt") .
DIE MENUPUNKTE a) FENSTER ERSTELLEN:
Wählen Sie diesen Menupunkt, so werden
Sie gefragt, ob Sie ein Pulldown-Menu- Window (" Pulldown"), oder einen Menubalken (" Waagerecht-Menu") erstellen wollen. Zudem wird die Fensternummer angezeigt. Diese sollten Sie sich merken, da
Sie sie später zum Aufruf des entsprechenden Menus benötigen. Drücken Sie
nun, entsprechend des gewünschten Menus, die Tasten " P" oder " W" .
Möchten Sie ein Pulldown-Window erstellen so können Sie nach Drücken von " P" Ihre einzelnen Menupunkte nacheinander, jeweils durch ein RETURN voneinander
getrennt, eingeben. Geben Sie keinen
Menupunkt ein und drücken RETURN, so wird wieder unverrichteter Dinge zum
Hauptmenu zurückgekehrt.
Mit Hilfe der Tasten F1- F4 können Sie
während der Eingabe die Rahmenund Hintergrundfarbe verändern. Hierbei gilt:
F1/ F2- Rahmenfarbe hoch-/ runterzählen F3/ F4- Hintergrundfarbe hoch-/ runterzählen
Sind alle Menupunkte eingegeben und die
Farben gesetzt, so drücken Sie bitte
RETURN ohne eine Eingabe in der jeweiligen Zeile gemacht zu haben. Der Window-Editor zeigt Ihnen nun die Anzahl der
eingegebenen Zeilen an und fragt nach
der Anzahl der Kopfzeilen. Eine Kopfzeile ist ein Eintrag im Menu-Window, der
keinen Menupunkt ansich darstellt, sondern vielmehr zur Information über die
folgenden Menupunkte dient ( z. B." Diskoperationen:" als Kopfzeile und dann die
Menupunkte " Laden"," Speichern", etc.) .
Kopfzeilen befinden sich immer am oberen Ende ( eben dem " Kopf") eines Pulldown-Windows. Demnach können Sie nur die oberen nten Zeichen als Kopfzeilen definieren. Möchten Sie keine Kopfzeilen
verwenden, so übernehmen Sie einfach die
Anzahl "0" . Andernfalls stellen Sie bitte die gewünschte Anzahl mittels der
CRSR-Tasten ( hoch/ runter) ein, oder benutzen Sie die Tasten 0-9 . Mit den Tasten "+" und "-" können Sie jeweils um
10 Zeilen vor-, bzw. zurückblättern.
Beenden Sie Ihre Eingabe mit RETURN.
Nun werden Sie nach der Farbe der Kopfzeilen, der Menupunkte und der Menu-Umrandung gefragt. Benutzen Sie zur
Farbangabe entweder die Cursortasten
( wie oben beschrieben), oder aber geben
Sie den gewünschten Farbcode direkt mittels CTRL 1-8, bzw. CBM 1-8 an ( z. B.
" CTRL-7 für Dunkelblau, oder " CBM-7" für
hellblau) . Wenn Sie keine Kopfzeilen
verwenden, so wird die Frage nach der
Farbe derselben übersprungen.
Sind alle Farben eingegeben, so können Sie Ihr Pulldown-Menu- Fenster mit Hilfe
der Cursor-Tasten auf dem Bildschirm
positionieren. Beachten Sie bitte, daß
Sie Teile des Fensters, die in Zeile 0 stehen, nicht sehen können ( hier wird
der Informationsbalken des Window-Managers dargestellt) . Später, bei der
Verwendundg mit dem Window-Manager ist
ein Window in Zeile 0 jedoch komplett
sichtbar. Desweiteren werden Sie merken, daß der Rahmen Ihres Windows eine " Spur" auf dem Bildschirm hinterläßt. Dies ist
normal und sollte Sie nicht weiter beunruhigen ( die " Spur" erscheint später
beim Aufruf des Menus nicht) . Sollte es
störend sein, so können Sie mit CLR/ HOME
den Bildschirm nochmals löschen.
Bevor Sie nun die Bildschirmkoordinaten
übernehmen, sollten Sie noch den
gewünschten Zeichensatz ( Groß/ Klein, oder Groß/ Grafik) mit " CBM+ SHIFT" einstellen. Beenden Sie nun die Eingabe mit
RETURN. Sie gelangen anschließend wieder
ins Hauptmenu zurück.
Wenn Sie ein " Waagerecht-Menu", also
einen Menubalken, editieren möchten, so
wählen Sie unter " Fenster erstellen" die
Option " W" an. Nun können Sie eine Bildschirmzeile mit den von Ihnen gewünschten Menupunkten füllen. Dabei müssen Sie
die einzelnen Menupunkte jeweils mit
" F7" voneinander trennen. Drücken Sie
diese Taste, so erscheint ein Trennzeichen in Ihrer Zeile. Wenn Sie alle Ihre
Menupunkte eingegeben haben, drücken Sie
bitte RETURN. Wenn Sie die Trennzeichen
falsch benutzt haben ( z. B.2 Trennzeichen hintereinander, oder als erstes, bzw. letztes Zeichen) so meldet Ihnen
das der Window-Editor und Sie müssen
Ihre Zeile noch einmal eingeben. Achten
Sie bitte auch darauf, daß Sie vor Beenden mit RETURN die Vorderund Hintergrundfarben Ihres Bildschirms mittels
F1- F4 eingestellt haben. Sie werden
ebenfalls mitgespeichert!
Nun werden Sie nach der Farbe Ihres Me- nus gefragt. Gehen Sie hier bitte wie
bei den Pulldownmenus vor ( Farben blättern mittels Cursortasten, oder direkte
Farbcodes mittels CTRL und CBM) .
Anschließend können Sie wieder die Bildschirmposition Ihres Menubalkens festlegen. Mit RETURN fixieren Sie Ihn und
kehren ins Hauptmenu zurück.
b) FENSTER ÄNDERN Mit diesem Menupunkt können Sie ein
schon eingegebenes Fenster nachträglich
abändern. Stellen Sie zunächst einmal
die Fensternummer des zu ändernden Fensters ein ( funktioniert wie bei der Angabe der Anzahl an Kopfzeilen) . Gleichzeitig wird dazu immer das entsprechende
Fenster eingeblendet ( unsichtbar wenn in
Zeile 0 !) . Drücken Sie nun RETURN um das
eingestellte Fenster zu verändern und
antworten Sie auf die Sicherheitsabfrage
mit " J"(" N" kehrt zum Hauptmenu
zurück) .
Ändern Sie ein " Waagerecht-Menu", so
wird das alte Menu in der obersten Zeile
angezeigt, während Sie eine Zeile tiefer
das Menu neu eingeben können. Drücken
Sie hier einfach nur RETURN, wenn Sie
das Menu so übernehmen wollen, wie es
bereits eingegeben war. Etwaige Änderungen an den Bildschirmfarben sollten, wie
immer, vorher vorgenommen werden ( F1- F4) . Nun können Sie wieder Farbe und
Position Ihres Menubalkens bestimmen und
kehren anschließend mit übernommenen
Änderungen ins Hauptmenu zurück.
Ein Pulldown-Menu wird ähnlich geändert.
Hier sehen Sie die einzelnen Menuzeilen
jeweils einzeln und können Sie auch einzeln ändern. Zusätzlich sehen Sie am
Ende der Darstellung des bisherigen Textes für diesen Menupunkt einen Buchstaben, der Ihnen anzeigt, wieviele Menupunkte Sie noch zur Verfügung haben. Sie
müssen wissen, daß die Anzahl der Menupunkte nicht geändert werden kann. Steht nun z. B. ein " E" am Ende der Anzeige, so
bedeutet das, daß Sie noch 5 Zeilen ändern können, da " E" der 5 . Buchstabe im
Alphabet ist.
Wenn alle Menuzeilen eingegeben sind, so
können Sie nun, wie bei " Fenster erstellen", alle übrigen Einstellungen ( Anzahl
der Kopfzeilen, Farben, etc.), vornehmen
und kehren anschießend ins Hauptmenu
zurück.
c) FENSTER LÜSCHEN Mit dieser Funktion können Sie immer das
jeweils zuletzt eingegebene Fenster wieder löschen. Dabei wird selbiges angezeigt, und nach einer Sicherheitsabfrage
gelöscht. Sie können nun das vorangegangene Fenster löschen ( das jetzt das
letzte ist) . Mit " N" kehren Sie ins
Hauptmenu zurück.
d) FENSTER TESTEN Hier wählen Sie wie gewohnt eines Ihrer
Fenster an, das anschließend angezeigt wird und getestet werden kann. Das
heißt, daß Sie mit den Cursortasten den
Menubalken durch Ihr Menu bewegen können
( näheres zur Bedienung in der Anleitung
für den Window-Manager) . Durch Druck auf
RETURN können Sie ein weiteres Fenster
testen oder abbrechen.
e) UMRANDUNG ÄNDERN Mit diesem Menupunkt können Sie die Umrandung für Pulldownmenus ändern. Nach
einer Sicherheitsabfrage können Sie nun
die Zeichen eingeben, die am oberen und
unteren Rand, sowie in der Mitte als
Umrandungszeichen benutzt werden sollen.
Hier sehen Sie zunächst die Orginalzeichen, die der Window-Manager standardmäßig benutzt. Darunter stehen dann die
aktuellen Zeichen, sowie die Eingabezeile, in der Sie die neuen Zeichen eingeben. Durch Drücken von CRSR-Rechts übernehmen Sie das jeweils vordefinierte
Zeichen. Mit der DEL-Taste springen Sie ein Zeichen zurück. Mit den Tasten " RVS/ ON" und " RVS/ OFF" können Sie den Revers- Modus einund ausschalten ( RVS ON
und CRSR-Rechts übernimmt das vordefinierte Zeichen, jedoch invertiert) . Alle
weiteren Tasten bewirken eine Veränderung des entsprechenden Zeichens. Zum
Schluß folgt noch eine Sicherheitsabfrage, mit der Sie die neuen Zeichen übernehmen können. Antworten Sie mit " N", so
werden die momentan gespeicherten Zeichen beibehalten und ins Hauptmenu
zurückgekehrt.
f) DISKMENU Im Diskmenu können Sie Ihre Window-Dateien laden und speichern. Desweiteren
können Sie Diskettenkommandos an die
Floppy senden, sowie den Window-Editor
verlassen. Hier nun die einzelnen Menupunkte:
L - LADEN
Hiermit laden Sie eine schon erstellte
Window-Datei in den Rechner. Nach anwählen des Menupunktes können Sie einen
Dateinamen angeben. Wenn Sie dieselbe
Datei schon einmal geladen hatten, so
können Sie ihren Namen mit F7 nochmals
abrufen. Geben Sie keinen Namen an, so
wird in das Diskmenu zurückgesprungen.
Ist die angegebene Datei keine Window-Datei, so wird eine Fehlermeldung ausgegeben. Desweiteren wird nach jeder Diskettenoperation der Floppystatus angezeigt.
S - SPEICHERN Hiermit speichern Sie eine Window-Datei.
Die Bedienung erfolgt analog zu " LADEN" .
K - Kommando Hiermit senden Sie ein Diskettenkommando
an die Floppy ( so können Sie z. B. Files
löschen, oder eine Diskette formatieren) . Geben Sie kein Kommando an, so
wird nur der Floppystatus angezeigt.
Desweiteren können Sie sich mit der Eingabe von "$" das Directory der eingelegten Diskette anzeigen lassen. Während
dieser Anzeige können Sie die Ausgabe
mit der SPACE-Taste anhalten, oder mit
" RUN/ STOP" abbrechen. Um sich ein spezielles Directory anzeigen zu lassen
können Sie auch sog." File-Patterns" benutzen. Hier zwei Beispiele:
"$ WIN*"--> zeigt alle Dateien, deren
Name mit " WIN" beginnt.
"$*= S"--> zeigt alle sequentiellen
Dateien an.
Z - Zurück Hiermit gelangen Sie ins Hauptmenu
zurück.
|- BASIC Nach einer Sicherheitsabfrage wird der
Window-Editor beendet.
DER WINDOW-MANAGER
Der " Window-Manager" dient dazu, die mit
dem Window-Editor erstellten Fenster von
BASIC, oder Assembler aus benutzen zu
können. Er ist ein Maschinensprache-Modul, das in den Speicher ab $ C000( dez.49152) geladen wird. Dies muß absolut geschehen, also mit ",8,1" . Als
erstes sollte Ihr Programm den Window-Manager nachladen. Diese Aufgabe sollten
Sie mit einem kleinen Ladeprogramm erledigen. Dadurch, daß der Ladevorgang die
BASIC-Variablen- Vetoren " verbiegt" ist
es nicht ratsam, den Window-Manager in
Ihrem Programm selbst nachzuladen. Am
Besten benutzen Sie den Loader, den wir
Ihnen unter dem Namen " WINDOW-LOADER" mit auf diese MD gepackt haben. Er
schreibt zunächst den Ladetext auf den
Bildschirm und füllt anschließend den
Tastaturpuffer mit " RETURN"- Zeichen ( AS-CII- Code 13) . In Zeile 30 fügen Sie bei
" IHR PROGRAMM" den Namen Ihres Programms
ein.
a) Window-Datei laden:
In Letzterem sollten Sie nun, das mit
dem Window-Editor erstellte Window-File, einladen. Dies geschieht mit einer Routine aus dem Window-Manager. Sie rufen
Sie mit ' SYS 49152," NAME"' auf." NAME" steht hierbei für den Namen Ihrer Window- Datei. Selbiger MUSS innerhalb von
Anführungszeichen stehen und kann nicht
in einer Variablen übergeben werden!
b) Windows aktivieren:
Ist eine Window-Datei einmal geladen, können die einzelnen Menus mit dem Befehl ' SYS 49155, NUMMER' aufgerufen werden." NUMMER" steht dabei für die Nummer
Ihres Windows ( die im Window-Editor angegeben wurde) . Wenn Sie zu der Nummer
den Wert 100 addieren, so wird Ihr Menu
invertiert dargestellt.
Nach dem Aufruf erscheint dann das entsprechende Menu auf dem Bildschirm, wobei der erste Menupunkt invertiert dar- gestellt wird ( sog. Auswahlbalken) . Mit
den Cursortasten können Sie diesen Balken nun im Menu bewegen. Hierbei gilt
für Pulldown-Menus, daß mit den Tasten
CRSR-Hoch und CRSR-Runter, bzw. für
Waagerechtmenus mit CRSR-Links und CRSR-Rechts, bewegt wird. Mit " HOME" springen
Sie auf den jeweils ersten Punkt eines
Menus, mit " CLR/ HOME" auf den letzen.
Drücken Sie eine beliebige Taste, so
wird der nächste Menupunkt angesprungen, der mit dem gedrücken Zeichen beginnt
( Bei Druck auf " L" wird z. B auf " Laden" gesprungen) . Ist der Menubalken positioniert, so kann mit RETURN der Menupunkt
angewählt werden. An dieser Stelle kehrt
der Window-Manager in Ihr Programm
zurück. Die Nummer des Menupunktes können Sie nun durch auslesen der Speicherstelle 2 in Erfahrung bringen (" M=- PEEK(2)") .
Mit der ON-GOTO- Anweisung des 64 er-BASICs können Sie dann ganz einfach auf
Ihre Unterroutinen verzweigen:
10 SYS 49155, nr:
20 ON PEEK(2) GOTO 100,200,300,etc.
c) Selbst-Kopie Der Window-Manager enthält auch eine
Funktion mit der Ihnen das Kopieren auf
eine andere Diskette ( z. B. Ihre Arbeitsdiskette) erleichtert wird. Nach einem
' SYS 49158' werden Sie dazu aufgefordert, eine Diskette einzulegen und RE-TURN zu drücken. Anschließend speichert
sich der " Window-Manager" selbst auf
diese Diskette.
HINWEISE FÖR ASSEMBLER-PROGRAMMIERER
In Maschinensprache lautet der Aufruf
der Routinen natürlich etwas anders.
Hier die einzelnen Aufrufe:
Laden einer Datei:
1) Filenamen im ASCII-Code ab $0340( dez.832) ablegen.
2) Filenamenlänge in $0002 übergeben.
3) Aufruf durch " JSR $ C05 F"
Aufruf eines Fensters:
1) Fensternummer im X-Register.
2) Aufruf durch " JSR $ C11 E" .
3) Menupunktnummer in $0002 .
Speichern des Steuerprogramms:
Aufruf durch " JSR $ C006"
ALLGEMEINE HINWEISE
Probieren Sie ruhig einmal das Programm
" DEMO" auf dieser MD aus. Es zeigt Ihnen
den Umgang mit den Window-Manager- Menus, und wie man auf intelligente Weise die
einzelnen Menufenster miteinander
verknüpft.
Wenn Sie einen eigenen Zeichensatz in
Ihren Menus verwenden wollen, so aktivieren Sie bitte selbigen, und geben Sie nach dem Laden des Window-Editors folgende POKE-Befehle ein:
POKE20006,groß: POKE 20007,klein
Hierbei stehen ' groß' und ' klein' für
die Werte, die Sie beim Auslesen der
Speicherstelle 53272 erhalten, wenn Sie
einmal den Groß-/ Grafikund den Groß-/ Kleinschrift-Zeichensatz eingeschaltet
haben ( umschalten mit " CBM+ SHIFT") .
Beim Window-Manager müssen Sie folgende
POKEs verwenden:
POKE 49161,groß: POKE 49162,klein
Jetzt können Sie den Window-Manager mit
Hilfe der Selbst-Kopie- Funktion (" SYS
49158") auf eine Diskette speichern, wobei die Änderungen für den Zeichensatz
mitgespeichert werden.
(ub)