Dokumentation zu MREC 1.0, dem Tastatur-Makrorecorder
Copyright 1994 Berauer Computer Cossebaude
Dieser Makrorekorder ist ein aufzeichnendes wie auch wiedergebendes System
fr die Steuerung anderer Programme. Gem der Problemstellung wurde
dieses Programm nicht als TSR (<engl: terminate and stay resident, residentes
Programm nach Beendigung) entwickelt, sondern als Vater-Programm. Das
bedeutet, da MREC in der Lage ist, ein anderes Programm als sog. Child-
Proze zu starten und whrend seiner Abarbeitung die Kontrolle ber die
Tastatureingaben des Child-Programms zu berwachen und zu emulieren.
Vorteilhaft ist bei dieser Art des Steuerprogramms, da es keine De-
installationsprobleme geben kann (es sei denn, man startet ein TSR als
Child) und da der "Treiber" sich selbst bei Programmbeendigung mit
entfernt.
Mindestanforderungen:
- IBM-PC 8088 oder kompatibler auf BIOS-Ebene
- MS-DOS 3.3 oder vergleichbares Betriebssystem
- PC- oder MF2-Tastatur mit deutschem Tastaturtreiber KEYB oder kompatiblem
- 3 Kilobyte konventioneller oder hoher Speicher neben dem Nutzprogramm
...sollte wohl jeder haben!
Wie funktioniert das Programm im Innern prinzipiell? (Experten-Hinweis)
Zunchst wird geprft, ob die Makrodatei existiert oder nicht. Je nach
Ergebnis wird dann aufgenommen oder wiedergegeben. Bei Wiedergabebetrieb
wird das File in einen internen Puffer gelesen und gewandelt, soda
jede Taste 2 Bytes bentigt.
Kurz vor dem Start des Childs, was je nach Option /x direkt das Programm
oder die command.com ist, wird der Tastaturinterrupt Int16 angezapft und
das Child gestartet. Die Anzapfung bewirkt dann die Emulation der
Tastendrcke bzw. das Mitschneiden.
Nach Beendigung des Programms wird (im Record-Fall) dieser 2-Byte-je-Taste-
Puffer gewandelt und geschrieben. Damit dieser Programmteil nicht
whrend der Laufzeit des Childs im Speicher verbleibt, wird er
erst nach seiner Beendigung als Overlay nachgeladen. Das Overlay ist
hierbei keine weitere Datei, sondern in MREC.COM enthalten.
Die Form der Eingabezeile ermglicht ein und denselben Programmaufruf
zum Anlernen wie zur Geisterfahrt. Das kann Tipparbeit sparen helfen.
Die ASCII-Steuerdatei enthlt editierbare ASCII-Zeichen und kann mit jedem
Standard-Text-Editor, wie z.B. EDIT.COM, TURBO.EXE oder NE.EXE bearbeitet
werden.
Hinweis: Bei 'besseren' Texteditoren, wie Word oder WordPerfect, mu
die Ausgabedatei "normaler DOS-Text", niemals "Dokument" sein!
Kommandozeilen-Parameter von MREC:
/? oder /h Online-Hilfe mit Kurzhinweisen zu allen Parametern
/r erzwingt selbst bei vorhandener Tastaturmakrodatei die Aufnahme.
Gleiches wrde das vorherige Lschen jener Datei bewirken
/x startet das Child-Programm ohne den Befehlsinterpreter command.com
(bzw. einen mit %comspec% definierten anderen Kommandointerpreter).
Standardmig wird der Kommandointerpreter geladen, der die Suche
der Datei im Pfad und die korrekte Ausfhrung von Batch-Dateien
bernimmt. (nach dem System: La andere arbeiten!) Nachteilig ist,
da die command.com noch einmal 3 Kilobyte RAM bentigt.
Wird /x angegeben, wird das Child-Programm direkt ausgefhrt.
ACHTUNG:
- Es mu ein kompletter absoluter oder relativer Pfad angegeben werden,
da der DOS-Suchpfad nicht abgesucht wird!
- Die korrekte Extension (.COM oder .EXE) mu angegeben werden
- NIEMALS Batch-Dateien (*.BAT) angeben - sonst Absturz!
- Die Pfadangabe darf "/" statt "\" enthalten (der offizielle DOS=UNIX-Bug)
- Die Extension kann auch anders als .COM oder .EXE lauten, wenn das
entsprechende Programm *ausfhrbar* ist. (Experten-Hinweis)
/nn (nn=Zahl von 0 bis 65535) verndert die Wiederholrate bei der Tasten-
statusabfrage. Standardmig steht sie auf 256. Eine Erhhung wird not-
wendig, wenn bei der Wiedergabe offenbar Tastenanschlge verschluckt
werden. Eine Erhhung von nn kann ein recht starkes "Einschlafen" des
Rechners bewirken. Wird dies bemerkt, kann man den Rechner durch Drcken
irgendeiner Taste auf die Sprnge helfen.
Bei Angabe von genau nn=65535 wird bei der Statusabfrage stets "keine Taste"
gemeldet. Eventuell kann das Programm stehenbleiben; dann irgendeine Taste
drcken und beim nchsten Mal den Wert fr nn verkleinern! Probiere auch
Parameter /v!
/l Verhindert, da ein Tastendruck bei stehenbleibendem Programm weiterhilft.
Dies ermglicht einen sicheren Schutz beim Verlassen des Rechners, da das
Programm korrekt arbeitet. Whrend der Testphase diesen Schalter bitte
*nicht* setzen!
/v aktiviert den Bildschirm-Vernderungs-Test bei jeder Tastenstatusabfrage
des Programms. Ist der Bildschirm seit dem letzten Zugriff verndert, wird
der Wiederholungszhler, der von Null bis nn zhlt, zurckgesetzt. Dies
ist dann hilfreich, wenn ein lngerwhrender Job, z.B. ein Druckjob, nicht
korrekt funktioniert, und auf dem Bildschirm irgendein Statuswert "zappelt",
z.B. eine Satznummer oder ein Balkendiagramm. Ursache fr die sonst auf-
tretenden Fehlverhalten ist ein periodisches ClrKeybrdBuf, welches sich
naturgem nur sehr schwer programmtechnisch abfangen lt.
/t Tastaturmakrodatei bersetzen
Der Typ der Eingabedatei (Text, binr, gescrambelt) wird automatisch erkannt.
Stansardmig wird in eine editierbare ASCII-Datei gewandelt.
/b Binrdatei erzeugen (sonst ASCII-Datei)
/bx gescrambelte Binrdatei erzeugen
Ein Pawort einer existierenden gescrambelten Datei lt sich deshalb
unter Verwendung der Optionen /t und /bx verndern. Beachte: Ein leeres
Pawort ist hierbei auch ein Pawort und erzeugt eine gescrambelte Datei!
Die Zeichenzahl im Pawort ist auf 15 Zeichen beschrnkt. Das Pawort
ist case-sensitiv, also bei Eingabe bitte auf Shift-Lock achten! Intern
werden 16 Bit fr den Pawort-Check verwendet.
Das Pawort-System ist zwar rein prinipiell brauchbar, d.h. an den Inhalt
der Makrodatei ist an sich schwer heranzukommen. Jedoch lt sich die
ganze Sache jmmerlich leicht unterlaufen, wenn man mit dem Makro einen
x-beliebigen Texteditor startet! Eine sptere Version mte hierfr
wenigstens den korrekten Namen des Zielprogramms abchecken! Aber auch
hier wre ein simpler Hack, das ausfhrbare Programm umzubenennen...
/s Anzeige aller mglichen Textmakros. Da die Ausgabe ber mehrere Bildschirm-
seiten erfolgt, empfiehlt es sich, die Ausgabe ber MORE oder in eine Datei
umzuleiten. Genaueres s. DOS-Handbuch
Fehlermeldungen:
Sie sind meistens selbsterklrend, bis auf die beiden, die vor oder nach der
Ausfhrung des Child-Programms auftauchen knnten
(Platzmangel fr Meldungstexte):
- Fehler xx beim Ausfhren des Hauptprogramms
Das Tochterprogramm (i.a. command.com) konnte nicht ausgefhrt werden
xx=02 (oder 03): Datei (oder Pfad) nicht gefunden
xx=05: Zugriff verweigert
Sollte diese Meldung ohne Angabe des Parameters /x auftreten, liegt wohl
ein schwerer Programm- oder Systemfehler vor, da das bedeutet, da der
Kommandointerpreter nicht gefunden wurde. Vielleicht hilft neu booten...
Zum Auffinden des Kdo.-Interpreters wird die Umgebungsvariable COMSPEC
herangezogen; fehlt diese, wird X:\command.com angenommen, wobei
X: das Bootlaufwerk ist
Ansonsten haben Sie bei Fehler 02 den Pfad oder (hufiger) die Extension
vergessen. Bei Fehler 05 ist ein Sharing-Problem im Netzwerk die einzig
mgliche Ursache.
- Fehler xx beim Laden des Dekodier-Overlays
Das fr die Ausfhrungszeit des Tochterprogramms gekrzte Programm
MREC.COM konnte nicht mehr korrekt verlngert werden.
xx=02 (oder 03): Datei MREC.COM nicht gefunden
xx=05: Zugriff verweigert
xx=08: kein RAM
xx=10: Lesefehler, Datei zu kurz
Bei Aufnahme eines Makros kann der RAM-Inhalt nicht mehr als Makrodatei
gespeichert werden wegen obiger Fehler. Mglicherweise ist inzwischen
der (remote) Rechner mit dem Programm MREC ausgefallen. Die Meldung 08 kann
nur beim Aufruf eines TSR auftauchen. Hier hilft am besten das Hochladen
entweder der TSR oder von MREC.
Fehler 05 weist auf Sharing-Probleme hin. Ein anderer hat MREC.COM zum
Schreiben geffnet o.. (was fr ein Schlingel!!) Oder Sie haben
auf diese Datei Rechte nur zum Ausfhren, nicht zum Lesen vergeben.
Geben Sie also Leserechte. Fragen Sie ggf. hierzu den Systemverwalter.
Zum Nachladen wird ParamStr(0) herangezogen, welches den kompletten
Pfad zur Datei MREC.COM enthlt. Fernstart-Probleme knnen daher nicht
die Ursache von Fehlermeldungen sein!
Fehler 10 tritt bei gekrzter Datei auf, dessen meiste Ursache das
Komprimieren des Programms mittels PKLITE, LZEXE oder DIET ist. Also
lassen Sie das Programm wie es ist. (Es ist doch gar nicht so lang!)
Enthlt die Textdatei Syntaxfehler, werden entsprechene Meldungen
ausgegeben. Sie sollten diese Fehler umgehend ausbauen.
Eine Textdatei wird an ihrem ersten Wort erkannt. Binrdateien haben ebenfalls
eine Kennung in den ersten 2 Bytes. Wird keines der 3 Formate erkannt,
gibt es eine Fehlermeldung, und MREC bricht ab. Stellen Sie die Datei
wieder korrekt her, lschen sie sie fr eine Neuaufnahme oder geben Sie
beim nchsten Mal in der Kommandozeile ein /r zustzlich an.
Bei allen Optionen kann als Anstrich auch "-" (Minus) verwendet werden.
Da es aber mglich ist, da Dateinamen mit "-" anfangen, mssen solche
Dateien mit einem "-" am Anfang *mehr* angegeben werden.
Alle Optionen sind case-insensitiv, d.h. ob Klein- oder Grobuchstaben
ist vllig egal.
Nicht vergessen, da man MREC auch hochladen kann, wenn's im Speicher
knapp wird!
Aufbau der ASCII-Steuerdatei:
- Einzelne Tasten entsprechen einzelne Buchstaben
- Shift+Buchstabe wird als Grobuchstabe dargestellt
- Control+Taste bzw. Alt+Taste werden als ctrl+x bzw. alt+x dargestellt,
wobei x die normale Taste darstellt
- Trennzeichen zwischen Tastencodes ist sog. Weiraum, also Spaces, Zeilenenden
usw.
- Mglich ist auch die direkte Angabe des Tastencodes als Dezimal- oder
Hexadezimalzahl. Hexzahlen bentigen den Prfix "$".
- Das erste Wort der Datei ist das Kennwort und lautet "MREC#ASCII"
- Alle Angaben sind case-sensitiv, auer die Hexziffern A..F in Hexzahlen!
Man sollte niemals Gro- und Kleinbuchstaben verwechseln. Im allgemeinen
gelten NUR Kleinbuchstaben.
- Die Sonderzeichen {[]}\|~@, die auf der deutschen Tastatur nur via AltGr
erreichbar sind, sind OHNE 'alt+' zu schreiben!
- Der geniale Vorteil einer ASCII-Datei ist ihre Austauschbarkeit bezglich
anderer Tastaturtreiber. Lediglich MREC.COM mu zum momentanen Treiber
passen! Die Binrdateien sind i.a. NICHT zwischen verschiedenen Keyboard-
Layouts austauschbar!
- Augenscheinlich ist selbstverstndlich die Editierbarkeit dieser Datei
Vorgefundene Kodierung: UTF-8 | 0
|