ASK.DEB wartet auf die Eingabe eines bestimmten Zeichens. Der Befehl »ASK JjNn« aktzeptiert z. B. lediglich die angegebenen Buchstaben zur Beantwortung der Frage »Ja oder Nein?« und gibt die Position des eingegebenen Zeichens im Parameter als Errorlevel zurück. Andere Zeichen werden ignoriert. Das eingegebene Zeichen gelangt zur Kontrolle auf den Bildschirm und läßt sich, falls es stören sollte, mit » >NUL« unterdrücken. ASK ignoriert außerdem die Funktionstasten komplett. Sind Sie auf sie angewiesen, hilft Ihnen GET weiter. Anstelle der Buchstaben im erwähnten Beispiel können Sie natürlich alle darstellbaren ASCII-Zeichen, einschließlich der Ziffern 0 bis 9 und Grafikzeichen verwenden. Der folgende Stapeljob demonstriert, wie Sie ASK einsetzen können:
@ECHO OFF ECHO Fortfahren (J/N)? ASK JjNn IF ERRORLEVEL 3 GOTO ENDE ECHO Ein beliebiger Befehl... :ENDE
Name: | ASK.DEB |
Funktion: | Wartet auf die Eingabe eines bestimmten Zeichens. |
Übersetzung: | DEBUG <ASK.DEB |
Prüfsumme: | 8DE6 |
Anwendung: | ASK …IF ERRORLEVEL # … = Liste von Zeichen, die akzeptiert werden sollen
# = Position des Zeichens in der Liste |
Einschränkungen: | ./. |
A MOV AH,8 ;100 INT 21 ;102 CMP AL,0 ;104 JNZ 10E ;106 MOV AH,8 ;108 INT 21 ;10A JMP 100 ;10C MOV BX,[80] ;10E DEC BL ;112 JZ 100 ;114 CMP AL,[BX+E081] ;116 JNZ 112 ;11A MOV DL,AL ;11C MOV AH,2 ;11E INT 21 ;120 LEA AX,[BX+2C00] ;122 INT 21 ;126 RCX 28 NASK.COM W Q
Quelle: 200 Utilities für PC-/MS-DOS von Gerhard Schild und Thomas Jannot