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/4.zeitwuensche drucken | 129 +++++++++++++++++++++++++++ 1 file changed, 129 insertions(+) create mode 100644 app/schulis/2.2.1/src/4.zeitwuensche drucken (limited to 'app/schulis/2.2.1/src/4.zeitwuensche drucken') diff --git a/app/schulis/2.2.1/src/4.zeitwuensche drucken b/app/schulis/2.2.1/src/4.zeitwuensche drucken new file mode 100644 index 0000000..521ab2b --- /dev/null +++ b/app/schulis/2.2.1/src/4.zeitwuensche drucken @@ -0,0 +1,129 @@ +PACKET zeitwuenschedruckenDEFINES zeitwuenschespezielleteile:LET AUSGFELD = +ROW ausgfeldlaengeTEXT ,ausgfeldlaenge=18,zeilenbreite=60,zeilenanzahl=1,sj= +"Schuljahr",hj="Schulhalbjahr",ueberschrzeilen=0,ausgabeparam="#",eingmaske= +"ms liste zeitwuensche",meldungbearb=352,meldungpraez=129,fldsortlehrer=2, +fldsortsugrup=3,fldsortraeume=4,fldsortfaecher=5,fldsortkopplg=6,fldakthj=7, +fldaufdr=9,fldaufbs=8,posanzut=1,posgewut=3,posanzvm=4,posgewvm=6,posanznm=7, +posgewnm=9,ausganzpos=11,ausggewpos=18,minus="-",plus="+",leerzeile=" ", +kennzlehrer="P",kennzsugrup="S",kennzraeume="R",kennzfaecher="F",kennzkoppl= +"K",moeintrag="Mo ",dieintrag="Di ",mieintrag="Mi ",doeintrag="Do ", +freintrag="Fr ",saeintrag="Sa ",anhangl="Lehrer ",anhangs="Schülergruppen " +,anhangr="Räume ",anhangf="Fächer ",anhangk="Kopplungen ",ueberschrift= +"Liste der Zeitwünsche für ",leererunbestwunsch=" ";AUSGFELD VAR +ausgfeld;INT VAR i,status,druckzeilenzahl,fall;TEXT VAR bezug,objekt, +objektbez,druckstrich;TEXT VAR sjahr,hjahr;INT VAR schj,schhj:=0;TEXT VAR +bestwunsch,unbestwunsch,zeitwuenscheueberschrift:="";TEXT VAR bestwzeile, +unbestwtage,unbestwvorm,unbestwnachm,bestwurzeile:= +" _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _"+ +" _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ "+ +" _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ "+ +"_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ";TEXT VAR +moobjeintrag,diobjeintrag,miobjeintrag,doobjeintrag,frobjeintrag,saobjeintrag +;BOOL PROC multistop:dbstatus=okCAND wert(fnrzwbezug)=bezugCAND intwert( +fnrzwhj)=schhjCAND intwert(fnrzwsj)=schjEND PROC multistop;BOOL PROC +multistopsim:IF dbstatus=okTHEN IF intwert(fnrzwhj)=schhjCAND intwert(fnrzwsj +)=schjCAND wert(fnrzwbezug)=bezugTHEN LEAVE multistopsimWITH TRUE ELSE +setzebestandende(TRUE );LEAVE multistopsimWITH FALSE FI ELSE setzebestandende +(TRUE )FI ;FALSE END PROC multistopsim;PROC holeakthj:holakthj;holaktj;IF +standardmaskenfeld(fldakthj)=""THEN bergeplhjujFI .holakthj:hjahr:= +schulkenndatum(hj);schhj:=int(hjahr).holaktj:sjahr:=schulkenndatum(sj);schj:= +int(sjahr).bergeplhjuj:geplanteshjundsjberechnen(hjahr,sjahr);schj:=int(sjahr +);schhj:=int(hjahr).END PROC holeakthj;PROC zeitwuenschespezielleteile(INT +CONST anwahl):SELECT anwahlOF CASE 1:zeitwuenschedialogvorbereitenCASE 2: +zeitwuenscherichtigCASE 3:zeitwuenschelistenvorbereitenCASE 4: +zeitwuenschedruckvorbereitenCASE 5:zeitwuenscheseitedruckenCASE 6: +zeitwuenschebsvorbereitenCASE 7:zeitwuenscheseitezeigenEND SELECT .END PROC +zeitwuenschespezielleteile;PROC zeitwuenschedialogvorbereiten: +setzeanfangswerte(eingmaske,fldsortlehrer)END PROC +zeitwuenschedialogvorbereiten;PROC zeitwuenscherichtig:IF standardmaskenfeld( +fldsortlehrer)=""CAND standardmaskenfeld(fldsortsugrup)=""CAND +standardmaskenfeld(fldsortraeume)=""CAND standardmaskenfeld(fldsortfaecher)= +""CAND standardmaskenfeld(fldsortkopplg)=""THEN standardmeldung(meldungpraez, +"");setzeeingabetest(FALSE );infeld(fldsortlehrer);LEAVE zeitwuenscherichtig +ELIF standardmaskenfeld(fldaufdr)=""CAND standardmaskenfeld(fldaufbs)=""THEN +standardmeldung(meldungpraez,"");setzeeingabetest(FALSE );infeld( +fldsortlehrer);LEAVE zeitwuenscherichtigFI ;standardpruefe(5,fldsortlehrer, +fldsortkopplg,0,"",status);IF status<>0THEN infeld(status);setzeeingabetest( +FALSE )ELSE standardpruefe(5,fldaufdr,fldaufbs,0,"",status);IF status<>0THEN +infeld(status);setzeeingabetest(FALSE )ELSE IF standardmaskenfeld( +fldsortlehrer)<>""THEN fall:=fldsortlehrer;objektbez:=anhangl;bezug:= +kennzlehrerELIF standardmaskenfeld(fldsortsugrup)<>""THEN fall:=fldsortsugrup +;objektbez:=anhangs;bezug:=kennzsugrupELIF standardmaskenfeld(fldsortraeume) +<>""THEN fall:=fldsortraeume;objektbez:=anhangr;bezug:=kennzraeumeELIF +standardmaskenfeld(fldsortfaecher)<>""THEN fall:=fldsortfaecher;objektbez:= +anhangf;bezug:=kennzfaecherELIF standardmaskenfeld(fldsortkopplg)<>""THEN +fall:=fldsortkopplg;objektbez:=anhangk;bezug:=kennzkopplFI ; +setzeausgabedrucker(standardmaskenfeld(fldaufdr)<>"");setzeeingabetest(TRUE ) +;holeakthj;zeitwuenscheueberschrift:=ueberschrift+objektbez+hjahr+". "+text( +sjahr,2)+"/"+subtext(sjahr,3)FI ;FI END PROC zeitwuenscherichtig;PROC +zeitwuenschelistenvorbereiten:BOOL VAR b;inittupel(dnrzeitwuensche);initobli( +zeilenanzahl);setzeidentiwert("");setzewerte;objektlistestarten( +dnrzeitwuensche,sjahr,fnrzwbezugsobjekt,TRUE ,b);setzebestandende(NOT +multistopCOR b).setzewerte:putintwert(fnrzwsj,schj);putintwert(fnrzwhj,schhj) +;putwert(fnrzwbezug,bezug).END PROC zeitwuenschelistenvorbereiten;PROC +zeitwuenschebsvorbereiten:standardkopfmaskeaktualisieren(zentriert( +zeitwuenscheueberschrift,51));setzebildanfangsposition(3)END PROC +zeitwuenschebsvorbereiten;PROC zeitwuenscheseitezeigen:blaettern(PROC (INT +CONST )zeitwuenschezeigen,aktion,TRUE ,TRUE ,BOOL PROC multistop);END PROC +zeitwuenscheseitezeigen;PROC zeitwuenschezeigen(INT CONST procparameter): +zeitwuenscheholen;zeitwuenscheaufbereiten;zeitwuenscheaufbs;END PROC +zeitwuenschezeigen;PROC zeitwuenscheholen:objekt:=wert(fnrzwbezugsobjekt); +bestwunsch:=wert(fnrzwbestimmtewuensche);unbestwunsch:=wert( +fnrzwunbestimmtewuensche);IF NOT multistopTHEN setzebestandende(TRUE )FI . +END PROC zeitwuenscheholen;PROC zeitwuenscheaufbereiten:bereiteobjektauf( +objekt)END PROC zeitwuenscheaufbereiten;PROC zeitwuenscheaufbs:FOR iFROM 1 +UPTO ausgfeldlaengeREP ausgfeld(i)IN ausgabepos;erhoeheausgabeposumeinsPER +END PROC zeitwuenscheaufbs;PROC zeitwuenschedruckvorbereiten:druckvorbereiten +;variablensetzen;initdruckkopf(zentriert(zeitwuenscheueberschrift,druckbreite +));inittupel(dnrzeitwuensche);setzebestandende(FALSE );setzewerte; +lesenvorbereitendruck(PROC (INT CONST ,BOOL PROC ,INT VAR )scanforward,BOOL +PROC multistopsim).variablensetzen:druckstrich:=druckbreite*"-"; +druckzeilenzahl:=drucklaenge(ueberschrzeilen).setzewerte:putintwert(fnrzwsj, +schj);putintwert(fnrzwhj,schhj);putwert(fnrzwbezug,bezug).END PROC +zeitwuenschedruckvorbereiten;PROC zeitwuenscheseitedrucken: +zeitwuenscheueberschriftdrucken;seitedrucken(PROC (INT VAR ) +zeitwuenschedrucken,druckzeilenzahl,ausgfeldlaenge,BOOL PROC multistopsim); +seitenwechselEND PROC zeitwuenscheseitedrucken;PROC +zeitwuenscheueberschriftdrucken:druckkopfschreibenEND PROC +zeitwuenscheueberschriftdrucken;PROC zeitwuenschedrucken(INT VAR zz): +zeitwuenscheholen;standardmeldung(meldungbearb,objektbez+objekt+ausgabeparam) +;zeitwuenscheaufbereiten(zz);zeitwuenscheindruckdatei(zz)END PROC +zeitwuenschedrucken;PROC zeitwuenscheaufbereiten(INT VAR zz):bereiteobjektauf +(objekt)END PROC zeitwuenscheaufbereiten;PROC zeitwuenscheindruckdatei(INT +VAR zz):FOR iFROM 1UPTO ausgfeldlaengeREP druckzeileschreiben(ausgfeld(i));zz +INCR 1PER ;druckzeileschreiben(leerzeile);zzINCR 1;druckzeileschreiben( +leerzeile);zzINCR 1END PROC zeitwuenscheindruckdatei;PROC bereiteobjektauf( +TEXT CONST objekt):INT VAR suchpos:=1;TEXT VAR wunsch:="";moobjeintrag:= +moeintrag;diobjeintrag:=dieintrag;miobjeintrag:=mieintrag;doobjeintrag:= +doeintrag;frobjeintrag:=freintrag;saobjeintrag:=saeintrag;uebertragwuensche; +ausgfeld(1):=(objekt+":");ausgfeld(2):=leerzeile;ausgfeld(3):=( +"Wünsche zu festen Zeiten:");ausgfeld(4):=(leerzeile);ausgfeld(5):=( +" 1 2 3 4 5 6 7 8 9 10 11 12");ausgfeld(6):=( +moobjeintrag+text(bestwzeile,48));ausgfeld(7):=(diobjeintrag+subtext( +bestwzeile,49,96));ausgfeld(8):=(miobjeintrag+subtext(bestwzeile,97,144)); +ausgfeld(9):=(doobjeintrag+subtext(bestwzeile,145,192));ausgfeld(10):=( +frobjeintrag+subtext(bestwzeile,193,240));ausgfeld(11):=(saobjeintrag+subtext +(bestwzeile,241));ausgfeld(12):=(leerzeile);ausgfeld(13):=( +" allgemeine Wünsche:");ausgfeld(14):=( +" Anzahl/Gewicht ");ausgfeld(15):=("ganze Tage " ++unbestwtage);ausgfeld(16):=("zusätzl. Vorm. "+unbestwvorm);ausgfeld(17):=( +"zusätzl. Nachm. "+unbestwnachm);ausgfeld(18):=(leerzeile).uebertragwuensche: +bestwzeile:=bestwurzeile;unbestwtage:=" _ _ ";unbestwvorm:= +" _ _ ";unbestwnachm:=" _ _ ";tragbestwuenscheein +;tragunbestwuenscheein.tragbestwuenscheein:suchpos:=1;WHILE suchpos<>0REP +suchpos:=pos(bestwunsch,minus,suchpos);IF suchpos<>0THEN wunsch:=subtext( +bestwunsch,suchpos,suchpos+1);replace(bestwzeile,suchpos*2-1,wunsch);suchpos +INCR 1FI ;PER ;suchpos:=1;WHILE suchpos<>0REP suchpos:=pos(bestwunsch,plus, +suchpos);IF suchpos<>0THEN wunsch:=subtext(bestwunsch,suchpos,suchpos+1); +replace(bestwzeile,suchpos*2-1,wunsch);suchposINCR 1FI ;PER . +tragunbestwuenscheein:IF unbestwunsch<>leererunbestwunschTHEN wunsch:= +unbestwunschSUB posanzut;IF wunsch<>" "THEN replace(unbestwtage,ausganzpos, +wunsch)FI ;wunsch:=unbestwunschSUB posgewut;IF wunsch<>" "THEN replace( +unbestwtage,ausggewpos,wunsch)FI ;wunsch:=unbestwunschSUB posanzvm;IF wunsch +<>" "THEN replace(unbestwvorm,ausganzpos,wunsch)FI ;wunsch:=unbestwunschSUB +posgewvm;IF wunsch<>" "THEN replace(unbestwvorm,ausggewpos,wunsch)FI ;wunsch +:=unbestwunschSUB posanznm;IF wunsch<>" "THEN replace(unbestwnachm,ausganzpos +,wunsch)FI ;wunsch:=unbestwunschSUB posgewnm;IF wunsch<>" "THEN replace( +unbestwnachm,ausggewpos,wunsch)FI FI .END PROC bereiteobjektauf;END PACKET +zeitwuenschedrucken + -- cgit v1.2.3