faceVALUE: Profi-Oberflächen mit GFA-BASIC

Die letzten Straßenlaternen sind verloschen. In der Wohnung von Hans Müller ist nur noch das Summen eines Kühlschranks zu hören. Doch da ist noch etwas: Das leise Klappern einer Tastatur und fieberhaftes Blättern in großen Büchern. Hans sitzt immer noch an seinem Computer - und er wird wohl noch lange zu tun haben. Denn Hans arbeitet an einem sauberen GEM-Programm mit Menüzeile, Dialogboxen und Fenstern. Diese langwierige Aufgabe blieb bisher kaum einem ATARI-Programmierer erspart. Jetzt soll ,faceVALUE‘ die Einbindung der Oberfläche komplett erledigen. Ob das brandneue Programm diese schwierige Aufgabe gut bewältigt, sollte ein Test zeigen.

Mit dem neuen Produkt aus Norwegen muß der Programmierer nur noch die gewünschten Dialoge und Menüs in einem Resource-Editor erzeugen. faceVALUE erzeugt anhand der Resource-Datei ein lauffähiges GFA-BASIC-Programm, das alle Elemente der Oberfläche darstellt und verwaltet. Lediglich die eigentlichen Aufgaben des Programms werden »von Hand« programmiert. So kann man sich auf das Wesentliche konzentrieren, während faceVALUE die komplette Arbeit mit der Oberfläche übernimmt. Auch der Unkundige soll mit faceVALUE hübsche Oberflächen spielend programmieren können.

Bild 2: Dieser Demonstrationsdialog zeigt einige Objekttypen.

Alles sauber

Die von faceVALUE erzeugten Programme sind völlig GEM-gerecht, was eine Grundlage für gutes Funktionieren auf allen TOS-kompatiblen Systemen ist. Denn ohne GEM läuft nichts auf neuen Systemen wie MagiCMac oder dem Gemulator. Auch sind mit faceVALUE modernste Oberflächenelemente wie Scroll-Boxen, Pop-ups oder Menüs in Fenstern sehr einfach realisierbar.

Was geht?

Nach dem Start präsentiert sich faceVALUE als praktische Shell, die auch einen Resource-Editor, den GFA-Interpreter sowie einen Texteditor nachstarten kann. So richtig los geht’s aber, wenn man eine Resource-Datei in faceVALUE einlädt. Der Hauptdialog erscheint: Hier kann man Einsteilungen zur Programmerzeugung festlegen. FaceVALUE bietet verschiedenste Fenstertypen zur Verwendung im eigenen Programm an. Bei Programmstart sind bereits verschiedene Typen vordefiniert: Tool-Strip und Tool-Bar-Fenster haben am linken bzw. oberen Rand Bereiche mit beliebigen Werkzeugen oder anderen Objekten. Menüfenster bieten ein zusätzliches Menü, das am oberen Fensterrand dargestellt wird. Auch lassen sich die üblichen Fensterelemente wie die Infozeile oder die vertikalen und horizontalen Slider für die einzelnen Fenstertypen aus- und einschalten. FaceVALUE baut auf Wunsch zusätzliche Funktionen wie z.B.GEM-Image-Laderoutinen oder Drag&Drop-Unterstützung ein, die der Programmierer benutzen kann. Diese Routinen sind in Kasten 2 aufgeführt.

Bild 3: Die Menüs von faceVALUE

Hilfe!

Das beste Programm macht wenig Freude, wenn man nicht weiß, wie man es bedient. Eine sogenannte »kontextsensitive Hilfefunktion« hilft dem Benutzer sofort weiter. Man kann sie mit faceVALUE einfach realisieren: faceVALUE kann nämlich ein Grundgerüst erzeugen, aus dem eine Dokumentation für das allseits bekannte Hypertext-Accessory ST-GUIDE erstellt werden kann. Dieses Grundgerüst enthält Hilfsseiten für alle Dialoge samt Graphiken dieser Dialoge! Das mit faceVALUE erzeugte Programm kann ST-GUIDE aufrufen, wenn der Benutzer Hilfestellung wünscht, und schon wird ein passender Hilfstext angezeigt. Dazu muß der Benutzer ST-GUIDE installiert haben.

Programmieren...

Nachdem wir alle Einstellungen in faceVALUE getätigt haben, lassen wir eine LST-Datei erzeugen, die im GFA-Interpreter eingeladen wird. Nun kann die eigentliche Arbeit am Programm beginnen. Die Aktionen, die das Programm ausführen soll, sobald der Benutzer ein Element der Oberfläche betätigt hat, werden nun programmiert. Die faceVALUE-Routinen sehen hierfür einige Prozeduren vor, die gut dokumentiert sind. Um zu zeigen, wie man mit faceVALUE Programm schreibt, werden einige Routinen exemplarisch in Kasten 3 vorgestellt. Die mit faceVALUE erzeugten Programme verwenden in der Regel nonmodale Dialoge. Das bedeutet, daß mehrere Dialoge gleichzeitig auf dem Bildschirm stehen können. Etwas Umgewöhnung könnte also nötig werden.

Bild 4: Hier wird die Programmerzeugung konfiguriert.

Resource-Erzeugung

Die Resource, die man mit einem Re-source-Editor wie Interface erzeugen muß, sollte bestimmte Objekte enthalten - hier zeigt sich faceVALUE leider engstirnig. So müssen faceVALUE-Programme grundsätzlich ein Menü enthalten. Pop-ups wie Texte für Alert-Dialoge werden in gesonderten Bäumen mit fest vorgegebenen Namen angelegt. Das Aussehen der Dialoge ist jedoch nicht festgelegt - ein Pluspunkt für faceVALUE.

Nach einer Änderung der Resource-Datei will faceVALUE auch seine Routinen im Programm anpassen. Deshalb kann man eine Update-Datei abspeichern, die die geänderten Routinen enthält. Man kann nun einfach diese Prozeduren im Programm austauschen, und schon hat man ein Programm, das zur neuen Resource-Datei paßt.

# Mögliche Oberflächenelemente

Unterstützte Standards

GEM-Standards

Überzeugen konnten vor allen Dingen die umfangreichen Möglichkeiten, verschiedenste Resource-Objekte sowie viele gängige Standards (Kasten 2) zu implementieren. Hier kann faceVALUE auch erfahrenen GFA-Programmierern unter die Arme greifen. Diese zusätzlichen Routinen müssen aber nicht ins Programm übernommen werden, so daß man auch faceVALUE-Programme kleinhalten kann.

Dokumentation

Die Dokumentation zu faceVALUE ist in englischer Sprache gehalten. Ein Hypertext macht das „Nachschlagen" einfach. Dieser Hypertext erklärt auch wichtige Grundsätze, die bei der GEM-Programmierung zu beachten sind. Zusätzlich liefert Columbus Soft eine deutsche Einleitung. Die Anleitung ist sehr übersichtlich und erwähnt alles, was man wissen muß, um schnell zum Ziel zu kommen. Auch einige Beispielprogramme fehlen nicht.

Man nehme...

Um faceVALUE einsetzen zu können, benötigt man den GFA-BASIC-Interpreter und -Compiler in der Version 3.5 oder 3.6(TT) sowie ein Resource-Construction-Set wie z.B. Interface. faceVALUE selbst läuft auf allen TOS-kompatiblen Computern.

Bild 5: So konfiguriert man die einzelnen Fenstertypen.

Fazit

faceVALUE - das ist eine Revolution für GFA-BASIC-Benutzer. Noch nie zuvor war es auch Anfängern möglich, sofort in die GEM-Programmierung einzusteigen. Noch nie konnten Profis so praktisch und schnell arbeiten. Der unschlagbare Preis soll auch jenen, die nur für kleinere Aufgaben programmieren möchten, die Anschaffung ermöglichen. Und die ist jede Mark wert.

David Reitter

Bezugsadresse: Columbus Soft Klnzlgweg 1 64297 Darmstadt Preis: 99- DM

faceVALUE 1.0

Positiv:
Unterstützung verschiedenster Objekttypen und GEM-Standards
erstellt saubere Anwendungen
kann Online-Hilfen erstellen
sehr günstiger Preis

Negativ:
etwas Umgewöhnung nötig

# So programmiert man mit faceVALUE

user_rsc_interact
Wird aufgerufen, sobald der Benutzer einen Menüpunkt gewählt oder ein Objekt In einem Dialog oder einer Toolbox betätigt hat. In der Prozedur wird über eine SELECT/CASE-Anweisung verzweigt, und der Programmierer kann hier die entsprechenden Reaktionen elnfügen.

user_window_content
Wird aufgerufen, wenn der Fensterinhalt eines Fensters neugezeichnet werden soll. Der Programmierer muß sich lediglich darum kümmern, daß der Fensterinhalt komplett dargestellt wird. Um Redraw-Anweisungen des GEM und darum, daß evtl, nur ein Teil des Fensters dargestellt werden soll, kümmern sich bereits die faceVALUE-Routinen.

user_on_open
Wird einmal bei Programmstart aufgerufen

window_close_ok
Wird aufgerufen, wenn ein Fenster geschlossen werden soB. Hier kann man Rückfragen an den Benutzer einbauen.

alert_wind(default,index,insert$)
Man kann diese Prozedur aufrufen, um einen Hinweisdialog darzustellen.

window_array(lndex,x)
Dieses Feld enthält Informationen über die einzelnen Fenster, wie Ausmaße und Handle.



Aus: ST-Computer 02 / 1996, Seite 38

Links

Copyright-Bestimmungen: siehe Über diese Seite