app/schulis/2.2.1/src/3.listen.lehrbef faecherweise

Raw file
Back to index

PACKET lehrbefaehigungenfaecherweiselisteDEFINES 
faecherwlehrbeflispezielleteile:LET lehrbefaehigungeingangsmaske=
"ms liste lehrbefaehigungen faecherweise eingang",
anzahlderobjekteprobildschirm=17,ausgfeldlaenge=1,lehrbefaehigunganfpos=2,
spaltenbreite1fach=12,spaltenbreite2art=6,spaltenbreite3paraphe=4,
spaltentrenner=" ",wochenstdanfpos=2,ueberschriftenzeilen=2,ausgkopflaenge=2,
strich="-",blank=" ",null=0,niltext="",mnrauswahlnichtsinnvoll=56,
mnrbearbeitetwerden=352;TEXT CONST spaltentext:=("Fach"+9*blank+"Art"+3*blank
+"Lehrer"),spaltenstrich:=length(spaltentext)*strich;TEXT VAR 
lehrbefaehigungueberschriftbs:="Liste der Lehrbefähigungen",
lehrbefaehigungueberschriftdr:="Liste der Lehrbefähigungen",alteparahpe:="",
paraphe:="",alteart:="",art:="",altesfach:="",fach:="",teiltextmeldung:=
"Fächer mit den Anfangsbuchstaben:",anfbuchstabe:="",neueranfbuchstabe:="";
INT VAR eingabestatus,bildanfang,druckzeilenzahl;LET AUSGFELD =ROW 
ausgfeldlaengeTEXT ,AUSGKOPF =ROW ausgkopflaengeTEXT ,AUSGKOPFDRUCK =ROW 
ausgkopflaengeTEXT ;AUSGFELD VAR ausgfeld;AUSGKOPF VAR ausgkopf;
AUSGKOPFDRUCK VAR ausgkopfdruck;BOOL PROC multistop:TRUE END PROC multistop;
PROC faecherwlehrbeflispezielleteile(INT CONST nr):SELECT nrOF CASE 1:
faecherwlehrbefaehigungdialogvorbereitenCASE 2:
faecherwlehrbefaehigungeingabenrichtigCASE 3:
faecherwlehrbefaehigunglistenvorbereitenCASE 4:
faecherwlehrbefaehigungdruckvorbereitenCASE 5:
faecherwlehrbefaehigungseitedruckenCASE 6:
faecherwlehrbefaehigungbildschirmvorbereitenCASE 7:
faecherwlehrbefaehigungseitezeigenENDSELECT .END PROC 
faecherwlehrbeflispezielleteile;PROC faecherwlehrbefaehigungdialogvorbereiten
:lehrbefaehigungueberschriftbs:=text(vergleichsknoten);setzeanfangswerte(
lehrbefaehigungeingangsmaske,lehrbefaehigunganfpos)END PROC 
faecherwlehrbefaehigungdialogvorbereiten;PROC 
faecherwlehrbefaehigungeingabenrichtig:LET fnrausgdrucker=2,fnrausgbild=3;
standardpruefe(5,fnrausgdrucker,fnrausgbild,null,niltext,eingabestatus);IF 
eingabestatus=0THEN setzeeingabetest(TRUE );setzeausgabedrucker(
standardmaskenfeld(fnrausgbild)=niltext);ELSE meldefehler;setzeeingabetest(
FALSE )FI ;.meldefehler:standardmeldung(mnrauswahlnichtsinnvoll,niltext).END 
PROC faecherwlehrbefaehigungeingabenrichtig;PROC 
faecherwlehrbefaehigunglistenvorbereiten:BOOL VAR b;initspalten;
setzespaltentrenner(spaltentrenner);inittupel(dnrlehrbefaehigungen);
setzeidentiwert("");initobli(anzahlderobjekteprobildschirm);
objektlistestarten(ixlbart,"",0,TRUE ,b);setzebestandende(b);END PROC 
faecherwlehrbefaehigunglistenvorbereiten;PROC 
faecherwlehrbefaehigungbildschirmvorbereiten:LET fnrausganf=2;
standardkopfmaskeaktualisieren(lehrbefaehigungueberschriftbs);bildanfang:=
fnrausganf;setzebildanfangsposition(bildanfang);setzespaltenbreite(bildbreite
);spaltenweise(spaltentext);ausgfeld(1):=zeile;ausgfeld(1)IN ausgabepos;
erhoeheausgabeposumeins;spaltenweise(spaltenstrich);ausgfeld(1):=zeile;
ausgfeld(1)IN ausgabepos;erhoeheausgabeposumeins;setzebildanfangsposition(4);
spaltenbreitensetzenEND PROC faecherwlehrbefaehigungbildschirmvorbereiten;
PROC faecherwlehrbefaehigungseitezeigen:altesfach:=niltext;alteart:=niltext;
blaettern(PROC (INT CONST )lehrbefdatenfachweisezeigen,aktion,TRUE ,FALSE ,
BOOL PROC multistop)END PROC faecherwlehrbefaehigungseitezeigen;PROC 
lehrbefdatenfachweisezeigen(INT CONST x):
datenausdateilehrbefaehigungenfachweiseholen;
datenausdateilehrbefaehigungenfachweiseaufbereitenbild;
datenfachweiseaufbildschirmausgebenEND PROC lehrbefdatenfachweisezeigen;PROC 
datenausdateilehrbefaehigungenfachweiseholen:fach:=wert(fnrlbfach);art:=wert(
fnrlbart);paraphe:=wert(fnrlbparaphe)END PROC 
datenausdateilehrbefaehigungenfachweiseholen;PROC 
datenausdateilehrbefaehigungenfachweiseaufbereitenbild:IF fach<>altesfach
THEN spaltenweise(fach);spaltenweise(art)ELSE spaltenweise(blank);IF art<>
alteartTHEN spaltenweise(art)ELSE spaltenweise(blank)FI ;FI ;spaltenweise(
paraphe);alteparahpe:=paraphe;altesfach:=fach;alteart:=art;END PROC 
datenausdateilehrbefaehigungenfachweiseaufbereitenbild;PROC 
datenfachweiseaufbildschirmausgeben:INT VAR i;FOR iFROM 1UPTO ausgfeldlaenge
REP ausgfeld(i):=zeile;ausgfeld(i)IN ausgabepos;erhoeheausgabeposumeins;PER ;
END PROC datenfachweiseaufbildschirmausgeben;PROC 
faecherwlehrbefaehigungdruckvorbereiten:setzebestandende(FALSE );anfbuchstabe
:=" ";druckvorbereiten;variablenfuerdrucksetzen;lehrbefaehigungueberschriftdr
CAT " fachweise";initdruckkopf(zentriert(lehrbefaehigungueberschriftdr,
druckbreite),zentriert(length(lehrbefaehigungueberschriftdr)*"-",druckbreite)
);spaltenbreitensetzen;initausgabekopfdruck;inittupel(dnrlehrbefaehigungen);
lesenvorbereitendruck(PROC (INT CONST ,BOOL PROC ,INT VAR )scanforward,BOOL 
PROC multistop);.variablenfuerdrucksetzen:druckzeilenzahl:=drucklaenge(
ueberschriftenzeilen)-ausgkopflaenge.END PROC 
faecherwlehrbefaehigungdruckvorbereiten;PROC initausgabekopfdruck:
ausgkopfdruck(1):=spaltentext;ausgkopfdruck(2):=spaltenstrichEND PROC 
initausgabekopfdruck;PROC faecherwlehrbefaehigungseitedrucken:
lehrbefaehigungueberschriftdrucken;altesfach:=niltext;alteart:=niltext;
seitedrucken(PROC (INT VAR )lehrbefaehigungdrucken,druckzeilenzahl,
ausgfeldlaenge,BOOL PROC multistop);seitenwechselEND PROC 
faecherwlehrbefaehigungseitedrucken;PROC lehrbefaehigungueberschriftdrucken:
INT VAR i;druckkopfschreiben;FOR iFROM 1UPTO ausgkopflaengeREP 
druckzeileschreiben(ausgkopfdruck(i))PER END PROC 
lehrbefaehigungueberschriftdrucken;PROC lehrbefaehigungdrucken(INT VAR 
zeilenzaehler):LET markiert="#";datenausdateilehrbefaehigungenfachweiseholen;
ggflmeldunganfbuchstabe;IF fach<>altesfachTHEN spaltenweise(blank);
spaltenweise(blank);spaltenweise(blank);ausgfeld(1):=zeile;zeilenzaehlerINCR 
ausgfeldlaenge;lehrerstundendatenindruckdateiFI ;
lehrerstundendatenaufbereitendruck;zeilenzaehlerINCR ausgfeldlaenge;
lehrerstundendatenindruckdatei.ggflmeldunganfbuchstabe:IF 
anfbuchstabegeaendertTHEN meldunganfbuchstabeFI .anfbuchstabegeaendert:
neueranfbuchstabe:=fachSUB 1;anfbuchstabe<>neueranfbuchstabe.
meldunganfbuchstabe:standardmeldung(mnrbearbeitetwerden,teiltextmeldung+
neueranfbuchstabe+markiert);anfbuchstabe:=neueranfbuchstabe.END PROC 
lehrbefaehigungdrucken;PROC lehrerstundendatenaufbereitendruck:
setzespaltentrenner(spaltentrenner);
datenausdateilehrbefaehigungenfachweiseaufbereitenbild;ausgfeld(1):=zeile;
END PROC lehrerstundendatenaufbereitendruck;PROC 
lehrerstundendatenindruckdatei:INT VAR i;FOR iFROM 1UPTO ausgfeldlaengeREP 
druckzeileschreiben(ausgfeld(1))PER END PROC lehrerstundendatenindruckdatei;
PROC spaltenbreitensetzen:initspalten;setzespaltenbreite(spaltenbreite1fach);
setzespaltenbreite(spaltenbreite2art);setzespaltenbreite(
spaltenbreite3paraphe);END PROC spaltenbreitensetzen;END PACKET 
lehrbefaehigungenfaecherweiseliste;