home *** CD-ROM | disk | FTP | other *** search
/ TopWare 18: Liquid / Image.iso / liquid / top1200 / paperbgi.lzh / PASCAL / BEISPIEL / AUSWAHL.PAS next >
Encoding:
Pascal/Delphi Source File  |  1993-11-28  |  5.0 KB  |  213 lines

  1. {
  2. Filename auswahl.PAS
  3.  
  4. Interaktive Auswahl eines der BGI-Treiber für die Testprogramme
  5.  
  6. (C) Raimund Nisius
  7.     Goethepark  13
  8.     10627  Berlin
  9.  
  10. Der Compiler muß die Dateien alloc.pas und params.pas übersetzen können.
  11. }
  12.  
  13. unit auswahl;
  14.  
  15. interface
  16. var
  17.    treibertyp,                   { Diese Variablen werden von dieser Unit }
  18.    treibermode : integer;        { interaktiv bestimmt }
  19.  
  20. procedure waehle_treiber;        { Ausgabegerät bestimmen }
  21.  
  22. implementation
  23.  
  24. uses crt,
  25.      alloc;
  26.  
  27. {$I inventar.inc}    { Welche Treiber stehen zur Auswahl }
  28.  
  29. function inchar(s:string) : char; { liefert einen der Buchstaben }
  30. var                               { aus dem String s zurück}
  31.    c : char;
  32. begin
  33. repeat
  34.    c := readkey;
  35. until pos(c,s) > 0;
  36. inchar := c;
  37. end;
  38.  
  39. {$IFDEF NADELDRUCKER}
  40. const Nadelnamen : array[0..15] of string =
  41. (
  42. ' A  Epson 240 * 72',
  43. ' B  Epson 120 * 72 schnell',
  44. ' C  Epson 120 * 72 schön',
  45. ' D  Epson 60  * 72',
  46. ' E  Epson 240 * 216',
  47. ' F  Epson 80  * 72',
  48. ' G  Epson 72  * 72',
  49. ' H  Epson 90  * 72',
  50. ' I  Epson 144 * 72',
  51. ' J  Epson 60  * 180',
  52. ' K  Epson 120 * 180',
  53. ' L  Epson 90  * 180',
  54. ' M  Epson 180 * 180',
  55. ' N  Epson 360 * 180',
  56. ' O  NEC   360 * 360',
  57. ' P  Epson 360 * 360'
  58. );
  59.  
  60. procedure Nadeldrucker_waehlen;
  61. var
  62.    i             : integer;
  63.    choice        : char;
  64.    erlaubtstring : string;
  65.  
  66.  
  67. begin
  68. clrscr;
  69. erlaubtstring := 'ABCDEFGHIJKLMNOPabcdefghijklmnop';
  70.  
  71. for I := 0 to 15 do
  72.    writeln(Nadelnamen[i]);
  73. writeln(' A .. I sind Modi für 9-Nadler');
  74. writeln(' F .. I sind nicht auf jedem Drucker verfügbar');
  75. writeln(' J .. P sind Modi für 24-Nadler');
  76. writeln;
  77. writeln('Bitte wählen Sie einen Druckermodus aus.');
  78. choice := inchar(erlaubtstring);
  79. choice := upcase(choice);
  80. Treiber_konfiguration.nadeldrucker^.printermode := ord(choice) - ord('A');
  81. writeln;
  82. write('Farbdrucker ? (j/n)');
  83. writeln('');
  84. choice := inchar('JjNn');
  85. choice := upcase(choice);
  86. if choice = 'J' then
  87.    begin
  88.    inc(Treiber_konfiguration.nadeldrucker^.printermode,$80);
  89.    Treiber_konfiguration.nadeldrucker^.stiftzahl := 16;
  90.    end
  91. else
  92.    Treiber_konfiguration.nadeldrucker^.stiftzahl := 2;
  93. end;
  94. {$ENDIF}
  95.  
  96.  
  97. procedure waehle_treiber;        { Ausgabegerät bestimmen }
  98. var
  99.    erlaubtstring : string;
  100.    choice        : char;
  101.  
  102. begin
  103. erlaubtstring := '1';                   { Monitor immer}
  104.  
  105. {$IFDEF HPGLPLOTTER}
  106. erlaubtstring := erlaubtstring + '2';
  107. {$ENDIF}
  108.  
  109. {$IFDEF LASERDRUCKER}
  110. erlaubtstring := erlaubtstring + '3';
  111. {$ENDIF}
  112.  
  113. {$IFDEF NADELDRUCKER}
  114. erlaubtstring := erlaubtstring + '4';
  115. {$ENDIF}
  116.  
  117. {$IFDEF DESKJETDRUCKER}
  118. erlaubtstring := erlaubtstring + '5';
  119. {$ENDIF}
  120.  
  121. {$IFDEF PAINTJETDRUCKER}
  122. erlaubtstring := erlaubtstring + '6';
  123. {$ENDIF}
  124.  
  125. {$IFDEF DXFDRUCKER}
  126. erlaubtstring := erlaubtstring + '7';
  127. {$ENDIF}
  128.  
  129.  
  130. clrscr;
  131. writeln('             Auswahl der Graphikausgabe     ');
  132. writeln;
  133. writeln('Copyright an den Treibern für Plotter und Drucker bei');
  134. writeln('      Raimund Nisius');
  135. writeln('      Software∙Entwicklung');
  136. writeln('      Goethepark 13');
  137. writeln('      10627 Berlin');
  138. writeln('      Tel./FAX  312 50 74 ');
  139. writeln;
  140. writeln;
  141. writeln('Wo soll die folgende Graphik erzeugt werden ?');
  142. writeln;
  143. writeln('   1  Monitor  mit dem Default-Monitortreiber');
  144. {$IFDEF HPGLPLOTTER}
  145.    writeln('   2  HPGL-Plotter  über die schon gewählte Schnittstelle');
  146. {$ENDIF}
  147. {$IFDEF LASERDRUCKER}
  148.    writeln('   3  LASER-Drucker über die schon gewählte Schnittstelle');
  149. {$ENDIF}
  150. {$IFDEF NADELDRUCKER}
  151.    writeln('   4  NADEL-Drucker über die schon gewählte Schnittstelle');
  152. {$ENDIF}
  153. {$IFDEF DESKJETDRUCKER}
  154.    writeln('   5  HP-DeskJet 500C über die schon gewählte Schnittstelle');
  155. {$ENDIF}
  156. {$IFDEF PAINTJETDRUCKER}
  157.    writeln('   6  HP-PAINTJET XL über die schon gewählte Schnittstelle');
  158. {$ENDIF}
  159.  
  160. {$IFDEF DXFDRUCKER}
  161.    writeln('   7  DXF File ');
  162. {$ENDIF}
  163.  
  164. writeln;
  165. writeln('Wählen Sie bitte durch Drücken der entsprechenden Taste !');
  166. choice := inchar(erlaubtstring);
  167. case choice of
  168.    '1' : begin
  169.          treibertyp  := monitortreiber;
  170.          treibermode := monitormode
  171.          end;
  172. {$IFDEF HPGLPLOTTER}
  173.    '2' : begin
  174.          treibertyp  := plottertreiber;
  175.          treibermode := plottermode
  176.          end;
  177. {$ENDIF}
  178. {$IFDEF LASERDRUCKER}
  179.    '3' : begin
  180.          treibertyp  := lasertreiber;
  181.          treibermode := lasermode
  182.          end;
  183. {$ENDIF}
  184. {$IFDEF NADELDRUCKER}
  185.    '4' : begin
  186.          treibertyp  := nadeltreiber;
  187.          treibermode := nadelmode;
  188.          Nadeldrucker_waehlen;
  189.          end;
  190. {$ENDIF}
  191. {$IFDEF DESKJETDRUCKER}
  192.    '5' : begin
  193.          treibertyp  := deskjettreiber;
  194.          treibermode := deskjetmode;
  195.          end;
  196. {$ENDIF}
  197. {$IFDEF PAINTJETDRUCKER}
  198.    '6' : begin
  199.          treibertyp  := PAINTJETtreiber;
  200.          treibermode := PAINTJETmode;
  201.          end;
  202. {$ENDIF}
  203. {$IFDEF DXFDRUCKER}
  204.    '7' : begin
  205.          treibertyp  := DXFtreiber;
  206.          treibermode := DXFmode;
  207.          end;
  208. {$ENDIF}
  209.    end;
  210. end; { waehle_treiber }
  211.  
  212. end.
  213.