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 w„hrend 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)
Zun„chst 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 ben”tigt.
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
w„hrend 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 erm”glicht ein und denselben Programmaufruf
zum Anlernen wie zur Geisterfahrt. Das kann Tipparbeit sparen helfen.
Die ASCII-Steuerdatei enth„lt 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 L”schen jener Datei bewirken
/x startet das Child-Programm ohne den Befehlsinterpreter command.com
(bzw. einen mit %comspec% definierten anderen Kommandointerpreter).
Standardm„áig 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 ben”tigt.
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) ver„ndert die Wiederholrate bei der Tasten-
statusabfrage. Standardm„áig steht sie auf 256. Eine Erh”hung wird not-
wendig, wenn bei der Wiedergabe offenbar Tastenanschl„ge verschluckt
werden. Eine Erh”hung 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 n„chsten Mal den Wert fr nn verkleinern! Probiere auch
Parameter /v!
/l Verhindert, daá ein Tastendruck bei stehenbleibendem Programm weiterhilft.
Dies erm”glicht einen sicheren Schutz beim Verlassen des Rechners, daá das
Programm korrekt arbeitet. W„hrend der Testphase diesen Schalter bitte
*nicht* setzen!
/v aktiviert den Bildschirm-Ver„nderungs-Test bei jeder Tastenstatusabfrage
des Programms. Ist der Bildschirm seit dem letzten Zugriff ver„ndert, wird
der Wiederholungsz„hler, der von Null bis nn z„hlt, zurckgesetzt. Dies
ist dann hilfreich, wenn ein l„ngerw„hrender 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 l„át.
/t Tastaturmakrodatei bersetzen
Der Typ der Eingabedatei (Text, bin„r, gescrambelt) wird automatisch erkannt.
Stansardm„áig wird in eine editierbare ASCII-Datei gewandelt.
/b Bin„rdatei erzeugen (sonst ASCII-Datei)
/bx gescrambelte Bin„rdatei erzeugen
Ein Paáwort einer existierenden gescrambelten Datei l„át sich deshalb
unter Verwendung der Optionen /t und /bx ver„ndern. Beachte: Ein leeres
Paáwort ist hierbei auch ein Paáwort und erzeugt eine gescrambelte Datei!
Die Zeichenzahl im Paáwort ist auf 15 Zeichen beschr„nkt. Das Paáwort
ist case-sensitiv, also bei Eingabe bitte auf Shift-Lock achten! Intern
werden 16 Bit fr den Paáwort-Check verwendet.
Das Paáwort-System ist zwar rein prinipiell brauchbar, d.h. an den Inhalt
der Makrodatei ist an sich schwer heranzukommen. Jedoch l„át sich die
ganze Sache j„mmerlich leicht unterlaufen, wenn man mit dem Makro einen
x-beliebigen Texteditor startet! Eine sp„tere Version máte hierfr
wenigstens den korrekten Namen des Zielprogramms abchecken! Aber auch
hier w„re ein simpler Hack, das ausfhrbare Programm umzubenennen...
/s Anzeige aller m”glichen 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 selbsterkl„rend, bis auf die beiden, die vor oder nach der
Ausfhrung des Child-Programms auftauchen k”nnten
(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 (h„ufiger) die Extension
vergessen. Bei Fehler 05 ist ein Sharing-Problem im Netzwerk die einzig
m”gliche Ursache.
- Fehler xx beim Laden des Dekodier-Overlays
Das fr die Ausfhrungszeit des Tochterprogramms gekrzte Programm
MREC.COM konnte nicht mehr korrekt verl„ngert 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. M”glicherweise 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 ge”ffnet 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 enth„lt. Fernstart-Probleme k”nnen 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!)
Enth„lt die Textdatei Syntaxfehler, werden entsprechene Meldungen
ausgegeben. Sie sollten diese Fehler umgehend ausbauen.
Eine Textdatei wird an ihrem ersten Wort erkannt. Bin„rdateien 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, l”schen sie sie fr eine Neuaufnahme oder geben Sie
beim n„chsten Mal in der Kommandozeile ein /r zus„tzlich an.
Bei allen Optionen kann als Anstrich auch "-" (Minus) verwendet werden.
Da es aber m”glich 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 Groábuchstaben
ist v”llig 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 Groábuchstabe 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. Weiáraum, also Spaces, Zeilenenden
usw.
- M”glich ist auch die direkte Angabe des Tastencodes als Dezimal- oder
Hexadezimalzahl. Hexzahlen ben”tigen den Pr„fix "$".
- Das erste Wort der Datei ist das Kennwort und lautet "MREC#ASCII"
- Alle Angaben sind case-sensitiv, auáer 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 Bin„rdateien sind i.a. NICHT zwischen verschiedenen Keyboard-
Layouts austauschbar!
- Augenscheinlich ist selbstverst„ndlich die Editierbarkeit dieser Datei
Detected encoding: UTF-8 | 0
|