summaryrefslogtreecommitdiff
path: root/app/schulis/2.2.1/src/0.listen.werkzeuge
diff options
context:
space:
mode:
Diffstat (limited to 'app/schulis/2.2.1/src/0.listen.werkzeuge')
-rw-r--r--app/schulis/2.2.1/src/0.listen.werkzeuge29
1 files changed, 29 insertions, 0 deletions
diff --git a/app/schulis/2.2.1/src/0.listen.werkzeuge b/app/schulis/2.2.1/src/0.listen.werkzeuge
new file mode 100644
index 0000000..011db81
--- /dev/null
+++ b/app/schulis/2.2.1/src/0.listen.werkzeuge
@@ -0,0 +1,29 @@
+PACKET listenwerkzeugeDEFINES initspalten,setzespaltenbreite,
+setzespaltentrenner,spaltenweise,zeile,geblockt,zentriert,zweistellig,
+vergleichsdatum:LET maxanzspalten=20,null=0,blank=" ",niltext=""#,andenanfang
+=1,ansende=2,vorwaerts=3,rueckwaerts=4,naechstenlesen=1;#;TEXT VAR
+zwischenpuffer,spaltentrenner;INT VAR aktspalte,aktmaxanzspalten;ROW
+maxanzspaltenINT VAR spaltenbreite;PROC initspalten:INT VAR i;FOR iFROM 1
+UPTO maxanzspaltenREP spaltenbreite(i):=nullPER ;aktmaxanzspalten:=null;
+aktspalte:=1;zwischenpuffer:=niltext;spaltentrenner:=blank;END PROC
+initspalten;PROC setzespaltenbreite(INT CONST breite):aktmaxanzspaltenINCR 1;
+IF aktmaxanzspalten<=maxanzspaltenTHEN spaltenbreite(aktmaxanzspalten):=
+breiteFI ;END PROC setzespaltenbreite;PROC setzespaltentrenner(TEXT CONST
+trenner):spaltentrenner:=trennerEND PROC setzespaltentrenner;PROC
+spaltenweise(TEXT CONST t):IF aktspalte>aktmaxanzspaltenTHEN aktspalte:=1;
+zwischenpuffer:=niltextFI ;zwischenpuffer:=zwischenpuffer+text(t,
+spaltenbreite(aktspalte));IF aktspalte<aktmaxanzspaltenTHEN zwischenpuffer:=
+zwischenpuffer+spaltentrennerFI ;aktspalteINCR 1END PROC spaltenweise;TEXT
+PROC zeile:zwischenpufferEND PROC zeile;TEXT PROC geblockt(TEXT CONST links,
+rechts,INT CONST breite):links+blanks+rechts.blanks:(breite-length(links)-
+length(rechts))*blank.END PROC geblockt;TEXT PROC zentriert(TEXT CONST text,
+INT CONST breite):INT CONST blankanzahl:=breite-length(text);TEXT CONST
+blanks:=blankausgleich;IF blankanzahlgeradeTHEN blanks+text+blanksELSE blanks
++text+blanks+blankFI .blankausgleich:(blankanzahlDIV 2)*blank.
+blankanzahlgerade:blankanzahlMOD 2=0.END PROC zentriert;TEXT PROC zweistellig
+(TEXT CONST jahrgang):TEXT VAR puffer;puffer:=text(null)+jahrgang;subtext(
+puffer,length(puffer)-1).END PROC zweistellig;INT PROC vergleichsdatum(INT
+CONST jahre):INT VAR hilfe;hilfe:=int(subtext(date,7,8));hilfeDECR jahre;
+datum(subtext(date,1,6)+text(hilfe)).END PROC vergleichsdatum;END PACKET
+listenwerkzeuge;
+