home *** CD-ROM | disk | FTP | other *** search
-
- PROGRAM EPSON;
- { EPSON- DRUCKER- EINSTELLUNG }
-
- USES CRT,PRINTER;
-
- CONST ON = TRUE;
- OFF = FALSE;
-
- VAR I,J,K : INTEGER;
- WERT : INTEGER;
- CH : CHAR;
- S : STRING[80];
-
-
- PROCEDURE ROMAN;
- BEGIN
- WRITE(LST,^[,'x',^A); { NLQ EIN }
- WRITE(LST,^[,'k',^@); { NLQ SCHRIFTART ROMAN }
- END;
-
-
- PROCEDURE SANS_SERIF;
- BEGIN
- WRITE(LST,^[,'x',^A); { NLQ EIN }
- WRITE(LST,^[,'k',^A); { NLQ SCHRIFTART SANS SERIF }
- END;
-
-
- PROCEDURE DRAFT;
- BEGIN
- WRITE(LST,^[,'x',^@); { NLQ AUS = DRAFT }
- END;
-
-
- PROCEDURE PROPORTIONAL(ONOFF:BOOLEAN);
- BEGIN
- IF ONOFF THEN WRITE(LST,^[,'p',^A) { PROPORTIONAL EIN }
- ELSE WRITE(LST,^[,'p',^@); { PROPORTIONAL AUS }
- END;
-
-
- PROCEDURE DOPPELHOCH(ONOFF:BOOLEAN);
- BEGIN
- IF ONOFF THEN WRITE(LST,^[,'w',^A) { DOPPELT HOCH EIN }
- ELSE WRITE(LST,^[,'w',^@); { DOPPELT HOCH AUS }
- END;
-
-
- PROCEDURE SUPERSCRIPT(ONOFF:BOOLEAN);
- BEGIN
- IF ONOFF THEN WRITE(LST,^[,'S',^@) { SUPERSCRIPT }
- ELSE WRITE(LST,^[,'T'); { SUPER / SUBSCRIPT AUS }
- { WRITE(LST,^[,'S',^A); { SUBSCRIPT }
- END;
-
-
- PROCEDURE FETT(ONOFF:BOOLEAN);
- BEGIN
- IF ONOFF THEN WRITE(LST,^[,'E') { FETTDRUCK EIN }
- ELSE WRITE(LST,^[,'F'); { FETTDRUCK AUS }
- END;
-
-
- PROCEDURE BOLD(ONOFF:BOOLEAN);
- BEGIN
- IF ONOFF THEN WRITE(LST,^[,'G') { DOPPELDRUCK EIN }
- ELSE WRITE(LST,^[,'H'); { DOPPELDRUCK AUS }
- END;
-
-
- PROCEDURE UNDERLINE(ONOFF:BOOLEAN);
- BEGIN
- IF ONOFF THEN WRITE(LST,^[,'-',^A) { UNDERLINE EIN }
- ELSE WRITE(LST,^[,'-',^@); { UNDERLINE AUS }
- END;
-
-
- PROCEDURE KURSIV(ONOFF:BOOLEAN);
- BEGIN
- IF ONOFF THEN WRITE(LST,^[,'4') { KURSIV EIN }
- ELSE WRITE(LST,^[,'5'); { KURSIV AUS }
- END;
-
-
- PROCEDURE SETCPI(BREITE:INTEGER);
- BEGIN;
- WRITE(LST,CHR($12)); { CONDENSED AUS }
- WRITE(LST,^[,'W',^@); { BREITDRUCK AUS }
-
- CASE BREITE OF
- 5 : BEGIN
- WRITE(LST,^[,'P'); { PICA 10 CPI }
- WRITE(LST,^[,'W',^A); { BREITDRUCK EIN }
- END;
- 6 : BEGIN
- WRITE(LST,^[,'M'); { ELITE 12 CPI }
- WRITE(LST,^[,'W',^A); { BREITDRUCK EIN }
- END;
- 7 : BEGIN
- WRITE(LST,^[,'g'); { MICRO 15 CPI }
- WRITE(LST,^[,'W',^A); { BREITDRUCK EIN }
- END;
- 10 : BEGIN
- WRITE(LST,^[,'P'); { PICA 10 CPI }
- END;
- 12 : BEGIN
- WRITE(LST,^[,'M'); { ELITE 12 CPI }
- END;
- 15 : BEGIN
- WRITE(LST,^[,'g'); { MICRO 15 CPI }
- END;
- 17 : BEGIN
- WRITE(LST,^[,'P'); { PICA 10 CPI }
- WRITE(LST,CHR($0F)); { CONDENSED EIN }
- END;
- 20 : BEGIN
- WRITE(LST,^[,'M'); { ELITE 12 CPI }
- WRITE(LST,CHR($0F)); { CONDENSED EIN }
- END;
- END; { CASE }
- END;
-
-
- PROCEDURE SETSKIP(ABSTAND:INTEGER);
- BEGIN
- CASE ABSTAND OF
- 1..10 : WRITE(LST,^[,'N',CHR(ABSTAND));
- ELSE WRITE(LST,^[,'O'); { KEIN SKIP }
- END; { CASE }
- END;
-
-
- PROCEDURE SETLPI(ABSTAND:INTEGER);
- BEGIN
- CASE ABSTAND OF
- 3 : WRITE(LST,^[,'A',CHR(20));
- 4 : WRITE(LST,^[,'A',CHR(15));
- 6 : WRITE(LST,^[,'2');
- 8 : WRITE(LST,^[,'0');
- 12 : WRITE(LST,^[,'A',CHR(5));
- END; { CASE }
- END;
-
-
- PROCEDURE SETFORM(LAENGE:INTEGER);
- BEGIN
- CASE LAENGE OF
- 0 : WRITE(LST,^['C',^A);
- 1..22 : WRITE(LST,^[,'C',^@,CHR(LAENGE));
- END;
- END;
-
-
- PROCEDURE GRAFSATZ(ONOFF:BOOLEAN);
- BEGIN
- IF ONOFF THEN WRITE(LST,^[,'t',^A) { GRAFIK ZEICHENSATZ EIN }
- ELSE WRITE(LST,^[,'t',^@); { GRAFIK ZEICHENSATZ AUS }
- END;
-
-
- FUNCTION GETNUM:INTEGER;
- VAR I : INTEGER;
- BEGIN
- I := 0;
- WHILE (LENGTH(S)>0) AND (S[1] IN ['0'..'9']) DO BEGIN
- I := 10 * I + ORD(S[1]) - $30;
- DELETE(S,1,1);
- END;
- GETNUM := I;
- END;
-
-
- PROCEDURE HILFE;
- BEGIN
- WRITELN('Programmaufruf : EPSON Parameter');
- WRITELN;
- WRITELN('1. Parameter- Zeichen "+" = KEINE Default- Wert- Einstellung');
- WRITELN;
- WRITELN('Schriftarten : Dn = Draft mit n CPI Breite');
- WRITELN(' Rn = NLQ Roman mit n CPI Breite');
- WRITELN(' Sn = NLQ Sans Serif mit n CPI Breite');
- WRITELN(' PR = proportional Roman normal');
- WRITELN(' PRS = proportional Roman schmal');
- WRITELN(' PRB = proportional Roman breit');
- WRITELN(' PS = proportional Sans Serif normal');
- WRITELN(' PSS = proportional Sans Serif schmal');
- WRITELN(' PSB = proportional Sans Serif breit');
- WRITELN('fuer Breite sind folgende Werte zulässig :');
- WRITELN(' 5,6,7,10,12,15,17,20 Default ist 10 Zeichen pro Zoll');
- WRITELN('7 = 7,5 Zeichen pro Zoll');
- WRITELN('bei 7 und 15 wird die Schrift mit halber Hoehe gedruckt');
- WRITELN;
-
- WRITE('Taste drücken ');
- CH := READKEY; IF CH = ^@ THEN CH := READKEY;
- WRITE(CHR(13));
-
- WRITELN(' Doppelte Schrifthöhe : H (hoch)');
- WRITELN(' Halbe Schrifthöhe : K (klein)');
- WRITELN(' Fettdruck : F (fett)');
- WRITELN(' Doppelanschlag : B (bold)');
- WRITELN(' Kursiv : I (italic)');
- WRITELN(' Unterstrichen : U');
- WRITELN('Grafik Zeichensatz ein : G');
- WRITELN;
- WRITELN('Zeilenabstand : Zn');
- WRITELN(' zulässige Werte : 3,4,6,8,12 Default = 6');
- WRITELN;
- WRITELN('Skip over Perforation : Yn');
- WRITELN(' zulässige Werte : 1..10 (Zeilen) Default = 0');
- WRITELN;
- WRITELN('Formularlänge : Ln');
- WRITELN(' Die Länge wird in Zoll ganzzahlig angegeben, Default = 12');
-
- END;
-
-
- PROCEDURE MENUE;
- BEGIN
- WRITELN('ES IST NOCH KEIN MENUE INSTALLIERT');
- WRITELN;
- HILFE;
- {
- 5 CPI 6 CPI 7.5 CPI 10 CPI 12 CPI 15 CPI 17 CPI 20 CPI
- DRAFT
- ROMAN
- SANS SERIF
-
- PROPORTIONAL BREIT NORMAL SCHMAL
-
-
- DOPPELT HOCH
- SUPERSCRIPT
- FETT
- DOPPELT
- KURSIV
- UNTERSTRICHEN
-
- ----------------
- }
- END;
-
-
-
- BEGIN { MAIN }
- CLRSCR;
- IF PARAMCOUNT = 0 THEN MENUE
- ELSE BEGIN
-
- S := PARAMSTR(1);
- IF S[1] <> '+' THEN BEGIN
- ROMAN;
- PROPORTIONAL(OFF);
- DOPPELHOCH(OFF);
- SUPERSCRIPT(OFF);
- FETT(OFF);
- BOLD(OFF);
- UNDERLINE(OFF);
- KURSIV(OFF);
- SETCPI(10);
- SETSKIP(0);
- SETLPI(6);
- SETFORM(12);
- GRAFSATZ(OFF);
- END;
-
- FOR I := 1 TO PARAMCOUNT DO BEGIN
- S := PARAMSTR(I);
- FOR J := 1 TO LENGTH(S) DO S[I] := UPCASE(S[I]);
- WHILE LENGTH(S) > 0 DO BEGIN
- CASE S[1] OF
- 'D' : BEGIN
- DRAFT;
- DELETE(S,1,1);
- SETCPI(GETNUM);
- END;
- 'G' : BEGIN
- GRAFSATZ(ON);
- DELETE(S,1,1);
- END;
- 'R' : BEGIN
- ROMAN;
- DELETE(S,1,1);
- SETCPI(GETNUM);
- END;
- 'S' : BEGIN
- SANS_SERIF;
- DELETE(S,1,1);
- SETCPI(GETNUM);
- END;
- 'P' : BEGIN
- PROPORTIONAL(ON);
- DELETE(S,1,1);
- IF LENGTH(S) > 0 THEN BEGIN
- CASE S[1] OF
- 'R' : BEGIN
- ROMAN;
- DELETE(S,1,1);
- END;
- 'S' : BEGIN
- SANS_SERIF;
- DELETE(S,1,1);
- END;
- END; { CASE }
- IF LENGTH(S) > 0 THEN BEGIN
- CASE S[1] OF
- 'B' : BEGIN
- WRITE(LST,^[,'W',^A); { BREITDRUCK EIN }
- DELETE(S,1,1);
- END;
- 'S' : BEGIN
- WRITE(LST,CHR($0F)); { CONDENSED EIN }
- DELETE(S,1,1);
- END;
- END; { CASE }
- END;
- END;
- END;
- 'H' : BEGIN
- DOPPELHOCH(ON);
- DELETE(S,1,1);
- END;
- 'K' : BEGIN
- SUPERSCRIPT(ON);
- DELETE(S,1,1);
- END;
- 'F' : BEGIN
- FETT(ON);
- DELETE(S,1,1);
- END;
- 'B' : BEGIN
- BOLD(ON);
- DELETE(S,1,1);
- END;
- 'I' : BEGIN
- KURSIV(ON);
- DELETE(S,1,1);
- END;
- 'U' : BEGIN
- UNDERLINE(ON);
- DELETE(S,1,1);
- END;
- 'Y' : BEGIN
- DELETE(S,1,1);
- SETSKIP(GETNUM);
- END;
- 'Z' : BEGIN
- DELETE(S,1,1);
- SETLPI(GETNUM);
- END;
- 'L' : BEGIN
- DELETE(S,1,1);
- SETFORM(GETNUM);
- END;
- ELSE DELETE(S,1,1);
- END; { CASE }
- END; { WHILE }
- END;
- END;
-
-
- END.
-