diff options
Diffstat (limited to 'app/schulis/2.2.1/src/0.liste der zeitrasterdaten')
-rw-r--r-- | app/schulis/2.2.1/src/0.liste der zeitrasterdaten | 101 |
1 files changed, 101 insertions, 0 deletions
diff --git a/app/schulis/2.2.1/src/0.liste der zeitrasterdaten b/app/schulis/2.2.1/src/0.liste der zeitrasterdaten new file mode 100644 index 0000000..51e91c9 --- /dev/null +++ b/app/schulis/2.2.1/src/0.liste der zeitrasterdaten @@ -0,0 +1,101 @@ +PACKET listederzeitrasterdatenDEFINES +zeitrasterlisteerstellenunddruckenggfvorherzeigen:LET fnrausggeplanteshj=2, +fnrausgaktuelleshj=3,fnrausgdrucker=4,fnrausgbild=5;LET schluesselschuljahr= +"Schuljahr",schluesselschulhalbjahr="Schulhalbjahr", +anzahldatensaetzeprozeitraster=66;LET zusätzlicherlaubtetasten="vr";LET +meldunglistewirdaufgebaut=7,meldunglistewirdausgedruckt=58,meldungbittewarten +=69,meldungkeinedatenvorhanden=68;LET dateinamezumzeigen= +"Liste der Zeitrasterdaten",ueberschrift1fuerdruckdatei= +"Liste der Zeitrasterdaten",ueberschrift2fuerdruckdatei= +"-------------------------",blankszumauffuellen=" ", +textanfangfuerschulhalbjahr="für Schuljahr 19",trennerfuerschuljahr="/", +textmittefuerschulhalbjahr=", ",textendefuerschulhalbjahr=". Halbjahr", +ueberschriftdererstentabelle="Uhrzeiten:",unterschriftdererstentabelle= +"----------",zeilederwochentage= +" Mo Di Mi Do Fr Sa",textvorbeginnzeiten= +". von",textvorendezeiten=" bis",trennerdererstentabelle=" ", +stdundmintrenner=":",laengederstundenzeit=2,stellenderstundennummer=2, +zeilenzahldererstentabelle=45,ueberschriftderzweitentabelle= +"Kennzeichnung der Tagesteile:",unterschriftderzweitentabelle= +"-----------------------------",zeilederstunden= +" 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.",textmontag="Mo", +textdienstag="Di",textmittwoch="Mi",textdonnerstag="Do",textfreitag="Fr", +textsamstag="Sa",trennerderzweitentabelle=" ",stundenamsamstag=6, +stundenprowochentag=12,mobissa=6,mobisfr=5,poskennungtagesteil=1, +anfposbeginnzeit=2,endeposbeginnzeit=5,anfposendezeit=6,endeposendezeit=9, +gesamtetextlaenge=9,stellenfuerkennungtagesteil=1,stellenfuerzeit=4;LET +niltext="",blank=" ",null=0,eins=1;BOOL VAR erstaufbildschirm:=FALSE ;TEXT +VAR schuljahr:=niltext,halbjahr:=niltext;INT VAR fehlerstatus;ROW +anzahldatensaetzeprozeitrasterTEXT VAR alteszeitraster;INT VAR aktindex;PROC +zeitrasterlisteerstellenunddruckenggfvorherzeigen(INT CONST nr):SELECT nrOF +CASE 1:zeitrasterlisteerstellenCASE 2:zeitrasterlistedruckenENDSELECT .END +PROC zeitrasterlisteerstellenunddruckenggfvorherzeigen;PROC +zeitrasterlisteerstellen:INT VAR i;prüfeobrichtigangekreuztist;IF +fehlerstatus<>nullTHEN infeld(fehlerstatus);return(1);LEAVE +zeitrasterlisteerstellenFI ;erstaufbildschirm:=standardmaskenfeld(fnrausgbild +)<>niltext;IF erstaufbildschirmTHEN standardmeldung(meldunglistewirdaufgebaut +,niltext)ELSE standardmeldung(meldungbittewarten,niltext)FI ; +berechnebearbeitungsschuljahrundhalbjahr;fuelledenpuffermitdemzeitraster;IF +aktindex=nullTHEN standardmeldung(meldungkeinedatenvorhanden,niltext);return( +1);LEAVE zeitrasterlisteerstellenFI ;fuegeerstetabelleindateian; +fuegezweitetabelleindateian;IF erstaufbildschirmTHEN zeigedatei( +dateinamezumzeigen,zusätzlicherlaubtetasten)ELSE standardmeldung( +meldunglistewirdausgedruckt,niltext);zeitrasterlistedruckenFI . +prüfeobrichtigangekreuztist:standardpruefe(5,fnrausggeplanteshj, +fnrausgaktuelleshj,null,niltext,fehlerstatus);IF fehlerstatus=nullTHEN +standardpruefe(5,fnrausgdrucker,fnrausgbild,null,niltext,fehlerstatus);FI . +fuelledenpuffermitdemzeitraster:aktindex:=null;inittupel(dnrzeitraster); +statleseschleife(dnrzeitraster,schuljahr,halbjahr,fnrzrsj,fnrzrhj,PROC +fuellenurpuffer);FOR iFROM aktindex+einsUPTO anzahldatensaetzeprozeitraster +REP alteszeitraster(i):=gesamtetextlaenge*blankPER . +berechnebearbeitungsschuljahrundhalbjahr:schuljahr:=schulkenndatum( +schluesselschuljahr);halbjahr:=schulkenndatum(schluesselschulhalbjahr);IF +standardmaskenfeld(fnrausgaktuelleshj)=niltextTHEN geplanteshjundsjberechnen( +halbjahr,schuljahr)FI .END PROC zeitrasterlisteerstellen;PROC +zeitrasterlistedrucken:INT VAR i;TEXT VAR t;FILE VAR f1:=sequentialfile(input +,dateinamezumzeigen);initdruckkopf(zentriert(ueberschrift1fuerdruckdatei, +druckbreite),zentriert(ueberschrift2fuerdruckdatei,druckbreite)); +setzemitseitennummern(TRUE );druckvorbereiten;druckkopfschreiben;getline(f1,t +);druckzeileschreiben(t);getline(f1,t);druckzeileschreiben(zentriert(compress +(t),druckbreite));FOR iFROM einsUPTO zeilenzahldererstentabelleREP getline(f1 +,t);druckzeileschreiben(t)PER ;seitenwechsel;druckkopfschreiben;WHILE NOT eof +(f1)REP getline(f1,t);druckzeileschreiben(t)PER ;drucknachbereiten;forget( +dateinamezumzeigen,quiet);IF erstaufbildschirmTHEN enter(2)ELSE enter(1)FI +END PROC zeitrasterlistedrucken;PROC fuegeerstetabelleindateian:INT VAR i,j,k +;TEXT VAR t1,t2,t3;FILE VAR f:=sequentialfile(output,dateinamezumzeigen); +putline(f,blank);putline(f,zentriert(textanfangfuerschulhalbjahr+text( +schuljahr,2)+trennerfuerschuljahr+subtext(schuljahr,3)+ +textmittefuerschulhalbjahr+halbjahr+textendefuerschulhalbjahr,bildbreite)); +putline(f,blank);putline(f,blank);putline(f,ueberschriftdererstentabelle+ +blank);putline(f,unterschriftdererstentabelle+blank);putline(f,blank);putline +(f,zeilederwochentage+blank);FOR iFROM einsUPTO stundenprowochentagREP +putline(f,blank);t1:=text(i,stellenderstundennummer)+textvorbeginnzeiten;t2:= +textvorendezeiten;IF i>stundenamsamstagTHEN k:=mobisfrELSE k:=mobissaFI ;FOR +jFROM einsUPTO kREP t1CAT trennerdererstentabelle;t2CAT +trennerdererstentabelle;t3:=subtext(alteszeitraster(i+(j-eins)* +stundenprowochentag),anfposbeginnzeit,endeposbeginnzeit);t1CAT text(t3, +laengederstundenzeit)+stdundmintrenner+subtext(t3,laengederstundenzeit+1);t3 +:=subtext(alteszeitraster(i+(j-eins)*stundenprowochentag),anfposendezeit, +endeposendezeit);t2CAT text(t3,laengederstundenzeit)+stdundmintrenner+subtext +(t3,laengederstundenzeit+1);PER ;putline(f,t1+blank);putline(f,t2+blank);PER +;putline(f,blank);putline(f,blank);putline(f,blank)END PROC +fuegeerstetabelleindateian;PROC fuegezweitetabelleindateian:INT VAR i,j,k; +TEXT VAR t1;FILE VAR f:=sequentialfile(output,dateinamezumzeigen);putline(f, +blank);putline(f,ueberschriftderzweitentabelle+blank);putline(f, +unterschriftderzweitentabelle+blank);putline(f,blank);putline(f, +zeilederstunden+blank);putline(f,blank);FOR iFROM einsUPTO mobissaREP SELECT +iOF CASE 1:t1:=textmontagCASE 2:t1:=textdienstagCASE 3:t1:=textmittwochCASE 4 +:t1:=textdonnerstagCASE 5:t1:=textfreitagCASE 6:t1:=textsamstagEND SELECT ; +IF i=mobissaTHEN k:=stundenamsamstagELSE k:=stundenprowochentagFI ;FOR jFROM +einsUPTO kREP t1CAT trennerderzweitentabelle+text(alteszeitraster((i-eins)* +stundenprowochentag+j),poskennungtagesteil);PER ;putline(f,t1+blank);PER END +PROC fuegezweitetabelleindateian;PROC fuellenurpuffer(BOOL VAR b):TEXT VAR t; +IF wert(fnrzrsj)>schuljahrCOR wert(fnrzrhj)>halbjahrCOR dbstatus<>okTHEN b:= +TRUE ELSE aktindexINCR eins;t:=blankszumauffuellen+wert(fnrzrkennungteil); +alteszeitraster(aktindex):=subtext(t,length(t)+eins- +stellenfuerkennungtagesteil);t:=blankszumauffuellen+wert(fnrzrbeginnuhr); +alteszeitraster(aktindex)CAT subtext(t,length(t)+eins-stellenfuerzeit);t:= +blankszumauffuellen+wert(fnrzrendeuhr);alteszeitraster(aktindex)CAT subtext(t +,length(t)+eins-stellenfuerzeit)FI END PROC fuellenurpuffer;END PACKET +listederzeitrasterdaten + |