GFA-SHELL Version 1.05
von Gregor Duchalski, Baueracker 15a, W-4690 Herne 1, Germany
                                      (ab 01.07.93: 44628 Herne) 
------------------------------------------------------------------------------

Systemkonfiguration...

 Die GFA-SHELL luft auf jeder offiziellen TOS-Version inkl. MultiTOS und
 in jeder Auflsung. Die Verwendung einer Festplatte ist ratsam, aber keine
 Grundvoraussetzung zum Betrieb.

Programmzweck...

 Vielleicht hat jeder GFA-BASIC-Programmierer in seinem Leben schon mal eine
 Shell geschrieben. Leider hat aber keine von den sicher existierenden
 super-praktischen und sauber programmierten Shells den Weg auf meine Fest-
 platte gefunden. Getrieben von Ungestm und Abenteuerlust machte ich mich 
 daher auf, dieses Manko zu beheben...
 
 Diese Shell verfgt ber einige sehr praktische, aus dem tglichen berle-
 benskrampf des GFA-BASIC-Programmierers heraus entstandene Features.

Programmstatus...

 Die GFA-SHELL ist Freeware, die Weitergabe erwnscht. Der Vertrieb ber PD-
 Versender ist ohne mein Einverstndnis verboten!
 Folgende Dateien mssen weitergegeben werden:

  -GFASHELL.PRG  Die Programmdatei.
  -GFASHELL.RSC  Die Resource-Datei.
  -GFASHELL.TXT  Dieser Text.
  -GFASHELL.UPL  Der Text fr den Mailbox-Upload, thanx.

 Sollte Ihnen dieses Programm gefallen, so wrde ich mich ber eine wie
 immer gearteten Geldspende freuen. Meine Bankverbindung:
 Konto-Nr.: 65 304 30, BLZ: 430 700 61, Deutsche Bank Herne

------------------------------------------------------------------------------

Bedienung...

 Zu Beginn ffnen sich zwei Fenster: Eines davon, im folgenden Pfad-Fenster
 genannt, enthlt die aktuell eingestellten Namen fr die GFA-, C-, ASS-
 RSC-Dateien und den Namen des zu erzeugenden Programmes. Die Eintrge knnen
 mit der Maus angeklickt werden und rufen dann die entsprechenden Meneintrge
 auf. Ein Doppelklick auf den PRG-Namen entspricht dem Anklicken des Buttons
 'Extender' im 'Linkeroptionen'-Dialog und wechselt zwischen dem PRG- und ACC-
 Namen. Hierzu kann auch die <SPACE>-Taste gedrckt werden.
 
 Das zweite Fenster ist fr die Ausgaben von Compiler und Linker gedacht.
 Beide Fenster knnen frei verschoben und ihre Positionen im INF-File
 gespeichert werden.
 
 In fast jeder Dialogbox gibt ein Druck auf die Taste <HELP> eine erklrende
 Beschreibung der jeweiligen Situation aus, auerdem lt sich Shell weitgehend
 intuitiv bedienen (naja, hoffe ich zumindest). Ich mchte daher nur einige 
 Punkte herausgreifen, die mir einer weitergehenden Erklrung zu bedrfen 
 scheinen:

Ausgabe-Umlenkung...

 Die Ausgaben von Compiler und Linker werden in eine Datei umgelenkt. Nach
 Beendigung des Compilier-Vorgangs wird diese Datei im Fenster ausgegeben.
 Der Pfad und Name der Datei kann im Dialog 'Zugriffspade', Punkt 'Temporr'
 frei gewhlt werden und sollte sich nach Mglichkeit auf einer Ramdisk
 befinden.

Projekt-Dateien...

 Fr jede GFA-Datei kann ber den Menpunkt 'PRJ speichern' ein Projektdatei
 gespeichert, die alle relevanten Einstellungen der Shell enthlt. Diese 
 Datei wird spter beim Auswhlen der GFA-Datei automatisch geladen und
 die Shell-Umgebung damit an das jeweilige Projekt angepat. Z.B. sehr
 ntzlich, wenn Sie fr einige GFA-Dateien eine LINE-A-frei-gepatchte Lib
 verwenden, ein umstndliches Auswhlen der passenden Lib entfllt.

 Der Shell kann bei Programmstart eine PRJ-Datei in der Kommandozeile bergeben
 werden, diese wird dann automatisch geladen.
 
Funktionstasten-Belegung...

 Auf die 10 Funktionstasten knnen beliebige GFA- oder PRJ-Dateien gelegt 
 werden. Ein Drcken dieser Taste entspricht dann quasi dem Anwhlen des 
 entsprechenden Menpunktes mit anschlieender Dateiauswahl. Eine eventuell 
 vorhandene Projektdatei wird bei der Auswahl einer GFA-Datei selbstverstnd-
 lich ebenfalls geladen.

Dies und das...

 Die Men-Shortcuts knnen Sie mit einem geeigneten RCS an Ihre Bedrfnisse
 anpassen. Achtung, MENUX-Fans: Es ist auch mglich, den Menpunkt 'Erstellen'
 mit <F10> zu belegen, Shortcuts haben nmlich immer Vorrang.

 INF- und PRJ-Dateien sind kompatibel, zum Laden wird exakt die gleiche
 Routine benutzt. Was bedeutet das fr Sie? Ganz einfach: Sollte eine 
 Einstellung default-mssig nicht im PRJ-File gespeichert werden, die Sie 
 aber gerne dort sehen wrden, knnen Sie sie einfach mit einem geeigneten
 ASCII-Editor einfgen. 

 Der Menpunkt 'Erstellen' ist mit einem Hkchen versehen, wenn die Shell er-
 kennt, da die ausgewhlte GFA-Datei lteren Datum als das zugehrige Programm
 ist, eine erneute Compilierung also berflssig wre. 

Noch Fragen?...

 F: Wie kann eine eingestellte Datei (z.B. im Dialog 'Zugriffspfade') wieder 
    entfernt werden? Wenn ich in der Dateiauswahl "Abbruch" anwhle, passiert
    gar nichts? 
 A: Ganz einfach, lassen Sie dazu in der Dateiauswahlbox den File-
    namen einfach leer (ggf. <ESC> drcken) und whlen Sie "OK" an. 

------------------------------------------------------------------------------

Eigenwerbung...

 Die Routinen fr 'fliegende Dialoge', die dieses Programm benutzt, knnen
 Sie fr Ihr GFA-BASIC erhalten. Sie sind Shareware und liegen z.B. in
 der Maus DO unter dem Namen 'GFA_FLY4.TOS'. Nhere Infos erhalten Sie unter
 der oben bzw. unten angegebenen Adresse bei mir.

GFA-BASIC unter MultiTOS...

 Diese Shell luft prima unter MultiTOS, schade da sich GFABASIC 3.x nicht 
 genauso verhlt. Zumindest im gewissen Mae kann man aber die Lauffhigkeit
 verbessern bzw. berhaupt ermglichen: Interpreter, Compiler und Linker mssen
 mit dem Memory-Protection-Flag SUPER versehen werden (geht z.B. mit GD-FLAG).
 Um einigermaen mit dem Interpreter arbeiten zu knnen, sollte ihm zustzlich
 mit einem geeigneten Programm  (z.B. PS_CONTRL) die hchste Prioritt (20) 
 gegeben werden.

 Die Shell erkennt, wenn sie unter MultiTOS gestartet wurde und pat einige
 Eigenschaften daran an. So wird z.B. keine Zeilennummer whrend des Compilie-
 rens ausgegeben.
 
------------------------------------------------------------------------------

Release-History...

1.00 (07.03.93): 
 Erste ffentliche Version.

1.01 (08.03.93):  
 -Der eingestellte BASIC-Interpreter-Zugriffspfad wird jetzt auch im 
  Projekt-File gespeichert.

1.02 (10.03.93):
 -Neue Menpunkt 'Information...' gibt einige Infos ber das aktuelle
  Projekt aus (Mike Steffl). 

1.03 (11.03.93):
 -Die AES-Nachricht WM_BOTTOMED wird untersttzt, d.h. ein Fenster kann durch
  Anklicken der Titelleiste in den Hintergrund gelegt werden. Momentan nur
  mit WINX 2.1 mglich.

1.04 (24.03.93):
 -Beim Starten von Programmen wurde unter allen TOS-Versionen WIND_NEW()
  aufgerufen, diese Funktion existiert aber erst seit TOS 1.04.

 -Beim Belegen der Funktionstasten wurde die alte Datei nicht in der Datei-
  auswahlbox angezeigt.

 -Das File zur Ausgabeumlenkung wird, sofern nicht anders angegeben, unter 
  "F_FORCE.TXT" im Ordner der Shell angelegt. Es hat sich gezeigt, da einige
  Anwender mit dem Fehler -34 nichts anzufangen wuten (Lothar Buchen).

 -Auch die vom Compiler erzeugte Objektdatei wird defaultmig unter
  'GFABASIC.O' im Shellordner angelegt.

 -Die Datei zur Ausgabeumlenkung und das vom Compiler erzeugte O-File
  knnen jetzt wahlweise nach dem Compilieren gelscht werden.

 -Neuer Menpunkt 'Shell...' ermglicht den Aufruf einer Kommandozeilen-
  shell, die sich bereits im Speicher befindet, Stichwort shell_p-Vektor
  (Michael Heng).

 -Die Belegung der Funktionstasten wird jetzt stndig im Fenster angezeigt,
  Anklicken mit der Maus entspricht dem Drcken der jeweiligen Taste.

 -Die Projekt-Information kann jetzt wahlweise immer nach dem Compilieren
  ausgegeben werden, Einstellung in 'Allgemeine...' (Mike Steffl).

 -Dem aktuellen Programm kann beim Starten bzw. Testen eine Kommandozeile 
  bergeben werden. Dazu gibt es den neuen Menpunkt 'Kommandozeile...', die 
  Zeile wird auch im PRJ-File gespeichert (Michael Heng).

 -Redraw-Probleme nach der Dateiauswahlbox mit normalen Dialogen beseitigt
  (Arne Schween).

 -Programme bekommen beim Start jetzt eine Kopie des aktuellen Environments
  bergeben (Arne Schween).

1.05 (15.05.93):

 -Die Shell untersttzt jetzt das von einigen Programmierern praktizierte
  Source-Backup-Verfahren. Dabei wird die GFA-Datei bei jeder neuen Version
  mit aufsteigenden Nummern versehen, also z.B. 'TEST1.GFA', 'TEST2.GFA' usw.
  Fr ein solches Projekt ist nun nur noch eine PRJ-Datei ntig. Wenn der Name
  der GFA-Datei nmlich die Wildcards '?' oder '*' enthlt (also z.B. 
  'TEST??.GFA'), sucht die Shell automatisch das neueste File heraus
  (Stefan Mnch).
 
 -Das Dropdownmen wurde umstrukturiert. Durch die im Laufe der Zeit hinzuge-
  kommenen Menpunkte hatte die bersicht doch etwas gelitten. 
 
 -Neue Menpunkte: 'Hilfe...' und 'Fenster wechseln', ihre Funktion drfte 
  klar sein.

 -<SPACE> wechselt zwischen ACC - PRG.

 -Nach dem Compilieren & Linken wird nun noch "-->OK" ausgegeben, um die
  Beendigung des Compilier-Vorgangs optisch zu untermalen (Stefan Mnch).

 -Der Menpunkt 'Erstellen' wird nun nicht mehr disabled, wenn ein Programm
  bereits compiliert wurde. Stattdessen wird der Eintrag mit einem Hkchen
  versehen, bleibt aber anwhlbar (Stefan Mnch).

 -Der neue Menpunkt 'PRJ laden...' ermglicht das seperate Laden einer 
  Projektdatei. 

 -Der neue Menpunkt 'Parameter laden...' ermglicht das nachtrgliche Laden 
  einer GFASHELL.INF-Datei. Bei 'Parameter speichern...' kann daher nun 
  auch ein Dateiname ausgewhlt werden.

 -Wird in 'Zugriffspfade' eines der drei frei whlbaren Programme neu belegt,
  so wird auch die vorher fr diese PRG-Position eingestellte Kommandozeile 
  gelscht (Michael Heng).

 -Das aktuell eingestellte PRJ-File kann in der GFASHELL.INF-Datei gespeichert
  werden (Einstellung in 'Allgemeine Parameter'. Beim nchsten Start wird es
  dann automatisch geladen (Michael Heng). 

 -Ein Aufruf der Dateiauswahlbox ber normalen Dialogen konnte noch immer
  zu unschnen Redraw-Problemen fhren. Jetzt sind die aktiven Dialoge immer
  intakt.

 -Beim Start von Programmen wird jetzt zustzlich ein SHEL_WRITE gemacht. Falls
  diese Programme ihren Namen und Kommandozeile ber SHEL_READ ermitteln, 
  erhalten sie nun gltige Werte.

------------------------------------------------------------------------------
Probleme, Fragen und Bugreports knnen Sie auch per Modem loswerden:
eMail an GREGOR DUCHALSKI @ DO im Mausnetz.

Send bugreports and other recommendations to eMail-adress:
Gregor_Duchalski@do.maus.de

Herne 1, 15.05.93
