system/printer-9nadel/1986/src/CHARED.ELA

Raw file
Back to index

PACKET chared DEFINES chared : 
 
PROC chared (TEXT VAR text denoter, BOOL CONST dens) :
FILE VAR f := editfile; 
TEXT VAR t ; 
ROW 30 INT VAR bytes ; 
INT VAR i, zeile, max breite := 0 ; 
FOR i FROM 1 UPTO 30 REP 
 bytes(i) := 0 
PER ; 
input (f) ; 
zeile := 7 ;
WHILE NOT eof (f) REP 
 getline (f, t) ; 
 convert line ; 
 zeile DECR 1
UNTIL zeile < 0 PER ; 
convert to text denoter . 
 
 
convert line : 
 FOR i FROM 1 UPTO LENGTH t REP 
  IF (t SUB i) <> " " AND (t SUB i) <> "." 
     THEN setbit (bytes (i), zeile) ; 
          max breite := max (max breite, i)
  FI 
 PER . 
 
convert to text denoter : 
 text denoter := """""27""K""" ;
 IF dens 
   THEN text denoter CAT text (max breite) 
   ELSE text denoter CAT text (max breite DIV 2) 
 FI ; 
 text denoter CAT """""0""" ; 
 FOR i FROM 1 UPTO max breite REP 
  IF dens OR (i AND 1) = 1 
     THEN text denoter CAT """" ; 
          text denoter CAT text (bytes (i)) ; 
          text denoter CAT """"
  FI
 PER ; 
 text denoter CAT """" . 
 
ENDPROC chared ; 
 
ENDPACKET chared