home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The CDPD Public Domain Collection for CDTV 4
/
CDPD_IV.bin
/
fish
/
911-930
/
ff923
/
rawinsert
/
rawinsert.dok
< prev
next >
Wrap
Text File
|
1994-05-04
|
5KB
|
124 lines
------------------------------------------------------------------------
RawInsert 1.0 (25.7.93) (w) Franz.Schwarz@mil.ka.sub.org - Public Domain
------------------------------------------------------------------------
RawInsert ist ein Hilfsprogramm für die Shell ab Amiga-OS2.04 oder höher,
das es Ihnen ermöglicht, beliebigen Text und andere Eingabe-Ereignisse wie
Mausbewegungen, Diskettenwechsel, Maus-Tasten-Betätigungen, etc, in den
Eingabestrom einzufügen. Dies ist besonders bei der Arbeit mit Stefan
Becker's Toolmanager nützlich, da so viele GUI-Applikationen ganz oder
teilweise von ARexx-Skripten oder Stapelverarbeitungsdateien aus gesteuert
werden können.
Die Kommandozeilen-Argument-Schablone von RawInsert lautet:
"DELAY=MILLISECS=MS/K/N,DESCR=D/S,FROM=FILE/K,TEXT/F"
Dabei bedeuten:
DELAY=MILLISECS=MS/K/N - Hier kann angegeben, wieviel Zeit in Millisekunden
zwischen dem Einfügen von zwei InputEvents in den Eingabestrom gewartet
werden soll. Voreingestellt ist 2, gültig sind Werte von 0 (keine Pause)
bis 999.
DESCR=D/S - falls angegeben, interpretiert RawInsert die Quelldaten nicht
als reinen ASCII-Text (Voreinstellung), sondern als Eingabe-Ereignis-
Beschreibungsdaten. Diese bestehen dabei aus normalem ASCII-Text, der
zusätzlich folgende ESC-Sequenzen enthalten kann:
\n - Zeilenende (wird als Wagenrücklauf eingefügt)
\r - Wagenrücklauf
\0 - nul
\t - horizontaler Tabulator
\f - Seitenende
\xff - ASCII-Code 0xff (f steht für beliebiges Hex-Nibble)
\' - Apostroph
\" - Anführungszeichen
\< - linke spitze Klammer '<'
\\ - Backslash '\'
Zudem können einzelne Eingabe-Ereignisse innerhalb spitzer Klammern
entsprechend Commodities' ParseIX() - Syntax spezifiziert werden.
Gültige Eingabe-Ereignis-Beschreibungsdaten wären z.B.
'<lcommand a><tab>Hello!<alt -capslock numericpad enter>\x06\t\5*x\<12\n'
FROM=FILE/K - Hier kann eine Datei angegeben werden, aus der die
Quell-Daten gelesen werden sollen. Darf nicht zusammen mit TEXT/F
angegeben werden.
TEXT/F - Die Quelldaten als Kommandozeilen-Argument. Inkompatibel mit
FROM=FILE/K.
Falls keines der Argumente FROM=FILE/K und TEXT/F angegeben wurde, wird der
aktuelle Eingabekanal als Daten-Quelle herangezogen.
Zeilenende-Zeichen (0x0a) werden von RawInsert automatisch in
Wagenrückläufe umgewandelt. Weiterhin werden Wagenrückläufe immer als
Betätigung der einfachen Wagenrücklauftaste in den Eingabestrom eingefügt,
sofern diese in der aktuellen System-Standard-Tastenbelegung mit
dem Wagenrücklauf-Zeichen belegt ist.
Falls der DESCR=D/S-Schalter angegeben wird, schlägt RawInsert fehl, meldet
dies, und retourniert 20 (Dos.fail), sobald ein Zeichen oder eine
Eingabe-Ereignis-Beschreibung innerhalb spitzer Klammern nicht korrekt in
ein Eingabe-Ereignis (InputEvent) umgesetzt werden kann. RawInsert fügt in
diesem Fall auch kein einziges Eingabe-Ereignis in den Eingabestrom ein.
Ohne Anführung des DESCR=D/S-Schalters setzt RawInsert hingegen, falls für
ein ASCII-Zeichen mit der aktiven System-Standard-Tastaturbelegung kein
entsprechendes Eingabe-Ereignis generiert werden kann, die Arbeit beim
nächsten Zeichen fort, und terminiert nach der Umsetzung des letzten
Zeichens mit dem Rückgabewert 5 (Dos.warn).
Falls Fehler beim Lesen der Quelldaten auftreten, terminiert RawInsert
und gibt Dos.fail (20) zurück, ohne zuvor die bereits gelesenen
Quelldaten bearbeitet zu haben.
Zu den Quelldaten ist zu bemerken, daß sämtliche NUL-Zeichen (0x00)
ausgefiltert werden, d.h. Sie können NUL nur dann in den Eingabestrom
einfügen, wenn Sie den DESCR=D/S-Schalter spezifizieren und das NUL-Zeichen
mit einer ESCape-Sequenz oder mit einer Eingabe-Ereignis-Beschreibung
innerhalb spitzer Klammern umschreiben.
Implementationshinweis: RawInsert verwendet die vom Autor geschriebenen
Module CxLib (entspricht Commodore's cx.lib) und BlackMagic (universelles
Modul - in RawInsert werden v.a. dessen Routinenn für dynamische Strings
verwendet)
RawInsert ist reentrant, 'pure'. Da es zudem trotz seiner
Leistungsfähigkeit ziemlich klein ist, wird empfohlen, es resident zu
machen. ('resident c:RawInsert')
RawInsert ist Public Domain, d.h., es ist frei kopierbar und verwendbar,
der Autor überträgt das Urheberrecht am Programm der Allgemeinheit. Eine
wie auch immer geartete Haftung des Autors für Schäden, die unmittelbar
oder mittelbar von dem Gebrauch von RawInsert herrühren, ist schon deshalb
selbstverständlich definitiv ausgeschlossen. Die Verwendung von RawInsert
erfolgt auf Ihr eigenes Risiko. In angelsächsischem Jargon wird dies
gemeinhin als 'Use At Your Own Risk' bezeichnet.
RawInsert geschrieben und nicht urheberrechtlich geschützt, 1993 by
Franz Schwarz, Mühlenstraße 2, D-78591 Durchhausen, Germany.
uucp: Franz.Schwarz@mil.ka.sub.org; Fido: 2:241/7506.18
Anregungen, Kritik, Flames, Geld, Gold, Disketten, Bier, Schokolade,
nette Postkarten, e-mails, etc. sind jederzeit herzlich
willkommen!;-)
Bye
Franz 'Blacky' Schwarz
-Girlfriend Is Better - Talking Heads-