

                            GSExec V 1.33
                       The GEMScript Executer

                               Kontakt:
                      nc-beckerha3@netcologne.de


        Allgemeines
        -----------

GSExec ist ein GEMScript-Interpreter, der aus meinem Texteditor-
Projekt JAnE hervorgegangen ist. Der Editor JAnE enthielt als
Erweiterungswerkzeug einen Interpreter fr die C-hnliche
Programmiersprache SCEleton. Im Zuge meiner Vorarbeiten zur
Neustrukturierung von JAnE habe ich einerseits den Sprachumfang von
SCEleton in wesentlichen Bereichen ausgebaut und andererseits die
Grundlagen fr eine sowohl aktive als auch passive
GEMScript-Untersttzung hinzugefgt. Eines (spten) Abends kam dann
die unausweichliche Idee, der SCEleton-Interpreter knne im
GEMScript-Umfeld auch separat seinen Nutzen beweisen.

    Gelieferte Dateien

GSEXEC.APP     Das eigentliche Programm
GSEXEC.MSG     Diese Datei enthlt die Textbasis fr die diversen
               Fehlermeldungen, Warnungen etc.
GSEXEC.HYP     Doku im ST-Guide-Format
SAMPLES        Dieser Order enthle einige Programmbeispiele


        Rechtliches
        -----------

Status der Software

GSExec ist Freeware. Sie haben die Mglichkeit, das Programm kostenlos
zu nutzen und weiterzugeben. Bitte entfernen oder verndern Sie bei
der Weitergabe keine Dateien der Originaldistribution. Wenn Sie
eigene Dateien hinzufgen wollen, machen Sie bitte deren Herkunft
hinreichend deutlich.

Verantwortung und Haftung

Bei der Programmierung und Erprobung der Programme des Programmpaketes
GSExec und bei der Zusammenstellung der Dokumentation wurde mit grter
Sorgfalt vorgegangen. Dennoch ist es nicht mglich, jeglichen Fehler
auszuschlieen. Ich, Harald Becker, bernehme keine Garantie oder
juristische Verantwortung oder irgendeine Haftung fr die Nutzung
dieser Informationen bzw. Programme, fr deren Wirtschaftlichkeit
oder fehlerfreie Funktionen fr einen bestimmten Zweck. Ferner kann
ich fr Schden die auf eine Fehlfunktion von Programmen
zurckzufhren sind, nicht haftbar gemacht werden.

Warenzeichen

In diesem Handbuch werden geschtzte Handelsnamen und Warenzeichen
verwendet, ohne diese im Einzelnen zu kennzeichnen. Insbesondere
betrifft dies Bezeichnungen anderer Soft- und Hardwareprodukte. Aus
ihrer Verwendung in diesem Handbuch kann nicht auf ihre freie
Verwendbarkeit geschlossen werden.


        Neues in Version 1.10
        ---------------------

Die nderungen in Verson 1.10 betreffen im wesentlichen den 
Sprachumfang:

- Der Datentyp "assoziative Liste" (kurz auch: "hash") wird
untersttzt. Dabei handelt es sich um eine Liste, deren Elemente
anstelle von Indexnummern ber Namen identifiziert werden. Man kann
sich das wie einen RECORD in Pascal oder struct in C vorstellen,
auer da die Feldnamen dynamisch zur Laufzeit erzeugt bzw.
hinzugefgt werden knnen.

- Dazu passend gibt es ein neues Schleifenkonstrukt: Die Schleife
'foreach [Element] in [hash]' durchluft alle Indexnamen, die in
einer assoziativen Liste vorhanden sind.

- Der Suchoperator '?' prft, ob ein gegebener Name in einer
assoziativen Liste enthalten ist.

- Die Behandlung von Laufzeitfehlern kann jetzt ber die Statements
'try' und 'catch' erfolgen. Die bisherige Methode mittels 'errortrap'
wurde gestrichen.

- Es kamen natrlich auch einige Laufzeitfunktionen hinzu:

    throw():        Auslsen einer Exception
    exception():    Abfrage von nheren Informationen zu einem
                    Laufzeitfehler
    argv():         Abfrage der Startparameter von GSEXEC.APP
    hash():         Initialisieren einer assoziativen Liste
    Findfirst():    Neue Version von Fsfirst(): Liefert einen
                    Verzeichniseintrag als assoziative Liste zurck,
                    incl. zustzlicher Timestamps, falls vorhanden.
    Findnext():     Neue Version von Fsnext, s. o.
    globstore():    Legt einen globalen Speicherblock mit Daten an, 
                    die ber eine AES-Message an andere Anwendungen
                    verschickt werden sollen.
    globread():     Liest einen solchen Speicherblock aus.
    globfree():     Gibt einen mit 'globstore()' angelegten Block
                    frei.
    cookie():       Fragt einen Cookie ab.
    matchname():    Prft einen Dateinamen gegen eine Suchmaske.


        Neues in der Version 1.30
        -------------------------

In dieser Version ist im wesentlichen eine Reihe von Funktionen
hinzugekommen, die sich mit der Nutzung von GEM befassen. Den grten
Brocken bilden dabei die Routinen zur Ansteuerung von Dialogboxen:

    dlg_new():      Anlegen einer Dialogbox
    dlg_add():      Hinzufgen eines Elementes
    dlg_set():      Setzt eine Eigenschaft eines Elementes
    dlg_get():      Fragt eine Eigenschaft eines Elementes ab
    dlg_do():       Zeigt die Dialogbox an
    dlg_delete():   Entfernt die Dialogbox aus dem Speicher

Im Zusammenhang mit diesen Routinen verweise ich auf die
entsprechenden Seiten im beiliegenden Hypertext und auf das
Beispielprogramm CALC.SCL, das diese Aufrufe am Beispiel eines
kleinen Taschenrechners im Zusammenhang demonstriert.

Weitere neue Laufzeitfunktionen sind:

    scrp_get():         Fragt den Pfad zum GEM-Clipboard ab
    scrp_clear():       Lscht das GEM-Clipboard
    popup():            Zeigt ein Popup-Men an
    wait():             Wartet eine bestimmte Anzahl von 
                        Millisekunden
    applbroadcast():    Verschickt eine GEM-Nachricht an alle
                        parallel laufenden Programme


        Neues in der Version 1.33
        -------------------------

Hauptschlich Bugfixes. In der Dialogbibliothek waren einigen
Eigenschaften der Objekte nicht nachtrglich vernderbar;
insbesondere kann der Inhalt einer Listbox jetzt auch zur Laufzeit
des Dialoges modifiziert werden.
