{$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.ÂÃ;ós‹óèÑý‹È‹ÓÃèÀÿ‹ÆÃ[¡× &‰‹Ù &‰Uÿã[&‹£× &‹E£Ù ÿã‰{‰}Ó[‰-.;W!tH.ƒ! u‹Ó´èE 
Àu