Leeres Verzeichnis in DOS ermitteln Oft ist es wichtig, festzustellen zu können, ob ein bestimmtes Verzeichnis leer ist. Löschanweisungen, die versteckte Dateien »vergessen« und anschließend ein »RD Verzeichnis« ausführen sollen, könnten z. B. vor dem unvermeidlichen Fehler »Ungültiger Suchweg, kein Verzeichnis oder Verzeichnis nicht leer!« alternative Aktionen durchführen. Kopieranweisungen können rechtzeitig vor noch gefüllten Directories warnen, damit eventuell gleichnamige Programme nicht überschrieben werden und so weiter. …
Ist das Verzeichnis vorhanden? Analog zu »IF EXIST Datei« gibt es bisher keine Möglichkeit, festzustellen, ob ein bestimmtes Verzeichnis existiert. Kopier-Anweisungen in Stapeljobs landen z. B. oftmals in falschen Verzeichnissen und überschreiben gleichnamige Dateien, weil der Anwender sich nicht haargenau so verhalten hat, wie es die Batch-Datei vorschreibt. ISDIR.DEB hilft, solche Fehler zu vermeiden. Das Programm speichert das aktuelle Verzeichnis des …
Ist ein Coprozessor installiert? Manche Anwendungen funktionieren nur mit einem zusätzlich installierten mathematischen Coprozessor. COPROC.DEB ermittelt aus dem »Equipment«-Flag des Interrupt 11h, ob ein Coprozessor installiert ist und übergibt das Ergebnis dem ERRORLEVEL. Sie können dann entscheiden, ob das rechenintensive Programm ausgeführt werden soll oder nicht. Name: COPROC.DEB Funktion: Überprüft den PC auf einen vorhandenen Coprozessor. Übersetzung: DEBUG <COPROC.DEB Prüfsumme: …
Serielle Schnittstellen zählen Bei wechselnden PC-Konfigurationen mit austauschbarer Zusatz-Peripherie ist es oft wichtig zu wissen, wieviel serielle Schnittstellen im PC überhaupt installiert sind, um zum Beispiel den Aufruf eines Terminalprogramms oder Grafiktabelett-Treibers ohne freien COM-Port zu verhindern. COMCOUNT.DEB extrahiert die Anzahl der seriellen Schnittstellen aus dem »Equipment«-Wort des Interrupt 11h und übergibt sie dem ERRORLEVEL. Name: COMCOUNT.DEB Funktion: Ermittelt …
Ist der Datenträger wechselbar? Manchmal ist es wünschenswert, feststellen zu können, ob es sich bei einem Datenträger um eine auswechselbare Diskette oder um eine nicht entnehmbare Festplatte handelt. CHGABLE.DEB ermittelt das geforderte Ergebnis über eine »IOCTL«-Funktion, die die Anfrage direkt an den zuständige Einheitentreiber weiterleitet. Diese Funktion wird erst ab der DOS-Version 3.0 unterstützt und muß nicht bei allen Devices …
Zufallszahlen in DOS ermitteln Ein beliebte Spielerei zum Kennenlernen höherer Programmiersprachen ist das Experimentieren mit Zufallszahlen. RND.DEB erzeugt eine Zufallszahl im Bereich 0 bis 255 und übergibt sie im Errorlevel. Das Programm liest dazu das niederwertige Byte des BIOS-Timerstands, dessen Wert sich mit einer Frequenz von 18,2 Hz ändert. Sie können mit RND den Verlauf diverser Stapeljobs vom »Zufall« …
Ist ANSI.SYS installiert? Farbige Bildschirmausgaben und eigene Tastaturbelegungen werden häufig erst mit dem Konsolentreiber ANSI.SYS möglich. Wenn Sie Programme, schreiben, die von ANSI.SYS abhängig sind, ist eine Möglichkeit, das Vorhandensein des Treibers zu prüfen, von großer Nützlichkeit. ISANSI.DEB überprüft, ob überhaupt ein zusätzlicher Konsolentreiber installiert ist, der übrigens nicht unbedingt ANSI.SYS heißen muß, und übergibt das Ergebnis im …
Tastaturpuffer in DOS löschen Schnellschreiber, die in aller Regel mit 10 Fingern und »blind« tippen können, kennen das Problem. Ein langsameres Programm läuft gerade ab, dessen weiteren Verlauf Sie genau zu kennen glauben. Routiniert tätigen Sie deshalb Ihre Eingaben – obwohl das Programm noch gar nicht beendet ist. Da der PC jedoch einen Puffer hat, in dem er solche Tastendrücke zur …
Ein Pausenfüller für DOS 2 Eine weitere alternative zur PAUSE-Funktion bekommen Sie mit BIGTIME.DEB. Das Programm zeigt mit Hilfe der Blockgrafikzeichen an der aktuellen Cursorposition eine vergrößerte Digitaluhr im Format »hh:mm:ss,nn« an. Nach einem beliebigen Tastendruck kehrt die Uhr auf die DOS-Ebene zurück und hinterläßt außerdem die gedrückte Taste im Tastaturpuffer. Diese können Sie anschließend z. B. mit ASK.DEB auswerten. Wenn Sie …
Ein Pausenfüller für DOS 1 Eine abwechslungsreiche Alternative zur PAUSE-Funktion stellt TICKER.DEB dar. Das Programm gibt an der aktuellen Cursorposition eine gepunktete Linie aus und läßt auf dieser den als Parameter übergebenen Text durchrollen. Drücken Sie irgendeine Taste, wird der Text wieder gelöscht und das Programm beendet. Der Tastendruck bleibt im Tastaturpuffer, damit Sie ihn nachträglich, z. B. mit ASK.DEB …