app/schulis/2.2.1/src/3.listen.paraphen

Raw file
Back to index

PACKET lehrerparaphenlistenDEFINES parlispezielleteile:LET parlieingangsmaske
="ms liste lehrerparaphen eingang",spaltentrenner=" ",parlianfpos=2,
spalte1breite=7,niltext="",blank=" ",komma=",",null=0,ueberschriftenzeilen=2,
mnrauswahlnichtsinnvoll=56,mnrbearbeitetwerden=352,ausgkopflaenge=2,
ausgfeldlaenge=1,anzahlderobjekteprobildschirm=19;TEXT VAR parliueberschrift
:="Liste der Lehrerparaphen",lehrername,rufname,namenszusatz,amtsbez,anrede,
geschlecht,paraphe,anfbuchstabe,neueranfbuchstabe:="",lehrernameaufbereitet,
auswahlnichtsinnvoll,teiltextmeldung:=
"die Paraphe mit dem Anfangsbuchstaben:";INT VAR aktuelleindexnr,
eingabestatus,lesestart,bildanfang,spalte2druckbreite,druckzeilenzahl;INT 
CONST indexlehrername:=ixlfamruf,spalte2bildbreite:=bildbreite-spalte1breite-
1;BOOL VAR sortierungnachparaphen;LET AUSGFELD =ROW ausgfeldlaengeTEXT ,
AUSGKOPF =ROW ausgkopflaengeTEXT ;AUSGFELD VAR ausgfeld;AUSGKOPF VAR ausgkopf
;BOOL PROC multistop:TRUE END PROC multistop;PROC parlispezielleteile(INT 
CONST nr):SELECT nrOF CASE 1:parlidialogvorbereitenCASE 2:
parlieingabenrichtigCASE 3:parlilistenvorbereitenCASE 4:parlidruckvorbereiten
CASE 5:parliseitedruckenCASE 6:parlibildschirmvorbereitenCASE 7:
parliseitezeigenENDSELECT .END PROC parlispezielleteile;PROC 
parlidialogvorbereiten:parliueberschrift:=text(vergleichsknoten);
setzeanfangswerte(parlieingangsmaske,parlianfpos)END PROC 
parlidialogvorbereiten;PROC parlieingabenrichtig:LET fnrsortparaphen=2,
fnrsortlehrernamen=3,fnrausgdrucker=4,fnrausgbild=5;standardpruefe(5,
fnrausgdrucker,fnrausgbild,null,niltext,eingabestatus);IF eingabestatus=0
THEN standardpruefe(5,fnrsortparaphen,fnrsortlehrernamen,null,niltext,
eingabestatus);IF eingabestatus=0THEN sortierartmerken;setzeeingabetest(TRUE 
);setzeausgabedrucker(standardmaskenfeld(fnrausgbild)=niltext);ELSE 
meldefehler;setzeeingabetest(FALSE )FI ;ELSE meldefehler;setzeeingabetest(
FALSE )FI .sortierartmerken:sortierungnachparaphen:=standardmaskenfeld(
fnrsortparaphen)<>niltext.meldefehler:meldungstext(mnrauswahlnichtsinnvoll,
auswahlnichtsinnvoll);standardmeldung(auswahlnichtsinnvoll,niltext).END PROC 
parlieingabenrichtig;PROC parlilistenvorbereiten:BOOL VAR b;initspalten;
setzespaltentrenner(spaltentrenner);IF sortierungnachparaphenTHEN 
aktuelleindexnr:=dnrlehrer;lesestart:=fnrlparapheELSE aktuelleindexnr:=
indexlehrername;lesestart:=0;FI ;inittupel(dnrlehrer);setzeidentiwert("");
initobli(anzahlderobjekteprobildschirm);parsenooffields(6);objektlistestarten
(aktuelleindexnr,"",lesestart,TRUE ,b);setzebestandende(NOT multistopCOR b);
END PROC parlilistenvorbereiten;PROC parlibildschirmvorbereiten:LET 
fnrausganf=2;standardkopfmaskeaktualisieren(parliueberschrift);bildanfang:=
fnrausganf;setzebildanfangsposition(bildanfang);setzespaltenbreite(
spalte1breite);setzespaltenbreite(spalte2bildbreite);END PROC 
parlibildschirmvorbereiten;PROC parliseitezeigen:blaettern(PROC (INT CONST )
lehrerdatenzeigen,aktion,TRUE ,FALSE ,BOOL PROC multistop)END PROC 
parliseitezeigen;PROC lehrerdatenzeigen(INT CONST x):lehrerdatenholen;
lehrerdatenaufbereitenbild;lehrerdatenaufbildschirm.END PROC 
lehrerdatenzeigen;PROC lehrerdatenholen:paraphe:=wert(fnrlparaphe);lehrername
:=wert(fnrlfamname);rufname:=wert(fnrlrufname);namenszusatz:=wert(fnrlzusatz)
;amtsbez:=wert(fnrlamtsbeztitel);geschlecht:=wert(fnrlgeschlecht);IF 
geschlecht="w"XOR geschlecht="W"THEN anrede:="Fr. "ELSE anrede:="Hr. "FI ;
lehrernameaufbereitet:=(lehrername+komma+blank+anrede+amtsbezeichnung+rufname
+blank+namenszusatz);.amtsbezeichnung:IF amtsbez<>niltextTHEN amtsbez+blank
ELSE ""FI .END PROC lehrerdatenholen;PROC lehrerdatenaufbereitenbild:
spaltenweise(paraphe);spaltenweise(lehrernameaufbereitet);END PROC 
lehrerdatenaufbereitenbild;PROC lehrerdatenaufbildschirm:INT VAR i;FOR iFROM 
1UPTO ausgfeldlaengeREP ausgfeld(i):=zeile;ausgfeld(i)IN ausgabepos;
erhoeheausgabeposumeins;PER ;END PROC lehrerdatenaufbildschirm;PROC 
parlidruckvorbereiten:setzebestandende(FALSE );anfbuchstabe:=" ";
druckvorbereiten;variablenfuerdrucksetzen;spalte2druckbreite:=druckbreite-(
spalte1breite+1);initdruckkopf(zentriert(parliueberschrift,druckbreite),
zentriert(length(parliueberschrift)*"-",druckbreite));initspalten;
setzespaltenbreite(spalte1breite);setzespaltenbreite(spalte2druckbreite);
inittupel(dnrlehrer);lesenvorbereitendruck(PROC (INT CONST ,BOOL PROC ,INT 
VAR )scanforward,BOOL PROC multistop);.variablenfuerdrucksetzen:
druckzeilenzahl:=drucklaenge(ueberschriftenzeilen)-ausgkopflaenge.END PROC 
parlidruckvorbereiten;PROC parliseitedrucken:parliueberschriftdrucken;
seitedrucken(PROC (INT VAR )lehrerdrucken,druckzeilenzahl,ausgfeldlaenge,
BOOL PROC multistop);seitenwechsel.END PROC parliseitedrucken;PROC 
parliueberschriftdrucken:druckkopfschreiben.END PROC parliueberschriftdrucken
;PROC lehrerdrucken(INT VAR zeilenzaehler):LET markiert="#";lehrerdatenholen;
ggflmeldunganfbuchstabe;lehreraufbereitendruck;zeilenzaehlerINCR 
ausgfeldlaenge;lehrerindruckdatei.ggflmeldunganfbuchstabe:IF 
anfbuchstabegeaendertTHEN meldunganfbuchstabeFI .anfbuchstabegeaendert:IF 
sortierungnachparaphenTHEN neueranfbuchstabe:=lehrernameSUB 1;ELSE 
neueranfbuchstabe:=parapheSUB 1;FI ;anfbuchstabe<>neueranfbuchstabe.
meldunganfbuchstabe:standardmeldung(mnrbearbeitetwerden,teiltextmeldung+
neueranfbuchstabe+markiert);anfbuchstabe:=neueranfbuchstabe.END PROC 
lehrerdrucken;PROC lehreraufbereitendruck:spaltenweise(paraphe);spaltenweise(
lehrernameaufbereitet);ausgfeld(1):=zeile;END PROC lehreraufbereitendruck;
PROC lehrerindruckdatei:INT VAR i;FOR iFROM 1UPTO ausgfeldlaengeREP 
druckzeileschreiben(ausgfeld(1))PER .END PROC lehrerindruckdatei;END PACKET 
lehrerparaphenlisten;