Geräte
und Schnittstellen

E-Books


MS-DOS Kurs


3. Schwarz auf Weiß

Bleiben wir gleich beim Drucker, im Zusammanhang mit vielen Programmen ein leidiges Thema. Ihnen sollten inzwischen mehrere Möglichkeiten einfallen, wie sie direkt im Betriebssystem drucken können, etwa
copy datei prn oder
type datei > prn
Zugegeben, zumeist wird man aus einer Textverarbeitung heraus drucken, oft ist es aber auch günstig, den Text formatiert in eine Datei zu schreiben und ihn erst später (oder auf einem anderen Rechner, der über einen Drucker verfügt) auszugeben. In diesem Falle braucht auch die Textverarbeitung nicht erst neu geladen zu werden. Um ein solches Vorgehen zu unterstützen (oder das Drucken von Listings, die keiner besonderen Formatierung bedürfen), kennt DOS den PRINT-Befehl, der gegenüber den oben gezeigten Varianten den Vorteil besitzt, daß er im Hintergrund ablaufen kann. Damit stellt er auch den einzigen DOS-Befehl dar, der für eine Parallelarbeit ausgelegt ist. Bei der Konzeption des Single-Tasking-Betriebssystems MS-DOS sind die Entwickler wohl davon ausgegangen, daß der Mensch eh nur mit einer Sache beschäftigt sein kann und höchstens noch der Drucker ein wenig hilft. (Weit gefehlt, wie wir heute wissen.) Das entstandene Druckkonzept erinnert an das der Großrechner. Druckaufträge (Jobs) ordnen sich in eine Warteschlange ein, von wo aus sie nacheinander abgearbeitet werden.
Beim ersten Aufruf von PRINT sind Festlegungen darüber möglich, an welcher Schnittstelle sich der Drucker befindet, wie groß der interne Puffer angelegt wird, wieviele Dateien in die Warteschlange passen und mit welchen Timeouts gearbeitet wird. Ein kleiner Teil von PRINT verbleibt anschließend im Speicher, so daß bei den folgenden Aufrufen nur noch Dateien in die Warteschlange eingeführt oder aus ihr entfernt werden. Mit dem Befehl
print /b:2048 /q:20 /d:com1
wird der Printspooler (so die umgangssprachliche Bezeichnung) mit einem Puffer von 2 KByte und einer Warteschlange für 20 Dateien für einen Drucker an der seriellen Schnittstelle eingerichtet. Alle Parameter können auch weggelassen werden; in diesem Falle wird ein Drucker an der parallelen Schnittstelle, ein Puffer von 512 Byte und eine Warteschlange für 10 Dateien angenommen. In dieser Standardkonfiguration belegt PRINT etwa 10 KByte im Hauptspeicher, bei größerem Puffer entsprechend mehr. Mit
PRINT bericht.txt brief.txt fax.txt
werden die drei Dateien in die Warteschlange eingeordnet und mit dem Drucken begonnen, während mit
print brief.txt /c
die entsprechende Datei wieder aus der Warteschlange entfernt wird. Der Schalter /P zum Einfügen wird nur benötigt, wenn aus einer Befehlszeile auch Dateien entfernt werden sollen. Einfacher ist es aber, den PRINT-Befehl dazu mehrmals aufzurufen. Um den gesamten Druckvorgang abzubrechen, ist
print /t
einzugeben. Wird aus der Warteschlange eine Datei gelöscht, die sich gerade im Druck befindet, so erfolgt die Ausgabe einer entsprechenden Nachricht und eines Seitenvorschubes auf den Drucker. Befinden sich die Dateien auf der Diskette, so muß diese solange eingelegt bleiben, bis der Druckvorgang abgeschlossen ist. Weiterhin ist der Drucker während dieser Zeit nicht anderweitig ansprechbar, etwa durch <PtrScr>. Tabulatoren werden von PRINT auf die nächste durch 8 teilbare Position gesetzt, nach jeder Datei erfolgt ein Seitenvorschub. Wollen sie sich noch einmal versichern, was alles in der Druckerwarteschlange steht, so haben sie einfach PRINT ohne Parameter anzugeben. Vielen Textprozessoren hat der PRINT-Befehl die Möglichkeit voraus, mit Wildcards arbeiten zu können, beispielsweise werden mit
print *.pas
alle Pascal-Dateien aus dem aktuellen Verezcihnis gedruckt.
Ein weiterer Befehl, der ebenfalls mit dem Drucker in Zusammenhang steht, ist GRAPHICS. Er ermöglicht die Ausgabe eines Grafikbilschirmes auf den Drucker. Zu Zeiten, als MS-DOS konzipiert wurde, war an grafikfähige Drucker noch nicht zu denken. Deshalb unterstützt die Print-Screen-Funktion (die Taste <PtrScr> bzw. <Druck>) nur den Textmodus; zudem spart man Arbeitsspeicher. Bevor der Inhalt des Bildschirms im Grafikmodus ausgegeben werden kann, ist deshalb GRAPHICS aufzurufen; anschließend kann mit <PtrScr> gearbeitet werden. Zwei Schalter sind in diesem Zusammenhang von Interesse: Mit /R wird die Ausgabe invertiert; normalerweise wird das schwarz gedruckt, was auf dem Bildschirm hell erscheint, durch /R ist es umgekehrt. Mit Hilfe des Schalters /P=n mit n=1 bis 3 wird die parallele Schnittstelle festgelegt. Auf die anderen Optionen soll nicht eingegangen werden, da sie die verschiedenen IBM-Drucker (vor allem Farbdrucker) betreffen; für diese besonderen Fälle ist ein Blick ins Handbuch unumgänglich.


(c) Jürgen Richter