home *** CD-ROM | disk | FTP | other *** search
- {$I FUNCTION.PAS}
-
- TYPE
- STRING20 = STRING[20];
- DISP = ARRAY[1..10] OF STRING20;
-
- VAR
- FUNC, I, CODE: INTEGER;
- FUNCINP: STRING20;
- STATUS: ARRAY[1..6] OF BOOLEAN;
-
- CONST
- OPTION: DISP = ('NARROW PRINT ON', 'NARROW PRINT OFF',
- 'EMPHASIZED PRINT ON', 'EMPHASIZED PRINT OFF',
- 'DOUBLE STRIKE ON', 'DOUBLE STRIKE OFF',
- 'LINE FEED', 'FORM FEED', 'PRINT TEST LINE', 'END');
-
-
- BEGIN
-
- { SET UP PRINTER TO NORMAL PRINT }
-
- WRITE(LST, CHR(27), CHR(70));
- WRITE(LST, CHR(27), CHR(72));
- WRITE(LST, CHR(18));
- STATUS[1] := FALSE;
- STATUS[2] := TRUE;
- STATUS[3] := FALSE;
- STATUS[4] := TRUE;
- STATUS[5] := FALSE;
- STATUS[6] := TRUE;
-
-
- { INPUT PRINTER FUNCTION }
-
- REPEAT
- CLRSCR;
- GOTOXY(24,3);
- WRITELN('*** SELECT PRINTER FUNCTION ***');
- WRITELN;
- WRITELN;
- FOR I := 1 TO 10 DO
- BEGIN
- IF STATUS[I]=TRUE THEN
- BEGIN
- TEXTCOLOR(15);
- TEXTBACKGROUND(0);
- END
-
- ELSE BEGIN
- TEXTCOLOR(7);
- TEXTBACKGROUND(0);
- END;
-
- WRITELN(TAB(24),I,TAB(29),OPTION[I]);
- END;
-
- REPEAT
- GOTOXY(25,17);
- WRITE('ENTER FUNCTION NUMBER ');
- CLREOL;
- READLN(FUNCINP);
- VAL(FUNCINP,FUNC,CODE);
- IF CODE <> 0 THEN FUNC := 0;
- IF (FUNC < 1) OR (FUNC > 10) THEN
- BEGIN
- SOUND(880);
- DELAY(300);
- NOSOUND;
- END;
- UNTIL (FUNC>0) AND (FUNC<11);
-
- CASE FUNC OF
- 1 : WRITE(LST,CHR(15));
- 2 : WRITE(LST,CHR(18));
- 3 : WRITE(LST,CHR(27), CHR(69));
- 4 : WRITE(LST,CHR(27), CHR(70));
- 5 : WRITE(LST,CHR(27), CHR(71));
- 6 : WRITE(LST,CHR(27), CHR(72));
- 7 : WRITELN(LST);
- 8 : WRITE(LST,CHR(12));
- 9 : WRITELN(LST, 'TEST PRINT LINE');
- END;
-
-
- { CHECK THE STATUS OF THE OPTIONS }
-
- IF FUNC < 7 THEN
- BEGIN
- STATUS[FUNC]:=TRUE;
- IF (FUNC/2) = (FUNC DIV 2)
- THEN STATUS[FUNC-1]:=FALSE
- ELSE STATUS[FUNC+1]:=FALSE;
- IF STATUS[3]
- THEN BEGIN
- STATUS[1] := FALSE;
- STATUS[2] := TRUE;
- END;
- END;
-
- UNTIL FUNC = 10;
-
- END.