home *** CD-ROM | disk | FTP | other *** search
/ Whiteline: Alpha / Whiteline Alpha.iso / progtool / modula2 / drucker / lpr / install.def < prev    next >
Encoding:
Modula Definition  |  1994-09-22  |  3.8 KB  |  74 lines

  1. DEFINITION MODULE Install;
  2.  
  3. (************************************************************************
  4.  * Install-Modul für LPR-Modula2-Druckertreiber                         *
  5.  *                                                                      *
  6.  * (c) 9/1989 by Uwe Ischebeck, Ringstr.31, 6900 Heidelberg             *
  7.  *                                                                      *
  8.  * Es wird eine für Druckeranpassung für 1stWordPlus und für den        *
  9.  * Druckertreiber für LPR-Modula-2 erzeugt. Dieser Druckertreiber       *
  10.  * unterstützt auch weitere Funktionen, die WordPlus nicht kennt        *
  11.  * (34H bis 40H). DRUCKTRE.DOC und CFGINSTAL.DOC lesen.                 *
  12.  * Da Codelängen bis 253 Bytes unterstützt werden, können in den        *
  13.  * Tabellen auch Fortsetzungszeilen verwendet werden, die in der        *
  14.  * 1.Spalte mit einem - beginnen.                                       *
  15.  * Maximale Größe der CFG-Datei: 16 kB.                                 *
  16.  ************************************************************************)
  17.  
  18. CONST MaxFunc = 040H;
  19.       (* FehlerNummern *)
  20.       EOK         =   0;
  21.       EFormat     = -71; (* HEX-Datei Formatfehler                   *)
  22.       EBuffOv     = -79; (* S.a-Puffer übergelaufen                  *)
  23.       (* es können auch andere Fehler -70 bis -79  auftreten. Dann   *
  24.        * bitte mit ausführlicher Beschreibung an mich schicken.      *)
  25.  
  26. TYPE String = ARRAY[0..79] OF CHAR;
  27.      StringPointer = POINTER TO String;
  28.      TDruckSteuer = RECORD
  29.                       d : String;
  30.                       filehandle : INTEGER;
  31.                       geladen,LQ : BOOLEAN;
  32.                       n : StringPointer;
  33.                       par : ARRAY[0..5] OF CHAR;
  34.                       c : ARRAY[0..MaxFunc] OF INTEGER;
  35.                       z : ARRAY[0..255] OF INTEGER;
  36.                       a : ARRAY[0..16383] OF CHAR
  37.                     END;
  38.  
  39. VAR S : TDruckSteuer;
  40.     CfgError : INTEGER; (* Fehlernummer, #0 wenn Fehler *)
  41.              (* Fehlernummern -1..-67 kommen vom GEMDOS *)
  42.              (*              -70..-79 vom Druckertreiber*)
  43.  
  44. PROCEDURE ConfigPrinter( GemdosPrnOutHandle : INTEGER; 
  45.                          name : ARRAY OF CHAR );
  46.   (******************************************************************
  47.    * Liest die CFG.Datei "name" im GST-Format und weist der         * 
  48.    * DRUCKAUSGABE den Kanal GemdosPrnOutHandle zu.                  *
  49.    * Wenn die Ausgabe in eine Datei erfolgt, muß diese vom aufru-   *
  50.    * fenden Modul geöffnet und auch wieder geschlossen werden.      *
  51.    * Standartausgabekanäle: 1 - Stdout (Monitor)                    *
  52.    *                        2 - serieller Port                      *
  53.    *                        3 - paralleler Port                     *
  54.    * Ist GemdosPrnOutHandle<0 wird als Standartwerd 3 angenommen.   *
  55.    ******************************************************************)
  56.    
  57. PROCEDURE PrintHandle( handle : INTEGER );
  58.   (* Mit dieser Prozedur kann die Druckausgabe in eine andere Datei *
  59.    * als bei ConfigPrinter angegeben umgeleitet werden.             *)
  60.  
  61. PROCEDURE CfgAnalyse;
  62.   (* Schreibt die Druckeranpassung in eine ASCII-Datei. Dafür muß *
  63.    * die Anpassung erst mit ConfigPrinter eingelesen werden. Aus- *
  64.    * gegeben werden die Daten auf den in ConfigPrinter oder       *
  65.    * PrinterHandle angegebenen Kanal. Deshalb muß die Ausgabedatei*
  66.    * geöffnet werden, bevor die Prozedur aufgerufen wird          *)
  67.  
  68. PROCEDURE CfgInstall(HexfileName, CfgfileName : ARRAY OF CHAR);
  69.   (* Wandelt die in "HexFileName" angegebene .HEX-Datei in GST-Format *
  70.    * und speichert dieses in die Datei "CfgFileName". Alle Dateiope-  *
  71.    * rationen werden von der Prozedur ausgeführt.                     *)
  72.  
  73. END Install.
  74.