summaryrefslogtreecommitdiff
path: root/app/schulis/2.2.1/src/4.zeitwuensche drucken
diff options
context:
space:
mode:
Diffstat (limited to 'app/schulis/2.2.1/src/4.zeitwuensche drucken')
-rw-r--r--app/schulis/2.2.1/src/4.zeitwuensche drucken129
1 files changed, 129 insertions, 0 deletions
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
+