app/schulis/2.2.1/src/0.listen.werkzeuge

Raw file
Back to index

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;