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/6.ida.eingang | 87 +++++++++++++++++++++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 app/schulis/2.2.1/src/6.ida.eingang (limited to 'app/schulis/2.2.1/src/6.ida.eingang') diff --git a/app/schulis/2.2.1/src/6.ida.eingang b/app/schulis/2.2.1/src/6.ida.eingang new file mode 100644 index 0000000..c4de3f7 --- /dev/null +++ b/app/schulis/2.2.1/src/6.ida.eingang @@ -0,0 +1,87 @@ +PACKET idaeingangsbildschirmDEFINES generieredruckausgabe, +eingangsbildschirmdarstellen#,putdrucktyp,putdruckindex#:LET maskennamelehrer +="mdr lehrerweise dr eingang",maskennameeinzeln= +"mdr einzelobjekt druckausgabe eingang";LET maxfeld=8,wartemeldnr=69, +auswahlnichtkorrekt=188,auswahlnichteind=189,niltext="",mldnrformnichtda=262; +LET markiert="#";LET lehrer="Lehrer",schueler="Schüler";TEXT VAR +leitobjektklasse,scanwertlehrer;INT CONST primindex:=2;#(ROW maxfeldINT :(246 +,255,247,246,246,246,246,0),ROW maxfeldINT :(246,255,247,246,246,246,246,246) +);#ROW maxfeldINT VAR indicesschueler:=ROW maxfeldINT :(ixsustatfamrufgeb, +ixsustatjgst,ixsustatjgstzug,ixsustatfamrufgeb,ixsustatfamrufgeb, +ixsustatfamrufgeb,ixsustatfamrufgeb,ixsustatfamrufgeb);TEXT VAR maskenname:= +"";INT VAR letztenummerderdruckausgabe:=0;INT VAR druckinx,ankreuzfeld;INT +PROC druckindex:druckinxENDPROC druckindex;PROC putdruckindex(INT CONST dinx) +:druckinx:=dinxENDPROC putdruckindex;PROC eingangsbildschirmdarstellen:TEXT +VAR fname:="";INT VAR findex:=0,nochmeld;BOOL VAR ftyp; +setzelistederdruckausgabengezeigt(FALSE );IF ruecksprungTHEN ohnepruefung +ELSE mitpruefungFI .mitpruefung:IF listenweiseauswahlkorrektTHEN +letztenummerderdruckausgabe:=nummerderdruckausgabe;putdruckindex( +letztenummerderdruckausgabe);holeformular;namederdruckausgabe(getformularname +);#standardkopfmaskeaktualisieren(namederdruckausgabe);#maskedarstellen;FI . +ohnepruefung:putdruckindex(letztenummerderdruckausgabe);holeformular; +maskedarstellen.holeformular:setzenummerderdruckausgabe(text( +letztenummerderdruckausgabe));IF formexists(druckinx)THEN getform(druckinx) +ELSE formunvollstaendigFI ;#openformular(druckinx);bereitsinformularzerlegen! +#formularzerlegen(druckinx);IF getblockanzahl<1THEN formunvollstaendigFI ; +getformularinfo(fname,findex,ftyp);systemdboff.formunvollstaendig: +standardmeldung(mldnrformnichtda,niltext);return(1);LEAVE +eingangsbildschirmdarstellen.listenweiseauswahlkorrekt: +idaankreuzfelderpruefen.maskedarstellen:leitobjektklasse:=getobjektklasse(1); +IF leitobjektklasse=schuelerTHEN maskenname:=maskennameeinzelnELIF +leitobjektklasse=lehrerTHEN maskenname:=maskennamelehrerFI ;standardstartproc +(maskenname);standardkopfmaskeaktualisieren(namederdruckausgabeohne);nochmeld +:=nochmeldungauszugeben;IF nochmeld<>0THEN TEXT VAR drinx:=text(druckindex)+ +markiert;standardmeldung(nochmeld,drinx)FI ;standardnproc.END PROC +eingangsbildschirmdarstellen;PROC generieredruckausgabe(INT CONST medium): +INT VAR leitinx;generieredruck.generieredruck:IF leitobjektklasse=schueler +THEN leitinx:=leitindexschueler;ueberpruefeleitinx;putleitindex( +leitindexschueler);ELSE leitinx:=leitindexlehrer;ueberpruefeleitinx; +putleitindex(leitindexlehrer)FI ;putobjektklasse(1,leitobjektklasse);IF +leitobjektklasse=schuelerTHEN putscan(erzeugescan)ELSE putscan(scanwertlehrer +)FI ;erzeugequery(druckindex);standardmeldung(wartemeldnr,niltext); +listendruck(druckindex,medium).ueberpruefeleitinx:IF leitinx<=0THEN #return(1 +);#LEAVE generieredruckausgabeFI ;ENDPROC generieredruckausgabe;INT PROC +leitindexschueler:INT VAR wievielter;INT VAR i,leitinx,offset:=1;ankreuzfeld +:=0;pruefeeindeutigkeit;bestimmeindex;bestimmewievielterindex. +pruefeeindeutigkeit:FOR iFROM 2UPTO maxfeld+offsetREP IF standardmaskenfeld(i +)<>""THEN IF ankreuzfeld>0THEN #note("Feld : "+text(i)+" Inhalt : "+ +standardmaskenfeld(i));noteline;note("Ankreuzfeld : "+text(ankreuzfeld)); +noteline;#standardmeldung(auswahlnichteind,niltext);return(1);LEAVE +leitindexschuelerWITH (-1)ELSE ankreuzfeld:=iFI FI PER ;IF ankreuzfeld<=0 +THEN #note("Feld : "+text(i)+" Inhalt : "+standardmaskenfeld(i));noteline; +note("Ankreuzfeld : "+text(ankreuzfeld));noteline;#standardmeldung( +auswahlnichtkorrekt,niltext);return(1);LEAVE leitindexschuelerWITH (-2)FI . +bestimmeindex:leitinx:=indicesschueler[ankreuzfeld-1];. +bestimmewievielterindex:wievielter:=0;FOR iFROM firstindexUPTO firstfree-1 +REP IF dateinr(primdatid(i))=primindexTHEN wievielterINCR 1;IF i=leitinxTHEN +LEAVE leitindexschuelerWITH wievielterFI FI PER ;0ENDPROC leitindexschueler; +INT PROC leitindexlehrer:INT VAR status,leitinx;scanwertlehrer:=""; +standardpruefe(5,2,4,0,"",status);IF status<>0THEN standardmeldung( +auswahlnichtkorrekt,niltext);return(1);leitinx:=-1;ELSE IF standardmaskenfeld +(5)=""THEN IF standardmaskenfeld(2)<>""THEN leitinx:=dnrlehrerELIF +standardmaskenfeld(3)<>""THEN leitinx:=ixlfamrufELIF standardmaskenfeld(4)<> +""THEN infeld(5);standardmeldung(auswahlnichteind,niltext);return(1);leitinx +:=-1FI ;ELSE IF standardmaskenfeld(4)<>""THEN leitinx:=dnrlehrer; +scanwertlehrer:="<""";scanwertlehrerCAT standardmaskenfeld(5);scanwertlehrer +CAT """>";ELSE standardmeldung(auswahlnichtkorrekt,niltext);return(1);leitinx +:=-1;FI ;FI ;FI ;leitinxEND PROC leitindexlehrer;TEXT PROC erzeugescan:INT +VAR i,evteinzel:=0;evteinzel:=1;scanfuereinzel.scanfuereinzel:SELECT +ankreuzfeldOF CASE 2:"<""ls"">"CASE 3:statusjgstCASE 4:statusjgstzugCASE 5: +"<""ls"">"+evtschuelerCASE 6:"<""n05"">"+evtschuelerCASE 7:"<""n11"">"+ +evtschuelerCASE 8:"<""nso"">"+evtschuelerCASE 9:"<""abg"">"+evtschueler +OTHERWISE :""ENDSELECT .evtschueler:scantxt:="";FOR iFROM 12UPTO 14REP IF +standardmaskenfeld(i)<>""THEN scantxt:=scantxt+";"+"<"""+evtdatum+""">"ELSE +LEAVE evtschuelerWITH scantxtFI PER ;scantxt.evtdatum:IF i=14THEN +datumskonversion(standardmaskenfeld(i))ELSE standardmaskenfeld(i)FI . +statusjgst:IF standardmaskenfeld(9+evteinzel)<>""THEN "<""ls"">;<"""+ +jgstaufber(standardmaskenfeld(9+evteinzel))+""">"ELSE "<""ls"">"FI . +statusjgstzug:TEXT VAR scantxt:="";IF standardmaskenfeld(9+evteinzel)<>"" +THEN scantxt:="<""ls"">;<"""+jgstaufber(standardmaskenfeld(9+evteinzel))+ +""">";IF standardmaskenfeld(10+evteinzel)<>""THEN scantxt:=scantxt+";<"""+ +standardmaskenfeld(10+evteinzel)+""">"FI ;scantxtELSE "<""ls"">"FI .ENDPROC +erzeugescan;INT PROC nummerderdruckausgabe:TEXT VAR t;INT VAR i,lv;FOR lv +FROM 1UPTO 10REP IF standardmaskenfeld(lv*2#+1#)<>""THEN nummerermittelnFI +PER ;0.nummerermitteln:t:=standardmaskenfeld(lv*2+1);t:=subtext(t,1,pos(t, +" = ")-1);i:=int(t);LEAVE nummerderdruckausgabeWITH i.END PROC +nummerderdruckausgabe;ENDPACKET idaeingangsbildschirm; + -- cgit v1.2.3