home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Fred Fish Collection 1.5
/
ffcollection-1-5-1992-11.iso
/
ff_disks
/
300-399
/
ff332.lzh
/
Helper
/
Helper_D.dok
< prev
next >
Wrap
Text File
|
1990-03-20
|
7KB
|
178 lines
HELPER V1.01
============
Der Helper ist ein Utility zum Erhellen des Schattendaseins der HELP-Taste.
Der Aufruf erfolgt vom CLI aus mit »Run« oder besser »RunBack«. Wird als
Argument ein "?" angegeben, so zeigt der Helper seine möglichen Optionen an
(diese werden weiter unten noch genauer erklärt). Der Helper benötigt die
"req.library" von Colin Fox und Bruce Dawson. (Great work, Colin and Bruce!
I don't know, how I ever made it without that masterpiece of Amiga-
programming-art!)
Das Programm installiert einen InputEventHandler mit der Priorität 51, der
die Aufgabe hat, beim Betätigen der Helptaste dem Hauptprogramm ein Signal
zu senden. Das Hauptprogramm bringt dann einen Requester auf den
Bildschirm, der in etwa folgendes Aussehen hat:
+---------------------------------------------------+
| Was möchtest du? |
| +------------+ +---------------+ +--------------+ |
| | Notizblatt | | Farben ändern | | Text ansehen | |
| +------------+ +---------------+ +--------------+ |
+---------------------------------------------------+
Durch Anklicken des dem eigenen Wunsche am nächsten kommenden Feldes kann
nun eine der drei Funktionen des Helpers aktiviert werden.
Farben ändern:
==============
Dazu ist nicht viel zu sagen. Man erhält den Farb-Requester der Requester-
Library auf dem aktuellen Screen, und kann somit auch in Programmen, die
keine Farbwahlmöglichkeit anbieten, eine andere Farbkonstellation
erstellen. Die Funktionen eines Farb-Requesters werden wohl allgemein
bekannt sein, so daß ich darauf an dieser Stelle nicht weiter eingehen
werde.
Notizblatt:
===========
Ich glaube nicht, daß es hier nötig ist, über den Sinn eines Notizblattes
zu meditieren. Für das Notizblatt wird ein 640*256er-Fenster geöffnet,
wenn möglich auf dem aktuellen Screen (wie auch die anderen Requester
soweit möglich auf jenem Screen erscheinen, in welchem die Helptaste
betätigt wurde). Sind die Screendimensionen des aktuellen Screens nicht
groß genug für das Fenster, dann wird es auf der Workbench geöffnet und
gleichzeitig der Workbenchscreen in den Vordergrund geschaltet. Das
Notizblatt ist wirklich nur ein "Blatt", als Schreibfläche steht nur der im
Fenster sichtbare Bereich zur Verfügung. Geschlossen wird das Notizblatt
wie gewohnt über das CloseGadget in der linken oberen Ecke. Der Inhalt des
Notizblattes bleibt über das Schließen hinweg erhalten.
Folgende Tastenfunktionen sind implementiert:
- CURSOR, BACKSPACE, DELETE und RETURN: Standard
- SHIFT-CURSOR: Anfang/Ende der Zeile bzw. oberer/unterer Rand in der
Spalte.
- CTRL-K: Zeile löschen
- CTRL-L: Ganzen Text löschen
- CTRL-E: Zeichen einfügen
- CTRL-S: Blatt speichern
- CTRL-Z: Blatt zurückholen (laden)
- CTRL-U: Uhrzeit einsetzen
- CTRL-D: Datum einsetzen
Notizblatt-Dateien werden per Voreinstellung im logischen Gerät "T:"
abgelegt und gesucht. Sie haben ein eigenes Format und sind durch die
Endung ".note" identifizierbar.
Text ansehen:
=============
Das ist die eigentliche und ursprüngliche Funktion, die ich dem Helper
zugedacht hatte. Wer ist noch nicht in der Situation gewesen, plötzlich
mal schnell einen Blick in irgendein Dokumentationsfile werfen zu müssen?
Die bisherige Prozedur war sicherlich von der Art Shell starten - Text
suchen - Text anzeigen (mit Editor oder More). Daß dies eine umständliche
und bisweilen den Arbeitsablauf sehr störende Prozedur ist, muß wohl nicht
extra betont werden.
Der Helper kann Folgendes tun, um diesen Mißstand zu beseitigen: Beim
Aktivieren der Funktion »Text ansehen« wird ein Datei-Requester angezeigt,
dessen Voreingestelltes Verzeichnis das logische Gerät "HELP:" ist. Hier
kann nun eine Datei (evtl. aus einem Unterverzeichnis, etwa
"HELP:ARP_Docs") ausgewählt werden. Diese Datei wird nun an ein vorher
definiertes Programm übergeben. Dies ist im Normalfall
"SYS:Utilities/More", und für den Fall, daß man sich gerade auf einem
anderen Screen befand, wird auch automatisch der Workbenchscreen in den
Vordergrund geschaltet.
Um diese Funktion flexibler zu gestalten, kann man dem Helper beim Aufruf
zwei Parameter mit auf den Weg geben, nämlich "-mPRG" und "-f0/1" (in
dieser Reihenfolge). Mit der Option "m" kann ein Anzeigeprogramm (de Facto
ein beliebiges Programm) bestimmt werden, daß an Stelle von More benutzt
werden soll. Die Option "f" bestimmt dann, ob beim Aufruf des Programms
der Workbenchscreen nach vorn geholt werden soll ("1") oder nicht ("0", für
die Programme, die einen eigenen Screen öffnen).
Man kann sich also auf seiner Platte ein Verzeichnis anlegen, in dem sich
die wichtigsten Dokumente und Hilfstexte befinden. Diesem Verzeichnis wird
dann in der startup-sequence via Assign der logische Name "HELP:"
zugewiesen. Für die Nichtgeplätteten User gibt's natürlich die
Möglichkeit, eine Disk mit Namen "HELP" anzulegen und auf dieser die
benötigten Dateien unterzubringen. Man kann diese Disk dann vor dem Aufruf
der »Text ansehen«-Funktion, oder wenn der Comp "Volume HELP" verlangt,
einlegen.
Also, ihr Programmierer da draußen: Verschwendet keine Zeit auf Extramenüs
für Hilfsseiten oder dergleichen, packt einfach den Helper mit bei!
startup-sequence:
=================
Die startup-sequence kann zum Beispiel folgendermaßen aussehen:
...
assign HELP: DH0:HilfsTexte
runback Helper -mSYS:Tools/Less -f0
...
BREAK_CTRL_C:
=============
Der Helper kann im Wartezustand (d.h. wenn keine Funktion aktiv ist) durch
eine normale Unterbrechung der Klasse C beendet werden. Also zum Beispiel
mit Hilfe des Break-Kommandos. Beispiel:
1> status
Process 2: Loaded as command: status
Process 3: Loaded as command: C:Helper
1> break 3
1> status
Process 2: Loaded as command: status
1>
Warnung:
========
Der Helper hängt sich an das erste Fenster des aktuellen Screens an. Das
bedeutet, daß alle in dem Aufruf folgenden Requester sich auf dieses
Fenster beziehen. Das bedeutet auch, daß man seinen Amiga todsicher nach
Indien schickt, wenn man dieses Fenster schließt, solange der Helper
irgendwie sichtbar ist. Alles klar?
Allgemeine Info:
================
Der Helper (Version 1.01) ist Public Domain, er darf frei kopiert,
weitergegeben und über Mailboxen und ähnliche Einrichtungen verteilt
werden, SOLANGE das Executable, diese Dokumentation und der Sourcecode
unverändert und zusammen bleiben. Die NTSC-Version unterscheidet sich von
der "normalen" durch NTSC-Fenstergröße im Notizblatt und englische Texte in
den Requestern.
Entwickelt und kompiliert wurde der Helper mit Manx Aztec C, mit 16 Bit
Integern und Small Code/Data.
Der Helper darf NICHT von militärischen Organisationen und deren
Beauftragten benutzt werden.
Wenn der Helper einem kommerziellen Programm beigefügt werden soll, so ist
eine EINMALIGE Gebühr von 100 DM zu bezahlen. Die req.library ist FreeWare
und steht einer solchen Nutzung nicht im Wege.
Anregungen und Kritik gehen an:
Michael Balzer
Wildermuthstraße 18
5828 Ennepetal 14
W-GERMANY
Happy Programming!