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 >
Text File  |  1994-05-04  |  5KB  |  124 lines

  1.  
  2.  ------------------------------------------------------------------------
  3.  RawInsert 1.0 (25.7.93) (w) Franz.Schwarz@mil.ka.sub.org - Public Domain
  4.  ------------------------------------------------------------------------
  5.   
  6. RawInsert ist ein Hilfsprogramm für die Shell ab Amiga-OS2.04 oder höher,
  7. das es Ihnen ermöglicht, beliebigen Text und andere Eingabe-Ereignisse wie
  8. Mausbewegungen, Diskettenwechsel, Maus-Tasten-Betätigungen, etc, in den
  9. Eingabestrom einzufügen.  Dies ist besonders bei der Arbeit mit Stefan
  10. Becker's Toolmanager nützlich, da so viele GUI-Applikationen ganz oder
  11. teilweise von ARexx-Skripten oder Stapelverarbeitungsdateien aus gesteuert
  12. werden können.
  13.  
  14.  
  15. Die Kommandozeilen-Argument-Schablone von RawInsert lautet:
  16.  
  17.   "DELAY=MILLISECS=MS/K/N,DESCR=D/S,FROM=FILE/K,TEXT/F"
  18.                        
  19.  
  20. Dabei bedeuten:
  21.  
  22. DELAY=MILLISECS=MS/K/N - Hier kann angegeben, wieviel Zeit in Millisekunden
  23. zwischen dem Einfügen von zwei InputEvents in den Eingabestrom gewartet
  24. werden soll.  Voreingestellt ist 2, gültig sind Werte von 0 (keine Pause)
  25. bis 999.
  26.  
  27. DESCR=D/S - falls angegeben, interpretiert RawInsert die Quelldaten nicht
  28. als reinen ASCII-Text (Voreinstellung), sondern als Eingabe-Ereignis-
  29. Beschreibungsdaten.  Diese bestehen dabei aus normalem ASCII-Text, der
  30. zusätzlich folgende ESC-Sequenzen enthalten kann:
  31.       \n - Zeilenende (wird als Wagenrücklauf eingefügt)
  32.       \r - Wagenrücklauf
  33.       \0 - nul
  34.       \t - horizontaler Tabulator
  35.       \f - Seitenende
  36.       \xff - ASCII-Code 0xff (f steht für beliebiges Hex-Nibble)
  37.       \' - Apostroph
  38.       \" - Anführungszeichen
  39.       \< - linke spitze Klammer '<'
  40.       \\ - Backslash '\'
  41. Zudem können einzelne Eingabe-Ereignisse innerhalb spitzer Klammern
  42. entsprechend Commodities' ParseIX() - Syntax spezifiziert werden.
  43. Gültige Eingabe-Ereignis-Beschreibungsdaten wären z.B. 
  44. '<lcommand a><tab>Hello!<alt -capslock numericpad enter>\x06\t\5*x\<12\n'
  45.  
  46. FROM=FILE/K - Hier kann eine Datei angegeben werden, aus der die
  47. Quell-Daten gelesen werden sollen.  Darf nicht zusammen mit TEXT/F
  48. angegeben werden.
  49.  
  50. TEXT/F - Die Quelldaten als Kommandozeilen-Argument.  Inkompatibel mit
  51. FROM=FILE/K.
  52.  
  53. Falls keines der Argumente FROM=FILE/K und TEXT/F angegeben wurde, wird der
  54. aktuelle Eingabekanal als Daten-Quelle herangezogen.
  55.  
  56. Zeilenende-Zeichen (0x0a) werden von RawInsert automatisch in
  57. Wagenrückläufe umgewandelt.  Weiterhin werden Wagenrückläufe immer als
  58. Betätigung der einfachen Wagenrücklauftaste in den Eingabestrom eingefügt,
  59. sofern diese in der aktuellen System-Standard-Tastenbelegung mit
  60. dem Wagenrücklauf-Zeichen belegt ist.
  61.  
  62. Falls der DESCR=D/S-Schalter angegeben wird, schlägt RawInsert fehl, meldet
  63. dies, und retourniert 20 (Dos.fail),  sobald ein Zeichen oder eine
  64. Eingabe-Ereignis-Beschreibung innerhalb spitzer Klammern nicht korrekt in
  65. ein Eingabe-Ereignis (InputEvent) umgesetzt werden kann.  RawInsert fügt in
  66. diesem Fall auch kein einziges Eingabe-Ereignis in den Eingabestrom ein.
  67.  
  68. Ohne Anführung des DESCR=D/S-Schalters setzt RawInsert hingegen, falls für
  69. ein ASCII-Zeichen mit der aktiven System-Standard-Tastaturbelegung kein
  70. entsprechendes Eingabe-Ereignis generiert werden kann, die Arbeit beim
  71. nächsten Zeichen fort, und terminiert nach der Umsetzung des letzten
  72. Zeichens mit dem Rückgabewert 5 (Dos.warn).
  73.  
  74. Falls Fehler beim Lesen der Quelldaten auftreten, terminiert RawInsert
  75. und gibt Dos.fail (20) zurück, ohne zuvor die bereits gelesenen 
  76. Quelldaten bearbeitet zu haben.
  77.  
  78. Zu den Quelldaten ist zu bemerken, daß sämtliche NUL-Zeichen (0x00)
  79. ausgefiltert werden, d.h.  Sie können NUL nur dann in den Eingabestrom
  80. einfügen, wenn Sie den DESCR=D/S-Schalter spezifizieren und das NUL-Zeichen
  81. mit einer ESCape-Sequenz oder mit einer Eingabe-Ereignis-Beschreibung
  82. innerhalb spitzer Klammern umschreiben.
  83.  
  84.  
  85.  
  86. Implementationshinweis:  RawInsert verwendet die vom Autor geschriebenen
  87. Module CxLib (entspricht Commodore's cx.lib) und BlackMagic (universelles
  88. Modul - in RawInsert werden v.a.  dessen Routinenn für dynamische Strings
  89. verwendet)
  90.  
  91.  
  92.  
  93. RawInsert ist reentrant, 'pure'.  Da es zudem trotz seiner
  94. Leistungsfähigkeit ziemlich klein ist, wird empfohlen, es resident zu
  95. machen.  ('resident c:RawInsert')
  96.  
  97.  
  98. RawInsert ist Public Domain, d.h., es ist frei kopierbar und verwendbar,
  99. der Autor überträgt das Urheberrecht am Programm der Allgemeinheit.  Eine
  100. wie auch immer geartete Haftung des Autors für Schäden, die unmittelbar
  101. oder mittelbar von dem Gebrauch von RawInsert herrühren, ist schon deshalb
  102. selbstverständlich definitiv ausgeschlossen.  Die Verwendung von RawInsert
  103. erfolgt auf Ihr eigenes Risiko.  In angelsächsischem Jargon wird dies
  104. gemeinhin als 'Use At Your Own Risk' bezeichnet.
  105.  
  106.  
  107.  
  108.     RawInsert geschrieben und nicht urheberrechtlich geschützt, 1993 by
  109.        Franz Schwarz, Mühlenstraße 2, D-78591 Durchhausen, Germany.
  110.           uucp: Franz.Schwarz@mil.ka.sub.org; Fido: 2:241/7506.18
  111.  
  112.  
  113. Anregungen, Kritik, Flames, Geld, Gold, Disketten, Bier, Schokolade,
  114. nette Postkarten, e-mails, etc.  sind jederzeit herzlich
  115. willkommen!;-)
  116.  
  117.  
  118.     Bye
  119.       Franz 'Blacky' Schwarz
  120.  
  121.  
  122.                -Girlfriend Is Better - Talking Heads-
  123.  
  124.