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