Programmier-Tools OMLib Professional und EasyGEM: BASIC forever

Jetzt sind sie komplett, die Easy-GEM-Tools für Omikron-Basic; »EasyGEM« für Fenstertechnik und das neue »OMLib Professional« für Dialogboxen, Pull-down- und Pop-up-Menüs, Desktops und »Fliegende Dialoge«

Einfache Objektgestaltung: meist genügt ein Mausklick!

OMLib Professional ist eine neue leistungsfähige Prozeduren-Library von Ralf Schläfer, erschienen im Hüthig Verlag. Ideal für die direkte Einbindung in OMI-KRON.BASIC-Programme, wobei keine tieferen Kenntnisse der gefürchteten GEM-Programmierung erforderlich sind. Ohne große Anstrengung entwickeln Sie damit normgerechte, komfortabel zu bedienende GEM-Programme.

Freilich verspricht genau das bereits EasyGEM. In der Praxis bleiben allerdings viele Wünsche offen. So rundum zufriedenstellen kann eigentlich nur die Fenstertechnik. Hier gelang es, wirklich alles, was möglich ist, in angenehm komplexen Prozeduren so durchschau-bar anzubieten, daß auch weniger versierte Programmierer auf kürzestem Wege fehlerfreie Fensterprogramme zaubern können.

Aber die Dialogboxen stoßen recht bald an Grenzen: EasyGEM ermöglicht nur einen Objekttyp pro Zeile, Radio-Buttons lassen sich nur in horizontalen Zeilen anlegen, die grafische Ausgestaltung beschränkt sich auf die Rechtecke der Buttons, man kann keine gruppierenden Rahmen ziehen, keine Füllmuster und Farben wählen, Ein- und Ausgabefunktionen lassen sich nicht in Boxen setzen, es gibt nur eine Schriftgröße und vor allem textliche Vorgaben innerhalb der Eingabefelder können nur am Anfang der Zeile stehen. Und für die Restaurierung des Untergrunds einer sich schließenden Dialogbox muß separat gesorgt werden. Von Pop-up-Menüs, eigenen Desktops und »Fliegenden Dialogboxen« gar nicht zu reden.

Objektbäume per Ressourcen

Dies alles erfüllt nun OMLib Professional! Auch diese Library folgt dem Rezept, die vielen GEM-Aufrufe mit ihren schwer überblickbaren Parameterschlangen in möglichst wenigen, dafür mächtigen Befehlen zu konzentrieren. Sie liegt im schnell ladbaren Token-Code vor und wird beim Programmstart geladen — zusammen mit GEM.LIB bzw. EASY-GEM.LIB.

Bedingt durch den wesentlich höheren Aufwand, den die Objektbäume von Dialogboxen und Desktops erfordern, arbeitet OMLib Professional mit Ressourcedateien. Ein Resource Construction Set wird mitgeliefert: RCSPLUS von D.Luda Software. Endlich mal ein RCS in deutscher Sprache und mit klarer Anleitung! Für Icons und andere grafische Erweiterungen gibt’s einen eingebauten Icon- und Image-Editor.

Die neue Prozedurenbibliothek umfaßt gut 27 KByte und wird auf einer mit 650 KByte gut gefüllten Diskette zusammen mit einem 125 Seiten starken, ausführlichen Handbuch geliefert.

Das Teilefenster aus OMLib Professional
Beispiel einer Eingabemaske, die automatisch addiert
Attribute für Schriften und Tabulatoren

Die Library enthält über 100 neu konzipierte Befehle und Funktionen, die in ihrer Syntax leicht verständlich sind. Grundlage allen Komforts bildet ein neuer Form_Do-Manager. Durch eine neugeschriebene Form_Do-Routine hat der Autor nicht nur Fehler und Unzulänglichkeiten der TOS-eigenen Form-Do-Prozedur ausgemerzt, sondern eine Reihe neuer Bedienungs- und Benutzungsmöglichkeiten eingeführt. Zum Beispiel lassen sich versehentlich angeklickte Radio-Buttons de-selektieren und beim Beenden von Texteingaben bleibt der Cursor erhalten. Auch die Sondertasten arbeiten komfortabel, fast wie in einem Texteditor, Sonderzeichen und internationaler Zeichensatz sind Standard und mit Text belegte Funktionstasten können eingespielt werden. Eingegebene Zahlen lassen sich gleich an Ort und Stelle mit den Grundrechenarten weiter verarbeiten und formatiert ausgeben.

Fliegende Dialoge und Pop ups

Neun Aufrufe steuern die Dialogboxen. Das schließt die Restaurierung des überdeckten Hintergrunds ebenso mit ein wie die Möglichkeit, »Fliegende Dialoge« und Pop-up-Menüs zu programmieren. Weitere 26 Befehle steuern all die sichtbaren Veränderungen, die sich in einer Dialogbox während des Programmlaufs abspielen können. Über 17 Funktionsaufrufe kann man die jeweils aktuellen Einstellungen abfragen und weiterverarbeiten.

Im anderen Teil des Dialogmanagers findet man 27 Aufrufe, mit denen vornehmlich die Funktionen des ersten Teils ihre Arbeit verrichten. Sie stehen dem Programmierer für die Realisierung eigener Ideen zur Verfügung. Mit ihnen lassen sich alle Objekt- und TEDINFO-Strukturen ermitteln und ändern.

Das Resource Construction Set

Auch wer noch nie mit einem Resource Construction Set gearbeitet hat, wird aufgrund der guten Handbuch- und Pull-down-Menüführung mühelos zum Ziel kommen. Hier ein kurzer Überblick für Unerfahrene am Beispiel einer Dialogbox:

Sie wählen die gewünschte Ressourcenart, also den Objektbaumtyp. Dabei besteht die Wahl zwischen Menü, Hinweisbox oder einem »Freien Baum« oder eben einem Dialog. Daraufhin öffnet sich die entsprechende Arbeitsfläche. Aus einem Teilefenster ziehen Sie mit der Maus die benötigten Objekte: Buttons — mit und ohne Text, String-und Textfelder, editierbare Felder — mit und ohne Rahmen sowie Icons und Bilder.

Sie plazieren die Objekte wunschgemäß, stellen die Größe ein — wahlweise mit der Maus oder pixelgenau durch Zahleneingabe, editieren die textlichen Inhalte und legen Füllmuster und Farben fest.

Über Definitionsboxen weisen Sif den Objekten die gewünschten Eigenschaften — also einfacher Button, Radio-, Exit- oder Default-Button, editierbar, selektierbar usw. und Zustände — vorselektiert, mit Schatten, outlined und dgl., zu. Für die Datenein- und -ausgabe lassen sich Masken für formatierte Anzeige oder Beschränkungen auf erlaubte Zeichen- oder Zahlenbereiche festlegen.

Für jedes aktive Objekt muß dann noch ein Name eingegeben werden. Diese Namen bilden die Brücken vom Objektbaum mit all seinen Bestandteilen hin zum Programm, das ja über die Befehle der OMLib-Library mit unseren Objekten — z.B. der Dialogbox — korrespondieren soll. Einfacher geht’s wirklich nicht!

Das Menümodul

Das Menümodul lädt zur Gestaltung eines eigenen Desktops geradezu ein. Die Realisierung ist einfach: Im Resourcefile als Wurzelobjekt »DESKTOP« abgespeichert, wird das Ganze ins eigene Programm geladen. Mit Hilfe einer besonderen Syntaxform des Menu()-Befehls lassen sich wie gewohnt Menüpunkte und Icons mit Maus oder Tastatur aktivieren. Selbstverständlich sind da Funktionen wie »Häkchen setzen« und »disabeln«. Sie können auch mehrere Pulldown-Menüs verwenden. Viele Möglichkeiten machen allerdings noch kein gutes Programm — weniger ist manchmal mehr.

OMLib macht ’s möglich: fliegende Dialoge in Omikron Basic

Zugabe

Anfänger werden sich über die vielen kleinen Module freuen, die Schläfer der Library beigefügt hat. Nicht jeder hat gleich Informationen zur Hand, wie ein Programm feststellen kann, ob ein Drucker annahmebereit ist oder wie man schnell mal Scan-Code und Shift-Bit gedrückter Tasten erfährt oder den Wochentag eines eingegebenen Datums.

Icons und Images

Auch wer noch nie mit einem Resource Construction Set gearbeitet hat, wird aufgrund der guten Handbuch- und Pull-down-Menüführung dennoch mühelos zum Ziel kommen.

Wem die Standardauswahl an Objekten im Teilefenster nicht ausreicht, der kann mit Hilfe des eingebauten IMAGE- und ICON-Editors unbegrenzt weiter gestalten und runde, dreieckige, pfeil-förmige und sonstige Buttons konstruieren.

Der Bildeditor arbeitet im Bitmustermodus. Die IMAGE-Objekte sitzen transparent über dem Untergrund, die Icon-Objekte besitzen zwei Bitmuster, »Icon & Maske« und überdecken den Untergrund. Die Icons lassen sich innen und auf einer Bildleiste beschriften.

Während der Aufbauphase kann man immer wieder in einen Testmodus schalten, ohne das RCS-Programm zu verlassen. Dort lassen sich alle Funktionen inkl. Zeicheneingabe austesten und die Attribute und Zustände kontrollieren. RCSPLUS läßt diesen Test nur zu, wenn mindestens ein Exitbutton eingebaut ist.

Am Schluß müssen die benötigten Resource-Dateien ausgegeben werden. Zunächst speichert RCSPLUS die ganze Struktur der Resource in einem RSC-File ab (Name.RSC). Darin werden alle Objekte mit einer Kennnummer identifiziert. Weil Nummern beim Programmieren nur schwer zuzuordnen sind, wurden alle aktiven Objekte bei ihrer Anlage benannt. Wir brauchen also eine Liste, in der diese Namen den Kennummern zugewiesen werden. Die Listen heißen »Include-Files«.

Für die Einbindung in OMIKRON.BASIC wurde ein komfortabler Weg eingebaut: RCSPLUS erzeugt ein INCLUDE-Modul. Das ist eine eigenständige Prozedur, die u.a. diese Namensliste enthält und unter »Name.OBS« abgespeichert ist. Das Include-Modul wird mit dem Aufruf Resource_Init() aktiviert. Diese Prozedur holt die Resource-Datei »Name.RSC« aus dem Speicher, und schon können Desktop, Menüs oder Dialogboxen aufgerufen werden.

OMLib Professional ist wohl eine der wichtigsten Libraries, die dem OMIKRON. BASIC-Programmierer z. Zt. zur Verfügung stehen. Der Preis von 129 Mark mag zunächst abschrecken, allerdings rechtfertigt die Kombination der Library plus dem Resource Constuction Set diesen Betrag. Eine enorme Hilfe für jeden, der viel mit Omikron-Basic arbeitet. (mn)

Vertrieb: Hüthig Buch-Verlag GmbH, Im Weiher 10, 6900 Heidelberg, Preis 129 Mark

Der Komfort

Diese kleine Wegbeschreibung offenbart freilich noch nicht die vielen anderen komfortablen Arbeitshilfen von RCSPLUS. Sie können hier auch nur stichwortartig aufgeführt werden:

Eine gerasterte und damit auflösungsunabhängige Positionierung von Objekten. Alternativ dazu freie Objektpositionierung.

Selektion mehrerer Objekte gleichzeitig.

Gemeinsames Verschieben und Kopieren mehrerer Objekte.

Gemeinsame Größenänderung mehrerer Objekte.

Löschen einzelner und mehrerer Objekte. Widerruf der jeweils letzten Löschaktion. Löschen eines Elternobjekts, ohne die Kinder zu entfernen.

Sortieren eines Objektbaums nach verschiedenen Kriterien, um ein gefällig fließendes Hinzeichnen zu erreichen.

Unsichtbarmachen einzelner Objekte.

Klemmbrett zum Zwischenspeichern von Objekten.

Darstellung nichtaktueller Menüzeilen in heller Schrift.

Alternativer Aufruf der meisten Menüpunkte über Tastenkombinationen.

Gleichzeitige Bearbeitung von bis zu vier verschiedenen Ressourcen in je einem eigenen Fenster.

Der Gag dabei ist, daß Objekte von Fenster zu Fenster übertragen werden können. Das kann die Arbeit an mehreren Dialogboxen, die gleiche oder ähnliche Bestandteile enthalten, rationalisieren. Man kann eines der Fenster mit einem vorgefertigten Ressourcenvorrat, den man auf Platte vorrätig halten kann, bestücken und sich dann aus diesem erweiterten Teilefenster bedienen. Auch Übernahmen aus anderen Resourcedateien lassen sich leicht tätigen. Wer Teile aus anderen Programmen verwendet, spart sich auf diese Art und Weise eine Menge überflüssiger Arbeiten. Schließlich besteht keinerlei Veranlassung, das Rad jedesmal wieder neu zu erfinden. Keine Scheu vorm Kopieren: Auch Profis arbeiten so. (Gensel/mn)


Klaus Gensel
Links

Copyright-Bestimmungen: siehe Über diese Seite