home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / dtx9303 / netz / netprint / netprint.pas < prev   
Encoding:
Pascal/Delphi Source File  |  1993-06-02  |  3.5 KB  |  121 lines

  1. (*========================================================*)
  2. (*                       NETPRINT.PAS                     *)
  3. (*             (c) Wolfgang Thiel & DMV-Verlag            *)
  4. (*========================================================*)
  5. {$S- D- R- F-}
  6.  
  7. UNIT NetPrint;
  8.  
  9. INTERFACE
  10.  
  11. VAR
  12.   LPT1,
  13.   LPT2,
  14.   LPT3 : Text;
  15.   Lst  : Text ABSOLUTE LPT1;
  16.   PRN  : Text ABSOLUTE LPT1;
  17.  
  18.   PROCEDURE Start_PRN;
  19.   PROCEDURE Start_LST;
  20.   PROCEDURE Start_LPT1;
  21.   PROCEDURE Start_LPT2;
  22.   PROCEDURE Start_LPT3;
  23.  
  24.   FUNCTION  Install_LPT2:WORD;
  25.   FUNCTION  Install_LPT3:WORD;
  26.   PROCEDURE Kill_LPT2;
  27.   PROCEDURE Kill_LPT3;
  28.  
  29.  
  30. IMPLEMENTATION
  31.  
  32. USES
  33.   Dos;
  34.  
  35.  
  36. PROCEDURE Close_Printer(VAR Printer: Text);
  37. (*========================================================*)
  38. (*        Schließen des Druckerfile, wenn offen           *)
  39. (*========================================================*)
  40.  VAR
  41.    Text_Struc: FILEREC ABSOLUTE Printer;
  42.  BEGIN
  43.    IF Text_Struc.Mode = $D7B2 THEN Close(Printer);
  44.  END;
  45.  
  46.  
  47. PROCEDURE Start_Printer(VAR Printer: Text);
  48. (*========================================================*)
  49. (*         Starten des Druckvorganges im Netz             *)
  50. (*========================================================*)
  51. BEGIN
  52.   Close_Printer(Printer);
  53.   Rewrite(Printer);
  54. END;
  55.  
  56.  
  57. FUNCTION Install_Printer(VAR Printer: Text): WORD;
  58. (*========================================================*)
  59. (*       Allg. Einrichten der Drucker (LPT2 und LPT3)     *)
  60. (*             Returncode entspricht IoResult             *)
  61. (*========================================================*)
  62. BEGIN
  63.   Close_Printer(Printer);
  64.   {$I-}
  65.     Rewrite(Printer);
  66.   {$I+}
  67.   Install_Printer := IOResult;
  68. END;
  69.  
  70. (*========================================================*)
  71. (*     Starten des Druck für den jeweiligen Drucker       *)
  72. (*========================================================*)
  73. PROCEDURE Start_LPT1; BEGIN Start_Printer(LPT1); END;
  74. PROCEDURE Start_LPT2; BEGIN Start_Printer(LPT2); END;
  75. PROCEDURE Start_LPT3; BEGIN Start_Printer(LPT3); END;
  76. PROCEDURE Start_LST;  BEGIN Start_Printer(LPT1); END;
  77. PROCEDURE Start_PRN;  BEGIN Start_Printer(LPT1); END;
  78.  
  79. (*========================================================*)
  80. (*          Öffnen der Drucker  LPT2 und LPT3             *)
  81. (*========================================================*)
  82. FUNCTION Install_LPT2: WORD;
  83. BEGIN
  84.   Install_LPT2 := Install_Printer(LPT2);
  85. END;
  86.  
  87. FUNCTION Install_LPT3: WORD;
  88. BEGIN
  89.   Install_LPT3 := Install_Printer(LPT3);
  90. END;
  91.  
  92. (*========================================================*)
  93. (*   Endgültiges Schließen des Druckers und Freigeben des *)
  94. (*                          Kanals                        *)
  95. (*========================================================*)
  96. PROCEDURE Kill_LPT2; BEGIN Close_Printer(LPT2); END;
  97. PROCEDURE Kill_LPT3; BEGIN Close_Printer(LPT3); END;
  98.  
  99. BEGIN
  100. (*========================================================*)
  101. (*               Initialisierung der Unit                 *)
  102. (*  Die File-Variablen LPT1..3 werden initialisiert und   *)
  103. (*              der LPT1-Drucker geöffnet.                *)
  104. (*========================================================*)
  105.   Assign(LPT1,'LPT1');
  106.   Assign(LPT2,'LPT2');
  107.   Assign(LPT3,'LPT3');
  108.   {$I-}
  109.   Rewrite(Lst);
  110.   {$I+}
  111.   IF IOResult <> 0 THEN BEGIN
  112.     WriteLn('Fehler in der Initialisierung von NetPrint');
  113.     WriteLn('Programmabbruch');
  114.     Halt;
  115.   END;
  116. END.
  117.  
  118. (*========================================================*)
  119. (*                    Ende von NETPRINT.PAS               *)
  120.  
  121.