home *** CD-ROM | disk | FTP | other *** search
- unit oki390;
-
- interface
-
- uses
- Crt, Printer ;
-
- var
- Rset,Enhanced_OFF,Emphasized_off,Utility,Default_Perf : String;
- Set_Perf_Skip,Set_Form_Length,Pica,Elite,Condense,Compress : String;
- Double_Wide,LQ,Enhanced_On,Emphasis_On,Enhanced_Emphasis_On : String;
- Six_Lines,Eight_Lines,Var_Line,Fine_Line,N360,Left_Margin : String;
- Right_Margin,Set_Both_Margins,Proportional,Proportional_Double : String;
- Proportional_Double_Condense,Double_Height,Italics,IBM1,IBM2A : String;
- USA,LATIN_AMERICAN,BRITISH,GERMAN,FRENCH,SWEDISH,DANISH_I : String;
- NORWEGIAN,DANISH_II,ITALIAN,FRENCH_CANADIAN,SPANISH : String;
- BIDIRECTIONAL,UNIDIRECTIONAL,FORM_LENGTH_11,LEFT_MARGIN_1 : String;
- RIGHT_MARGIN_80,ESC,Mode : String ;
- Origmode,LastRow : word;
- IBM_Mode : Boolean;
-
- procedure Print_Select;
-
- implementation
-
- var
- LastCol{,LastRow}: Word;
- Ch: Char;
- Done: Boolean;
- Width, Height, Epson, IBM : Word;
- Col, Row, X, Y : Integer;
- String1, String2, Message : string;
-
- procedure Initialize;
- { Initialize the video mode, LastCol, LastRow }
- { Paint the help line. }
- begin
- LastCol:=Lo(WindMax)+1; { get last column, row }
- LastRow:=Hi(WindMax)+1;
- GoToXY(20,LastRow); { put message line on screen }
- TextBackground(Black);
- TextColor(White);
- Dec(LastRow,80 div LastCol);
- end; { Init }
-
- procedure Menu1(var Modem:string; var IBM_Mode,Quit: boolean) ;
- var
- Valid : Boolean ;
-
- Begin
- Valid := False;
- GoToXY(2,12);
- Write('Unfortunately, you must put your printer');
- GoToXY(2,13);
- Write('in the correct emulation mode from the');
- GoToXY(2,14);
- Write('front panel of your printer. Sorry. ');
- GoToXY(35,15);Write('S.Kline');
- GoToXY(2,8);
- Write(' Select Mode (1-2) ESC - EXIT');
- GotoXY(5,2);
- Write('Select Printer Emulation Mode: ');
- GoToXY(4,4);
- Write('(1) Epson (2) IBM Proprinter');
- GoToXY(3,6);
- Begin
- repeat
- CH:=ReadKey;
- Case CH of
- #49: Begin
- Modem := 'Epson';
- Valid := True;
- IBM_Mode := False;
- End;
- #50: Begin
- Modem := 'IBM';
- Valid := True;
- IBM_Mode := True;
- end;
- #27: Begin
- Valid := True;
- Done := True;
- end;
- else
- Begin
- GoToXY(3,6);
- Write('Selection invalid! Try again.');
- end;
- end (* Case *);
- until Valid;
- end (* Begin *);
-
- end (* procedure *);
-
- procedure MakeWindow(var X, Y : integer; width, height: word);
- { Make a window }
-
- begin (* procedure body *)
- Window(X,Y,X+Width,Y+Height);
- if OrigMode = Mono then
- begin
- TextBackground(White);
- TextColor(Black);
- ClrScr;
- Window(X+1,Y+1,X+Width-1,Y+Height-1);
- TextBackground(Black);
- TextColor(White);
- ClrScr;
- end
- else
- begin
- TextBackground(Blue);
- TextColor(White);
- end;
- ClrScr;
- end; { MakeWindow }
-
-
-
- procedure Print_Select;
- begin { program body }
- IBM_Mode:=False;
- Width:=40;
- Height:=15;
- X:=20;
- Y:=5;
- ESC:=Chr(27);
- Initialize;
- Done:=False;
- MakeWindow(X,Y,Width,Height);
- Menu1(Mode, IBM_Mode, Done);
- if Mode = 'Epson' then
- begin
- Rset:=ESC+Chr(64);
- Enhanced_Off:=ESC+Chr(72);
- Emphasized_Off:=ESC+Chr(70);
- Utility:=ESC+Chr(120)+Chr(0);
- Default_Perf:=ESC+Chr(79);
- Set_Perf_Skip:=ESC+Chr(78);
- Set_Form_Length:=ESC+Chr(67)+Chr(0);
- Pica:=ESC+Chr(80);
- Elite:=ESC+Chr(77);
- Condense:=ESC+Chr(103);
- Compress:=Chr(15);
- Double_Wide:=ESC+Chr(87)+Chr(1);
- LQ:=ESC+Chr(120)+Chr(1);
- Enhanced_On:=ESC+Chr(71);
- Emphasis_On:=ESC+Chr(69);
- Enhanced_Emphasis_On:=ESC+Chr(33)+Chr(24);
- Six_Lines:=ESC+Chr(50);
- Eight_Lines:=ESC+Chr(48);
- Var_Line:=ESC+Chr(65);
- Fine_Line:=ESC+Chr(51);
- N360:=ESC+Chr(91);
- Left_Margin:=ESC+Chr(108);
- Right_Margin:=ESC+Chr(81);
- Set_Both_Margins:=ESC+Chr(108)+Chr(1)+ESC+Chr(81)+Chr(80);
- Proportional:=ESC+Chr(112)+Chr(1);
- Proportional_Double:=ESC+Chr(33)+Chr(34);
- Proportional_Double_Condense:=ESC+Chr(33)+Chr(38);
- Double_Height:=ESC+Chr(31)+Chr(1);
- Italics:=ESC+Chr(52);
- IBM1:=ESC+Chr(116)+Chr(1)+ESC+Chr(55);
- IBM2A:=ESC+Chr(116)+Chr(1)+ESC+Chr(54);
- USA:=ESC+Chr(82)+Chr(0);
- LATIN_AMERICAN:=ESC+Chr(82)+Chr(12);
- BRITISH:=ESC+Chr(82)+Chr(3);
- GERMAN:=ESC+Chr(82)+Chr(2);
- FRENCH:=ESC+Chr(82)+Chr(1);
- SWEDISH:=ESC+Chr(82)+Chr(5);
- DANISH_I:=ESC+Chr(82)+Chr(4);
- NORWEGIAN:=ESC+Chr(82)+Chr(9);
- DANISH_II:=ESC+Chr(82)+Chr(10);
- ITALIAN:=ESC+Chr(82)+Chr(6);
- FRENCH_CANADIAN:=ESC+Chr(82)+Chr(13);
- SPANISH:=ESC+Chr(82)+Chr(7);
- UNIDIRECTIONAL:=ESC+Chr(85)+Chr(1);
- BIDIRECTIONAL:=ESC+Chr(85)+Chr(0);
- FORM_LENGTH_11:=ESC+Chr(67)+Chr(0)+Chr(11);
- LEFT_MARGIN_1:=ESC+Chr(108)+Chr(1);
- RIGHT_MARGIN_80:=ESC+Chr(81)+Chr(80);
- end
- else
- begin
- Rset:=Chr(24);
- Enhanced_Off:=ESC+Chr(72);
- Emphasized_Off:=ESC+Chr(70);
- Utility:=ESC+Chr(73);
- Default_Perf:=ESC+Chr(79);
- Set_Perf_Skip:=ESC+Chr(78);
- Set_Form_Length:=ESC+Chr(67)+Chr(0);
- Pica:=ESC+Chr(73)+Chr(0);
- Elite:=ESC+Chr(73)+Chr(8);
- Condense:=ESC+Chr(73)+Chr(24);
- Compress:=Chr(15);
- Double_Wide:=ESC+Chr(87)+Chr(1);
- LQ:=ESC+Chr(73);
- Enhanced_On:=ESC+Chr(71);
- Emphasis_On:=ESC+Chr(69);
- Enhanced_Emphasis_On:=ESC+Chr(71)+ESC+Chr(69);
- Six_Lines:=ESC+Chr(49);
- Eight_Lines:=ESC+Chr(48);
- Var_Line:=ESC+Chr(65);
- Fine_Line:=ESC+Chr(51);
- N360:=ESC+Chr(37)+Chr(56);
- Left_Margin:=ESC+Chr(88);
- Right_Margin:=ESC+Chr(88);
- Set_Both_Margins:=ESC+Chr(88)+Chr(1)+Chr(80);
- Proportional:=ESC+Chr(80)+Chr(1);
- Proportional_Double:=ESC+Chr(80)+Chr(1)+ESC+Chr(87)+Chr(1);
- Proportional_Double_Condense:=Chr(15)+ESC+Chr(80)+Chr(1)+ESC+Chr(87)+Chr(1);
- Double_Height:=ESC+Chr(91)+Chr(64)+Chr(4)+CHR(0)+CHR(0)+CHR(0)+Chr(0)+Chr(0);
- Italics:=ESC+Chr(37)+Chr(71);
- IBM1:=ESC+Chr(55);
- IBM2A:=ESC+Chr(54);
- USA:=ESC+Chr(33)+Chr(64);
- LATIN_AMERICAN:=ESC+Chr(33)+Chr(65);
- BRITISH:=ESC+Chr(33)+Chr(66);
- GERMAN:=ESC+Chr(33)+Chr(67);
- FRENCH:=ESC+Chr(33)+Chr(68);
- SWEDISH:=ESC+Chr(33)+Chr(69);
- DANISH_I:=ESC+Chr(33)+Chr(70);
- NORWEGIAN:=ESC+Chr(33)+Chr(71);
- DANISH_II:=ESC+Chr(33)+Chr(72);
- ITALIAN:=ESC+Chr(33)+Chr(73);
- FRENCH_CANADIAN:=ESC+Chr(33)+Chr(74);
- SPANISH:=ESC+Chr(33)+Chr(75);
- UNIDIRECTIONAL:=ESC+Chr(85)+Chr(1);
- BIDIRECTIONAL:=ESC+Chr(85)+Chr(0);
- FORM_LENGTH_11:=ESC+Chr(67)+Chr(0)+Chr(11);
- LEFT_MARGIN_1:=ESC+Chr(88)+Chr(1)+Chr(80);
- RIGHT_MARGIN_80:=ESC+Chr(88)+Chr(1)+Chr(80);
- end
- end;
- end.
-