summaryrefslogtreecommitdiff
path: root/system/printer-9nadel/1986/src/CHARED.ELA
diff options
context:
space:
mode:
Diffstat (limited to 'system/printer-9nadel/1986/src/CHARED.ELA')
-rw-r--r--system/printer-9nadel/1986/src/CHARED.ELA47
1 files changed, 47 insertions, 0 deletions
diff --git a/system/printer-9nadel/1986/src/CHARED.ELA b/system/printer-9nadel/1986/src/CHARED.ELA
new file mode 100644
index 0000000..a54679f
--- /dev/null
+++ b/system/printer-9nadel/1986/src/CHARED.ELA
@@ -0,0 +1,47 @@
+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