home *** CD-ROM | disk | FTP | other *** search
- Anleitung zu MagicWord V1.1
- ---------------------------
-
- (c) 1992/93/94
-
- Autor: Urs Fleisch
- Leimatstr. 38
- CH-9000 St. Gallen
- E-mail: ufleisch@stud.ee.ethz.ch
-
- Dieses Programm ist Public Domain, kann und sollte daher weitergegeben
- werden, jedoch immer mit dieser Anleitung!
-
- V1.1: Ab OS 2.0: MagicWord läuft als Commodity, Unterstützung von
- ToolTypes und Workbench-Argumenten, Application-Window, Icon wird
- geschrieben.
-
- MagicWord ist ein universelles Wortersetzungs- und Makroprogramm. Im
- Gegensatz zu Einzellösungen in verschiedenen Textverarbeitungsprogrammen
- funktioniert MagicWord mit nahezu allen Textverarbeitungen, Editoren und
- anderen Programmen. Statt nun in jeder Textverarbeitung die Makros (falls
- vorhanden) zu programmieren, ist es einfacher, dies einmal mit MagicWord zu
- tun, zumal seine Makros auch mit künftigen Programmen zusammenarbeiten.
- Dem Einsatz setzen nur die Ideen des Benutzers Grenzen.
- Diese Vielseitigkeit lässt sich vor allem mit Wortersetzung nutzen. So
- kann man z.B. mit MagicWord durch Eintippen von \adr in jeder
- Textverarbeitung seine Adresse auf den Bildschirm bringen. So sind auch
- Einsätze als kleine Datenbank möglich, da man mittels Schlüsselwörtern auf
- grössere Informationen Zugriff erhält. Mittels Hashing wird dieser Zugriff
- blitzschnell und für den Anwender unbemerkbar.
-
- MagicWord kann von CLI/Shell oder Workbench aus gestartet werden. Vom CLI
- aus kann optional noch der Filename einer Makrodatei übergeben werden,
- welche dann automatisch geladen wird (Kickstart 1.3). Von der Workbench
- aus kann MagicWord auch zusammen mit Icons von MagicWord-Dateien oder durch
- Starten einer MagicWord-Datei geladen werden (OS 2.0). MagicWord benötigt
- keine Dateien auf der Systemdiskette. Jedoch wird, falls sich die
- arp.library oder bei OS 2.0 die asl.library im LIBS:-Verzeichnis befindet,
- der ARP- bzw. der ASL-Filerequester für Lade- und Speicheroperationen
- verwendet. Hat man keine arp.library bzw. asl.library, so muss man halt
- ohne komfortablen Filerequester auskommen; das Programm läuft aber auch so
- problemlos.
-
- Ab OS 2.0 funktioniert MagicWord als Commodity, d.h. sein Verhalten ist
- per ToolTypes konfigurierbar, das Programm kann unsichtbar im Hintergrund
- arbeiten und sein Fenster beim Betätigen des HotKey öffnen. Es stehen die
- üblichen Commodity-ToolTypes zur Verfügung: Beim Starten des Programms
- erscheint das MagicWord-Fenster nur, wenn CX_POPUP=YES gesetzt ist.
- Ansonsten passiert nichts auf dem Bildschirm. Das Programm wartet nun auf
- die Betätigung des HotKey. Dieser ist in der Voreinstellung "Alt links -
- Control - m". Bei Betätigung dieser Tastenkombination erscheint das
- MagicWord-Fenster. Schliesst man das Fenster wieder, so ist MagicWord
- immer noch im Speicher und kann jederzeit mit dem HotKey aufgerufen werden.
- Beenden kann man das Programm mit dem Menupunkt "Project/Quit", durch
- nochmaliges Starten bei offenem Fenster oder mit Kill im
- Commodities-Exchange-Programm.
- Die HotKey-Tastenkombination und die Priorität des Commodity können über
- die ToolTypes eigenen Bedürfnissen angepasst werden. Die Schlüsselwörter
- lauten: "CX_POPKEY" und "CX_PRIORITY". Die Voreinstellungen sind
- "CX_POPKEY=lalt control m" und "CX_PRIORITY=0". "CX_POPKEY" kann über die
- übliche Commodities-Syntax eingestellt werden, also z.B. shift, alt, caps,
- control, lshift, rshift, lalt, ralt, lcommand, rcommand usw. Der aktive
- HotKey wird in der Titelzeile des MagicWord-Fensters angezeigt.
- "CX_PRIORITY" kann von -128 bis 127 eingestellt werden. Mit dem ToolType
- "CX_POPUP=YES" kann erreicht werden, dass das MagicWord-Fenster auch beim
- Start als Commodity sofort erscheint. Nachdem man das Fenster geschlossen
- hat, kann es wieder über den HotKey aufgerufen werden. Die Voreinstellung
- ist hier "CX_POPUP=NO". Ein weiteres ToolType ist "FILE=Filename". Damit
- kann der Name einer Makrodatei angegeben werden, welche immer beim Start
- des Programms geladen werden soll.
- Bei ungültigen ToolTypes werden die Voreinstellungen benützt. Die
- ToolTypes können auch beim Start von der Shell oder einem Script (z.B.
- s:user-startup) übergeben werden, so z.B. 'Run >NIL: MagicWord
- CX_POPKEY="control f10" CX_PRIORITY=1 FILE=defs.mw'. Hier wirkt "CX_POPUP"
- als Schalter, d.h. die Angabe "CX_POPUP" (ohne "=YES"!) bewirkt ein
- Erscheinen des MagicWord-Fensters.
-
- MagicWord ein Fenster mit halber Screen-Höhe. Im Fenster ist zunächst
- nichts als der Cursor sichtbar, mit dem editiert werden kann. Dem Benutzer
- stehen folgende Menü-Funktionen zur Verfügung:
-
- Project/Open: Makrodatei laden
- Project/Save As: Im Speicher befindliche Makros abspeichern
- Project/Hide: Versteckt das Fenster, falls MagicWord als Commodity läuft.
- Project/Quit: Programm verlassen
- Macros/New: Ein neues Makro eingeben
- Macros/Delete: Ein Makro löschen
- Macros/Delete All: Alle Makros im Speicher löschen
- Macros/Show: Die im Speicher befindlichen Makros anzeigen
-
- Nun will ich genauer auf die einzelnen Menü-Funktionen eingehen.
-
- Macros/New: Diese Funktion wird wohl als erste benutzt werden. Sie
- erlaubt es, für ein neues Makro Tastendrücke aufzunehmen. Zuerst wird man
- nach dem Namen des Makros gefragt. Dieser Name kann Buchstaben, Zahlen und
- Symbole enthalten, jedoch keine Leerschläge und kein Fluchtsymbol "\"
- (Backslash), denn dieses markiert den Beginn eines Makronamens.
- Großschreibung wird nicht berücksichtigt. Durch Drücken von Backspace oder
- Del kann die Eingabe gelöscht werden, abgeschlossen wird sie mit Return
- bzw. Enter. Nun fordert das Programm dazu auf, mit dem Aufzeichnen der
- Tastendrücke zu beginnen. Von diesem Zeitpunkt an merkt sich MagicWord
- alle Tasteneingaben. Die Aufnahme wird durch Wahl des neuen Menüpunktes
- Record/finished beendet. Damit ist das Makro gespeichert und kann
- aufgerufen werden. Hierzu tippt man zuerst das Fluchtsymbol \ (Backslash)
- und dann den vorher eingegebenen Makronamen ein.
- Zur Verdeutlichung soll nun ein Beispiel folgen: Man wählt den Menüpunkt
- Macros/New (bzw. drückt Amiga rechts-N). Es erscheint die Meldung "Input
- new word!". Wir tippen nun "adr" und schliessen mit Return ab. Nun
- fordert das Programm zur Tastendruckaufnahme auf. Dies kann in jeder
- beliebigen Textverarbeitung geschehen, am sinnvollsten zeichnet man das
- Makro aber in der Textverarbeitung auf, mit der man es dann auch benutzen
- möchte. Man geht also in die Textverarbeitung und tippt "Hermann
- User<RETURN>Bitallee 256<RETURN>1024 Bytehausen<RETURN>. Dann geht man
- zurück zu MagicWord und wählt Record/finished an und es erscheint die
- Meldung, die Eingabe sei abgeschlossen. Die Aufnahme muss nicht in einer
- Textverarbeitung geschehen, sondern kann auch im MagicWord-Window
- geschehen, welches auch einen Editor zur Verfügung stellt. Dieser stellt
- aber nicht dieselben Funktionen wie eine Textverarbeitung zur Verfügung, so
- dass das Eintippen in einer Textverarbietung für längere Texte immer noch
- die bessere Lösung darstellt.
- Es werden übrigens bis zu 2000 Tastendrücke pro Makro aufgenommen. Man
- muss sich aber im klaren sein, dass z.B. Betätigen der Backspace-Taste
- nicht die Makro-Daten editiert, sondern wie jeder andere Tastendruck
- aufgenommen und dann auch reproduziert wird.
- Nun gehen wir wieder in die Textverarbeitung und tippen "\adr". Und siehe
- da: \adr wird gelöscht und durch den vorher eingegebenen Text ersetzt.
- Wichtig ist aber, dass die Eingabe fehlerfrei erfolgte. Hat man sich
- vertippt, so muss der gesamte Makroname (mit vorangehendem Backslash!)
- nochmals eingegeben werden. Abgeschlossen wird die Eingabe durch Drücken
- von Space oder Return. Die Makros können auch im MagicWord-Window
- ausprobiert werden, also auch hier kann man sich den Gang in eine
- Textverarbeitung sparen. Es ist noch anzumerken, dass die Eingabe von
- "adr" nicht genügt, da MagicWord das Fluchtsymbol zur Erkennung von Makros
- benötigt. Würde jedes getippte Wort mit dem MagicWord-Wortschatz
- verglichen, so würde dies bloss die Eingabegeschwindigkeit abbremsen.
- Die Makros werden mittels dynamischer Speicheranforderung im RAM des Amiga
- gehalten. Ein mit dem Fluchtsymbol beginnendes Wort wird mittels Hashing
- mit dem Wortschatz von MagicWord verglichen. Hierbei wird die Position des
- Eintrags aus dem Makronamen errechnet. Es wird derselbe
- Hashing-Algorithmus angewandt, den auch AmigaDOS zum Finden einer Datei
- verwendet. So ist ein schneller Zugriff auf die Makros gewährleistet, auch
- wenn viele Makros im Speicher sind. MagicWord setzt der Anzahl der Makros
- keine Grenze. Man könnte also den gesamten Arbeitsspeicher mit Makros
- füllen.
-
- Macros/Delete: Mit dieser Funktion kann ein im Speicher befindliches Makro
- gelöscht werden. Hierbei muss wiederum der Makroname eingegeben werden.
- Dieses Makro wird nun, sofern es vorhanden ist, gelöscht. Es ist noch
- anzumerken, dass dabei der vom Makro beanspruchte Speicher nicht ans System
- zurückgegeben wird. Dies geschieht erst bei Programmende oder bei der
- Funktion "Macros/Delete all".
-
- Macros/Delete All: Hiermit werden nach einer Sicherheitsabfrage alle
- Makros gelöscht. Es wird auch der gesamte, vom Programm angeforderte
- Speicher zurückgeben.
-
- Macros/Show: Es werden die Namen aller definierten Makros ausgegeben.
- Dabei werden die Namen in der Reihenfolge ihres Eintrags in der
- Hashing-Tabelle angezeigt. Der aufzurufende Text der Makros kann durch
- Eingabe des Makronamens (mit Fluchtsymbol!) angesehen werden.
-
- Project/Save As: Wenn man eine Anzahl Makros erstellt hat, so möchte man
- sie natürlich nicht mit dem Abschalten des Computers verlieren, sondern
- dauerhaft auf Diskette sichern. Diese Funktion speichert sämtliche im
- Speicher befindlichen Makros ab. Der Name jedes gespeicherten Makros wird
- angezeigt. Wenn MagicWord beim Starten die arp.library oder die
- asl.library im LIBS:-Verzeichnis gefunden hat, so kann der Name der
- Makrodatei in einem Filerequester eingegeben werden. Andernfalls steht ein
- Eingabe-Requester zur Verfügung.
- Unter OS 2.0 schreibt MagicWord seine Dateien mit Icons.
-
- Project/Open: So kann man eine abgespeicherte Makrodatei laden. Die Datei
- wird wieder mit einem Filerequester oder einem Eingabe-Requester
- ausgewählt. Auch hier werden die Namen der geladenen Makros angezeigt.
- Die Makros werden zu schon im Speicher befindlichen Makros dazugeladen;
- bereits vorhandene Makros gleichen Namens werden ersetzt. Beim Start vom
- CLI/Shell kann diese Funktion bereits aufgerufen werden, indem man
- MagicWord den Namen der Makrodatei als Parameter übergibt (Kickstart 1.3)
- bzw. mit dem FILE-ToolType (OS 2.0).
- Ab OS 2.0 ist das MagicWord-Fenster ein Application-Window. Dateien lassen
- sich also einfach laden, indem man ihre Icons über das MagicWord-Fenster
- zieht.
-
- Project/Hide: (ab OS 2.0) Mit diesem Menupunkt oder durch Schliessen des
- Fensters verschwindet das MagicWord-Fenster und erscheint erst wieder bei
- Betätigen des HotKey. MagicWord läuft dann einfach im Hintergrund weiter.
-
- Project/Quit: MagicWord kann durch Wahl dieses Menüpunktes verlassen
- werden. Danach sind natürlich keine Makros mehr verfügbar.
-
- Damit wären sämtliche Menüfunktionen des Programms besprochen. Nun folgen
- noch einige Tips zu MagicWord:
-
- Wird MagicWord zur Wortersetzung verwendet, so können die definierten Worte
- in nahezu jeder Textverarbeitung, jedem Editor oder DTP-Programm verwendet
- werden. Von vielen getesteten Programmen aus dieser Sparte waren lediglich
- "SuperED C" und "Beckertext I" nicht in der Lage, die von MagicWord
- generierten Tastendrücke (verkettete InputEvent-Strukturen) aufzunehmen.
- Dies kommt wahrscheinlich daher, dass sie die Tasten über Intuition
- abfragen (IDCMP-Flags). Intuition ist aber ziemlich vergesslich: Sie kann
- nur 4 InputEvents, und somit auch Tastendrücke, behalten. Und damit wären
- wir bei der Benutzung von MagicWord für Befehle in einem Programm. Man
- könnte in einem Makro Menüpunkte durch ihre entsprechenden Shortcuts
- aufrufen. Dies kann aber häufig problematisch werden, da Intuition ,wie
- gesagt, nicht sehr viele Tastendrücke verarbeitet. "WordPerfect" hat hier
- ein eigenes Konzept (F-Tasten), und somit kommt es auch nicht zu Problemen.
- Auch bei "Beckertext II" kann man über die Esc-Befehle die Funktionen des
- Programms leicht mit der Tastatur und somit auch mit MagicWord erreichen.
- Da diese beiden Programme schon von Haus aus eine leistungsfähige
- Makroverwaltung mitbringen, ist es sinnvoller, programmspezifische
- Befehlsmakros mit dieser zu erstellen und MagicWord für universelle
- Wortersetzungsaufgaben heranzuziehen.
- Die Menüfunktionen werden ja meist mit der Maus angewählt. Da auch alle
- Mausfunktionen mit der Tastatur simuliert werden können, liegt es auf der
- Hand, dass man MagicWord auch als "magische" Maus verwenden kann. Dabei
- muss aber auf einige Dinge geachtet werden:
-
- * Der Mauspfeil kann mit einer Amiga-Taste und den Pfeiltasten bewegt
- werden. Drückt man solch eine Tastenkombination längere Zeit, so bewegt
- sich der Mauspfeil schnell. Einzelne Tastendrücke bewegen ihn aber nur
- wenig weit. Drückt man nebst einer Amiga-Taste noch eine Shift-Taste, so
- bewegt sich der Pfeil pro Tastendruck viel weiter.
- Mit MagicWord sollte man nur einzelne Tastendrücke aufzeichnen. Hierzu
- sollte man immer (auch um die rechte Maustaste zu simulieren) nur die linke
- Amiga-Taste (lAmiga) drücken, denn die rechte ergibt beim Abspielen des
- Makros wiederholte Tastendrücke. Für grosse Mauszeiger-Bewegungen sollte
- man lAmiga und Shift drücken.
- Bevor man den Mauszeiger bewegen will, sollte man ihn positionieren.
- Beispielsweise kann man mit der Maus den Pfeil in die rechte untere
- Bildschirmecke bewegen und ihn dann bei der Makroaufnahme mittels
- lAmiga-Shift-Pfeil links und lAmiga-Shift-Pfeil rauf in die linke obere
- Bildschirmecke bewegen. So ist man sicher, dass der Pfeil in die obere
- linke Bildschirmecke gelangt, egal wo er vorher war. Von dieser Position
- kann nun der Pfeil ans gewünschte Ziel bewegt werden.
- => Pfeil bewegen: Positionieren und mit lAmiga-Shift-Pfeiltasten bzw.
- lAmiga-Pfeiltasten mit einzelnen Tastendrücken den Pfeil bewegen.
-
- * Für das Drücken der linken Maustasten genügt es nicht, lAmiga-lAlt zu
- drücken, da beides Qualifier-Tasten sind. Es muss daher noch eine normale
- Taste dazu gedrückt werden, am besten eine funktionslose wie F1. Für einen
- Doppelklick auf die linke Maustaste muss zwischen den Tastendrücken noch
- eine normale Taste allein gedrückt werden.
- => linke Maustaste: lAlt-lAmiga-F1 drücken
- Doppelklick: lAlt-lAmiga-F1, F1, lAlt-lAmiga-F1 einzeln hintereinander
- drücken.
-
- * Die rechte Maustaste wird wohl nur zur Menüwahl verwendet. Man
- positioniert den Pfeil also oben auf der Menüleiste. Dann wird der Pfeil
- wie vorher bewegt, nur dass nun zusätzlich noch die rechte Alt-Taste
- betätigt wird. Oberhalb des gewünschten Menüpunktes lässt man dann alle
- Tasten los. Auch hier sollten die Tasten einzeln gedrückt werden. Grosse
- Strecken springt der Mauszeiger durch zusätzliches Drücken der Shift-Taste.
- => Menüwahl mit rechter Maustaste: den Pfeil mit lAmiga-rAlt-Pfeiltasten
- auf den gewünschten Menüpunkt lenken, dann Tasten loslassen.
-
- Soviel zur Maussimulation. Nun noch weitere Tips:
-
- * Ein Makro kann im CLI/Shell eine Batch-Datei ersetzen. Hierzu nimmt man
- einfach einige oft benötigte Befehle als Makro auf.
-
- * Zum Aufrufen eines Makros muss kein Editor vorhanden sein. Man kann ein
- Makro auch blind, z.B. auf den Workbench-Screen, tippen.
-
- * Oft benötigte Adressen können durch Eingabe eines einzigen Wortes, z.B.
- des Namens oder Vornamens der betreffenden Person, aufgerufen werden;
- ebenso auch der eigene Briefkopf.
-
- * Oft benötigte Anreden u.a. wie Hallo, Sehr geehrter, Viele Grüsse...
- müssen auch nicht mehr eingetippt werden.
-
- * Grundgerüste für Programme in verschiedenen Programmiersprachen können
- auch als Makro definiert werden, ebenso Rahmen aus Sternen für Titel und
- Kommentare.
-