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/2.likw schuelerwahl sek2 | 173 +++++++++++++++++++++++++ 1 file changed, 173 insertions(+) create mode 100644 app/schulis/2.2.1/src/2.likw schuelerwahl sek2 (limited to 'app/schulis/2.2.1/src/2.likw schuelerwahl sek2') diff --git a/app/schulis/2.2.1/src/2.likw schuelerwahl sek2 b/app/schulis/2.2.1/src/2.likw schuelerwahl sek2 new file mode 100644 index 0000000..7b395a3 --- /dev/null +++ b/app/schulis/2.2.1/src/2.likw schuelerwahl sek2 @@ -0,0 +1,173 @@ +PACKET likwschuelerwahlsek2DEFINES kurswahlauszaehlenspezielleteile:LET +AUSGFELD =ROW ausgfeldlaengeTEXT ,AUSGKOPF =ROW ausgkopflaengeTEXT , +AUSGKOPFDRUCK =ROW ausgkopflaengeTEXT ;AUSGFELD VAR ausgfeld;AUSGKOPF VAR +ausgkopf;AUSGKOPFDRUCK VAR ausgkopfdruck;#K onstantenzurM askenbearbeitung# +LET maskeschuelerwahl="ms schuelerwahl auszaehlen sek2 eingang",fnr2fuerjgst= +2,fnr3fuerhj=3,fnr4jgstls=4,fnr5jgstneu=5,fnr6kurswahl=6,fnr7bs=7,fnr8dr=8, +ausgfeldlaenge=1,anzahlobjekteprobildschirm=13,ueberschriftenzeilen=2,# +imstand.D ruckkopf#ausgkopflaenge=2,spaltentrenner=" :",spaltenbreite1=7, +spaltenbreite2=6,spaltenbreite3bis13=3,bsanfpos=2,klausurbestand= +"c02 abitur klausur";TEXT CONST kopfueb1teil1:="Wahlergebnis für Jgst. ", +kopfueb1teil2:=" im Schuljahr ",kopfueb2teil1:="Schüler der jetzigen Jgst. ", +kopfueb2teil2:=" und der ",kopfueb2teil3:="Neuangemeldeten zur Jgst. ", +unterstreichung:="--------+-------+"+11*"----+",tabueb1:="Angebot gewählt "; +TEXT VAR tabueb2,kwsek2auszaehlenueb:="Wahlergebnis auszählen",klausurkuerzel +,textueb1:="",textueb2:="";INT VAR bildanfang,druckzeilenzahl,status, +dbstatusmerker,aktuellerindex,feldnr;LET mnrjgstfalsch=404,mnrjgstfehlt=172, +mnrhjfalsch=405,mnrkeinekwdatenda=406,mnrkeinekuerzelda=408, +mnrbearbeitetwerden=352,mnrbittewarten=69;INT VAR mnrallgemein;LET niltext="" +,punkt=".",querstrich="/",blank=" ",vierblank=" ",null=0,maxkuerzel=11, +zwoelf=12;ROW zwoelfINT VAR gesamtundeinzelsummen;INT VAR anzkuerzel,x;LET +neuangemeldete="N",allederjgst="",ohneneuang="O";BOOL VAR bildschirmausgabe, +kurswahlen,nurls,lsundneue,nurneue;TEXT VAR dbsj,dbhj,dbjgst,fuerkwsj, +fuerjgst:="",fuerhj:="",jgstls:="",jgstneu:="",fach,art,kennung,klkuerzel; +BOOL PROC multistop:IF kurswahlenTHEN dbstatus=0AND dbjgst=wert(fnrlvjgst) +AND dbsj=wert(fnrlvsj)AND dbhj=wert(fnrlvhj)ELSE dbstatus=0AND dbjgst=wert( +fnrfangjgst)AND dbsj=wert(fnrfangsj)AND dbhj=wert(fnrfanghj)FI END PROC +multistop;BOOL PROC multistopsim:BOOL VAR b;setzebestandende(FALSE );b:= +multistop;IF NOT multistopTHEN setzebestandende(TRUE )FI ;bEND PROC +multistopsim;PROC kurswahlauszaehlenspezielleteile(INT CONST nr):SELECT nrOF +CASE 1:kwsek2auszaehlendialogvorbereitenCASE 2: +kwsek2auszaehleneingabenrichtigCASE 3:kwsek2auszaehlenlistenvorbereitenCASE 4 +:kwsek2auszaehlendruckvorbereitenCASE 5:kwsek2auszaehlenseitedruckenCASE 6: +kwsek2auszaehlenbildschirmvorbereitenCASE 7:kwsek2auszaehlenseitezeigen +ENDSELECT .END PROC kurswahlauszaehlenspezielleteile;PROC +kwsek2auszaehlendialogvorbereiten:kwsek2auszaehlenueb:=text(vergleichsknoten) +;setzeanfangswerte(maskeschuelerwahl,bsanfpos)END PROC +kwsek2auszaehlendialogvorbereiten;PROC kwsek2auszaehleneingabenrichtig:nurls +:=FALSE ;lsundneue:=FALSE ;nurneue:=FALSE ;standardmeldung(mnrbittewarten, +niltext);standardpruefe(5,fnr7bs,fnr8dr,null,niltext,status);IF status<>0 +THEN infeld(status);setzeeingabetest(FALSE )ELSE fuerjgst:=standardmaskenfeld +(fnr2fuerjgst);fuerhj:=standardmaskenfeld(fnr3fuerhj);jgstls:= +standardmaskenfeld(fnr4jgstls);jgstneu:=standardmaskenfeld(fnr5jgstneu);IF +NOT eingabenzujgstundhjkorrektTHEN standardmeldung(mnrallgemein,niltext); +setzeeingabetest(FALSE )ELSE kurswahlen:=standardmaskenfeld(fnr6kurswahl)<> +niltext;bildschirmausgabe:=standardmaskenfeld(fnr8dr)=niltext;IF NOT ( +datenraumfürgewaehltessjda)THEN standardmeldung(mnrkeinekwdatenda,niltext); +setzeeingabetest(FALSE )ELSE IF keineklausurkuerzelvorhandenTHEN +standardmeldung(mnrkeinekuerzelda,niltext);setzeeingabetest(FALSE )ELSE +setzeeingabetest(TRUE );setzeausgabedrucker(NOT bildschirmausgabe)FI ;FI ;FI +;FI ;.keineklausurkuerzelvorhanden:BOOL VAR nix:=TRUE ;klausurkuerzel:= +niltext;inittupel(dnrschluessel);putwert(fnrschlsachgebiet,klausurbestand); +search(dnrschluessel,FALSE );anzkuerzel:=0;IF dbstatus<>0COR wert( +fnrschlsachgebiet)<>klausurbestandTHEN LEAVE keineklausurkuerzelvorhanden +WITH nixELSE FOR xFROM 1UPTO maxkuerzelREP IF wert(fnrschlsachgebiet)= +klausurbestandTHEN klausurkuerzelCAT wert(fnrschlschluessel);anzkuerzelINCR 1 +;succ(dnrschluessel)FI ;PER ;FI ;nix:=anzkuerzel=0;nix. +eingabenzujgstundhjkorrekt:dbhj:=schulkenndatum("Schulhalbjahr");dbsj:= +schulkenndatum("Schuljahr");INT VAR jgst;standardpruefe(2,fnr2fuerjgst,null, +null,niltext,status);IF status<>0THEN mnrallgemein:=mnrjgstfalsch;infeld( +fnr2fuerjgst);LEAVE eingabenzujgstundhjkorrektWITH FALSE FI ;jgst:=int( +fuerjgst);IF jgst<11COR jgst>13THEN mnrallgemein:=mnrjgstfalsch;infeld( +fnr2fuerjgst);LEAVE eingabenzujgstundhjkorrektWITH FALSE FI ;IF fuerhj<>"1" +AND fuerhj<>"2"THEN mnrallgemein:=mnrhjfalsch;infeld(fnr3fuerhj);LEAVE +eingabenzujgstundhjkorrektWITH FALSE FI ;IF jgstls=niltextAND jgstneu=niltext +THEN mnrallgemein:=mnrjgstfehlt;infeld(fnr4jgstls);LEAVE +eingabenzujgstundhjkorrektWITH FALSE FI ;jgst:=int(jgstls);IF jgstls<>niltext +THEN standardpruefe(2,fnr4jgstls,null,null,niltext,status);IF status<>0COR ( +jgst<10COR jgst>13)THEN mnrallgemein:=mnrjgstfalsch;infeld(fnr4jgstls);LEAVE +eingabenzujgstundhjkorrektWITH FALSE FI ;FI ;jgst:=int(jgstneu);IF jgstneu<> +niltextTHEN standardpruefe(2,fnr5jgstneu,null,null,niltext,status);IF status +<>0COR (jgst<11COR jgst>13)THEN mnrallgemein:=mnrhjfalsch;infeld(fnr5jgstneu) +;LEAVE eingabenzujgstundhjkorrektWITH FALSE FI ;FI ;IF jgstls<>niltextAND +jgstneu<>niltextTHEN IF int(jgstls)+1=int(jgstneu)AND jgstneu<=fuerjgstTHEN +lsundneue:=TRUE ELSE mnrallgemein:=mnrjgstfalsch;infeld(fnr4jgstls);LEAVE +eingabenzujgstundhjkorrektWITH FALSE FI ;ELIF jgstls=niltextTHEN IF jgstneu> +fuerjgstTHEN mnrallgemein:=mnrjgstfalsch;infeld(fnr4jgstls);LEAVE +eingabenzujgstundhjkorrektWITH FALSE ELSE nurneue:=TRUE FI ;ELSE IF jgstls> +fuerjgstTHEN mnrallgemein:=mnrjgstfalsch;infeld(fnr2fuerjgst);LEAVE +eingabenzujgstundhjkorrektWITH FALSE ELIF (jgstls="10"AND dbhj="1")COR ( +jgstls=fuerjgstAND fuerhj