home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Frozen Fish 2: PC
/
frozenfish_august_1995.bin
/
bbs
/
d09xx
/
d0923.lha
/
RawInsert
/
RawInsert.dok
< prev
next >
Wrap
Text File
|
1993-10-07
|
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-