home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Turbo Toolbox
/
Turbo_Toolbox.iso
/
1990
/
02
/
praxis
/
spooler.mod
< prev
next >
Wrap
Text File
|
1989-11-15
|
3KB
|
106 lines
(********************************************************)
(* SPOOLER.MOD *)
(* Demonstrationsprogramm für das Spool-Modul *)
(* (C) Copyright 1989,1990 Jörg Heuser & toolbox *)
MODULE Spooler;
FROM IO IMPORT WrLn, WrStr, RdStr, RdKey, WrCard;
FROM Lib IMPORT FatalError;
IMPORT Spool;
VAR Meldung : ARRAY[0..79] OF CHAR;
PROCEDURE DisplayError();
VAR Fehler : CARDINAL;
BEGIN
Fehler := Spool.Error();
WrLn();
CASE Fehler OF
1 : Meldung := '*** Unzulässige Funktion ! ***';
| 2 : Meldung := '*** Datei nicht gefunden ! ***';
| 3 : Meldung := '*** Ungültige Pfadangabe ! ***';
| 4 : Meldung := '*** Zu viele offene Dateien ! ***';
| 5 : Meldung := '*** Zugriff verweigert ! ***';
| 8 : Meldung := '*** Warteschlange ist voll ! ***';
| 9 : Meldung := '*** Spooler ist beschäftigt ! ***';
| 12 : Meldung := '*** Dateiname zu lang ! ***';
| 15 : Meldung := '*** Ungültige Laufwerksangabe ! ***';
END;
WrLn();
END DisplayError;
VAR DruckDatei : Spool.QueueEntryTyp;
Warteschlange : Spool.QueueTyp;
Auswahl : CHAR;
I : CARDINAL;
BEGIN
Meldung
:= 'SPOOLER, (C) 1989,1990 by Jörg Heuser & toolbox';
WrLn();
IF NOT (Spool.GetInstalledState()=255) THEN
FatalError('*** PRINT ist nicht installiert ! ***');
END;
Auswahl := '';
WHILE Auswahl <> 'E' DO
WrLn();
Spool.Status(Warteschlange);
I := 0;
WrStr('-- Nr. --- Datei ---------------------------');
WrLn(); WrLn();
WHILE NOT ( Warteschlange[I,0]= 0C ) DO
WrStr(' ');
WrCard(I+1,2);
WrStr(' ');
WrStr(Warteschlange[I]);
WrLn();
INC(I);
END;
IF I=0 THEN
WrStr(' ** Warteschlange ist leer !');
WrLn();
END;
WrLn();
WrStr('-- Ende der Warteschlange ! ----------------');
WrLn(); WrLn();
WrStr(Meldung);
WrLn(); WrLn();
WrStr('[D]rucken einer Datei'); WrLn();
WrStr('[L]öschen einer Datei '); WrLn();
WrStr('[W]arteschlange leeren'); WrLn();
WrStr('[E]nde '); WrLn();
WrLn();
Auswahl := RdKey();
CASE Auswahl OF
'd','D' : WrStr('Drucke Datei : ');
RdStr(DruckDatei);
Spool.SubmitFile(DruckDatei);
IF Spool.Error() = 0 THEN
Meldung :=
'Datei erfolgreich angehängt !';
ELSE
DisplayError();
END;
| 'l','L' : WrStr('Lösche Datei : ');
RdStr(DruckDatei);
Spool.CancelFile(DruckDatei);
IF Spool.Error() = 0 THEN
Meldung :=
'Datei(en) erfolgreich gelöscht !';
ELSE
DisplayError();
END;
| 'w','W' : Spool.CancelAllFiles();
IF Spool.Error() = 0 THEN
Meldung :=
'Warteschlange erfolgreich geleert !';
ELSE
DisplayError();
END;
| 'e','E' : Auswahl := 'E';
ELSE
Meldung := '*** Ungültige Auswahl ! ***';
END; (* CASE *)
END; (* WHILE *)
END Spooler.