From 04e68443040c7abad84d66477e98f93bed701760 Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Mon, 4 Feb 2019 13:09:03 +0100 Subject: Initial import --- app/schulis/2.2.1/src/5.merkmale | 52 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 app/schulis/2.2.1/src/5.merkmale (limited to 'app/schulis/2.2.1/src/5.merkmale') diff --git a/app/schulis/2.2.1/src/5.merkmale b/app/schulis/2.2.1/src/5.merkmale new file mode 100644 index 0000000..f41709f --- /dev/null +++ b/app/schulis/2.2.1/src/5.merkmale @@ -0,0 +1,52 @@ +PACKET merkmaleDEFINES statfeldname,statfeldlaenge,statfeldpos,statfeldart, +statdatenbasiszeile,vergleichbaresdatum:LET niltext="",space=" ",null="0", +arttext=1,artdate=2,artzahl=3;ROW 50INT CONST feldnr:=ROW 50INT :(5,6,7,8,10, +12,13,0,16,17,18,0,27,35,36,38,39,42,43,44,45,46,47,48,49,50,55,56,58,59,61, +62,64,65,67,68,69,0,0,0,0,0,0,0,0,0,0,0,0,0);ROW 50INT CONST feldlaenge:=ROW +50INT :(8,3,2,4,1,1,2,2,8,1,1,2,3,3,1,1,3,2,8,4,4,4,4,4,4,4,2,3,2,3,2,3,2,3,2 +,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9);ROW 50INT CONST feldpos:=ROW 50INT :(1,9,12, +14,18,19,20,22,24,32,33,34,36,39,42,43,44,47,49,57,61,65,69,73,77,81,85,87,90 +,92,95,97,100,102,105,107,115,123,132,141,150,159,168,177,186,195,204,213,222 +,231);ROW 50INT CONST feldart:=ROW 50INT :(2,1,3,1,1,1,3,1,2,1,1,1,1,1,1,1,1, +3,2,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1);TEXT +CONST leerezeile:=(feldpos[38]-1)*space,leerekurse:=(feldlaenge[38]*(50-37))* +space;TEXT PROC statfeldname(INT CONST merkmal):INT CONST feldnum:=feldnr[ +merkmal];IF feldnum>0THEN name(feldnum)ELIF merkmal=8THEN +"Schulart letzte Schule"ELIF merkmal=12THEN "Schulart neue Schule"ELSE text( +merkmal-37)+". Kurs"FI .END PROC statfeldname;INT PROC statfeldlaenge(INT +CONST merkmal):feldlaenge[merkmal]END PROC statfeldlaenge;INT PROC +statfeldpos(INT CONST merkmal):feldpos[merkmal]END PROC statfeldpos;INT PROC +statfeldart(INT CONST merkmal):feldart[merkmal]END PROC statfeldart;TEXT +PROC statdatenbasiszeile:TEXT VAR zeile:=leerezeile,kurse:=leerekurse,kennung +,schule;INT VAR feldzaehler;holediffdaten;uebertragestandardfelder; +uebertrageschularten;IF hjdatendaTHEN uebertragehjdatenFI ;zeileCAT kurse; +zeile.uebertragestandardfelder:FOR feldzaehlerFROM 1UPTO 38REP IF feldnr[ +feldzaehler]>0THEN replace(zeile,feldpos[feldzaehler],feldinhalt);FI ;PER . +feldinhalt:SELECT feldart[feldzaehler]OF CASE arttext:feldwertCASE artdate: +vergleichbaresdatum(feldwert)CASE artzahl:kennung:=compress(feldwert);( +feldlaenge[feldzaehler]-length(kennung))*null+kennungOTHERWISE niltextEND +SELECT .feldwert:subtext(wert(feldnr[feldzaehler]),1,feldlaenge[feldzaehler]) +.holediffdaten:IF wert(fnrsutiddiffdaten)=niltextTHEN errorstop( +"Keine Diffdaten zu Schüler "+wert(fnrsufamnames));ELSE readtid(dnrdiffdaten, +wert(fnrsutiddiffdaten));FI .uebertrageschularten:schule:=wert( +fnrsuskennlschule);IF schule>niltextTHEN putwert(fnrschkennung,schule);search +(dnrschulen);IF dbstatus=okTHEN replace(zeile,feldpos[8],wert(fnrschart));FI +;FI ;schule:=wert(fnrsuskennnschule);IF schule>niltextTHEN putwert( +fnrschkennung,schule);search(dnrschulen);IF dbstatus=okTHEN replace(zeile, +feldpos[12],wert(fnrschart));FI ;FI .hjdatenda:wert(fnrsutidakthjd)>niltext. +uebertragehjdaten:readtid(dnrhalbjahresdaten,wert(fnrsutidakthjd));kennung:= +wert(fnrhjdkursart);FOR feldzaehlerFROM 0UPTO length(kennung)DIV 2-1REP +replace(kurse,feldzaehler*9+1,diesekurskennung);PER ;kennung:=wert(fnrhjdfach +);FOR feldzaehlerFROM 0UPTO length(kennung)DIV 2-1REP replace(kurse, +feldzaehler*9+3,diesefachkennung);PER ;kennung:=wert(fnrhjdlerngrpkenn);FOR +feldzaehlerFROM 0UPTO length(kennung)DIV 2-1REP replace(kurse,feldzaehler*9+5 +,dieselernkennung);PER ;kennung:=wert(fnrhjdklausurteiln);FOR feldzaehler +FROM 1UPTO length(kennung)REP replace(kurse,feldzaehler*9,dieseklsrkennung); +PER .diesekurskennung:subtext(kennung,feldzaehler*2+1,feldzaehler*2+2). +diesefachkennung:subtext(kennung,feldzaehler*2+1,feldzaehler*2+2). +dieselernkennung:subtext(kennung,feldzaehler*4+1,feldzaehler*4+4). +dieseklsrkennung:kennungSUB feldzaehler.END PROC statdatenbasiszeile;TEXT +PROC vergleichbaresdatum(TEXT CONST dat):INT CONST datzahl:=datum(dat);IF +datzahl<0THEN " 0"+text(datzahl-minint,5)ELSE " 1"+text(datzahl,5)FI END +PROC vergleichbaresdatum;END PACKET merkmale; + -- cgit v1.2.3