summaryrefslogtreecommitdiff
path: root/app/schulis/2.2.1/src/3.listen.sprechzeiten
diff options
context:
space:
mode:
Diffstat (limited to 'app/schulis/2.2.1/src/3.listen.sprechzeiten')
-rw-r--r--app/schulis/2.2.1/src/3.listen.sprechzeiten99
1 files changed, 99 insertions, 0 deletions
diff --git a/app/schulis/2.2.1/src/3.listen.sprechzeiten b/app/schulis/2.2.1/src/3.listen.sprechzeiten
new file mode 100644
index 0000000..7f33cb7
--- /dev/null
+++ b/app/schulis/2.2.1/src/3.listen.sprechzeiten
@@ -0,0 +1,99 @@
+PACKET lehrersprechzeitenlisteDEFINES sprechzeitlispezielleteile:LET
+sprechzeingangsmaske="ms liste lehrerparaphen eingang",
+anzahlderobjekteprobildschirm=17,ausgfeldlaenge=1,spalte1breite=46,
+spalte2breite=25,spaltentrenner=": ",sprechzanfpos=2,ueberschriftenzeilen=2,
+strich="-",niltext="",blank=" ",komma=",",null=0,ausgkopflaenge=2,
+mittelstrich="-",teilueb1="Lehrer",teilueb2="Sprechzeiten",
+mnrauswahlnichtsinnvoll=56,mnrbearbeitetwerden=352;TEXT VAR
+sprechzueberschrift:="Liste der Lehrersprechzeiten",paraphe,lehrername,
+lehrernameaufbereitet,lehrernameaufbereitetmitparaphe,rufname,namenszusatz,
+amtsbez,geschlecht,sprechzeit,druckstrich,textueberschrift,teiltextmeldung:=
+"die Lehrer mit den Anfangsbuchstaben:",anfbuchstabe,neueranfbuchstabe:="",
+auswahlnichtsinnvoll;INT VAR aktuelleindexnr,eingabestatus,lesestart,
+bildanfang,druckzeilenzahl;INT CONST indexlehrername:=ixlfamruf,
+maxspaltenlaengepara:=5;BOOL VAR sortierungnachparaphen;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 sprechzeitlispezielleteile(INT CONST nr):SELECT nrOF CASE 1:
+sprechzdialogvorbereitenCASE 2:sprechzeingabenrichtigCASE 3:
+sprechzlistenvorbereitenCASE 4:sprechzdruckvorbereitenCASE 5:
+sprechzseitedruckenCASE 6:sprechzbildschirmvorbereitenCASE 7:
+sprechzseitezeigenENDSELECT .END PROC sprechzeitlispezielleteile;PROC
+sprechzdialogvorbereiten:sprechzueberschrift:=text(vergleichsknoten);
+setzeanfangswerte(sprechzeingangsmaske,sprechzanfpos)END PROC
+sprechzdialogvorbereiten;PROC sprechzeingabenrichtig: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
+sprechzeingabenrichtig;PROC sprechzlistenvorbereiten:BOOL VAR b;initspalten;
+setzespaltentrenner(spaltentrenner);IF sortierungnachparaphenTHEN
+aktuelleindexnr:=dnrlehrer;lesestart:=fnrlparapheELSE aktuelleindexnr:=
+indexlehrername;lesestart:=0;FI ;inittupel(dnrlehrer);setzeidentiwert("");
+initobli(anzahlderobjekteprobildschirm);parsenooffields(17);
+objektlistestarten(aktuelleindexnr,"",lesestart,TRUE ,b);setzebestandende(b);
+END PROC sprechzlistenvorbereiten;PROC sprechzbildschirmvorbereiten:LET
+fnrausganf=2;standardkopfmaskeaktualisieren(sprechzueberschrift);bildanfang:=
+fnrausganf;setzebildanfangsposition(bildanfang);INT VAR i;setzespaltenbreite(
+bildbreite);textueberschrift:=teilueb1+((spalte1breite+1)-(length(teilueb1)))
+*blank+teilueb2;spaltenweise(textueberschrift);ausgfeld(1):=zeile;ausgfeld(1)
+IN ausgabepos;erhoeheausgabeposumeins;spaltenweise(bildbreite*strich);
+ausgfeld(1):=zeile;ausgfeld(1)IN ausgabepos;erhoeheausgabeposumeins;
+setzebildanfangsposition(4);initspalten;setzespaltenbreite(spalte1breite);
+setzespaltenbreite(spalte2breite);END PROC sprechzbildschirmvorbereiten;PROC
+sprechzseitezeigen:blaettern(PROC (INT CONST )lehrerdatenzeigen,aktion,TRUE ,
+FALSE ,BOOL PROC multistop)END PROC sprechzseitezeigen;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);sprechzeit:=wert(fnrlsprechzeit);IF
+geschlecht="w"XOR geschlecht="W"THEN geschlecht:="Fr. "ELSE geschlecht:=
+"Hr. "FI ;lehrernameaufbereitet:=(lehrername+komma+blank+geschlecht+
+amtsbezeichnung+rufname+blank+namenszusatz);IF sortierungnachparaphenTHEN
+lehrernameaufbereitetmitparaphe:=paraphe+(maxspaltenlaengepara-length(paraphe
+))*blank+lehrernameaufbereitetFI .amtsbezeichnung:IF amtsbez<>niltextTHEN
+amtsbez+blankELSE ""FI .END PROC lehrerdatenholen;PROC
+lehrerdatenaufbereitenbild:IF sortierungnachparaphenTHEN spaltenweise(
+lehrernameaufbereitetmitparaphe)ELSE spaltenweise(lehrernameaufbereitet)FI ;
+spaltenweise(sprechzeit);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 sprechzdruckvorbereiten:setzebestandende(FALSE
+);anfbuchstabe:=" ";druckvorbereiten;variablenfuerdrucksetzen;initdruckkopf(
+zentriert(sprechzueberschrift,druckbreite),zentriert(length(
+sprechzueberschrift)*"-",druckbreite));initspalten;setzespaltenbreite(
+spalte1breite);setzespaltenbreite(spalte2breite);inittupel(dnrlehrer);
+initausgabekopfdruck;lesenvorbereitendruck(PROC (INT CONST ,BOOL PROC ,INT
+VAR )scanforward,BOOL PROC multistop);.variablenfuerdrucksetzen:
+druckzeilenzahl:=drucklaenge(ueberschriftenzeilen)-ausgkopflaenge.END PROC
+sprechzdruckvorbereiten;PROC initausgabekopfdruck:druckstrich:=(spalte1breite
+*mittelstrich)+(spaltentrennerSUB 1)+(spalte2breite+1)*mittelstrich;
+textueberschrift:=teilueb1+(spalte1breite-(length(teilueb1)))*blank+
+spaltentrenner+teilueb2;ausgkopfdruck(1):=textueberschrift;ausgkopfdruck(2):=
+druckstrich;END PROC initausgabekopfdruck;PROC sprechzseitedrucken:
+sprechzueberschriftdrucken;seitedrucken(PROC (INT VAR )lehrerdrucken,
+druckzeilenzahl,ausgfeldlaenge,BOOL PROC multistop);seitenwechsel.END PROC
+sprechzseitedrucken;PROC sprechzueberschriftdrucken:INT VAR i;
+druckkopfschreiben;FOR iFROM 1UPTO ausgkopflaengeREP druckzeileschreiben(
+ausgkopfdruck(i))PER END PROC sprechzueberschriftdrucken;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:setzespaltentrenner(spaltentrenner)
+;lehrerdatenaufbereitenbild;ausgfeld(1):=zeile;END PROC
+lehreraufbereitendruck;PROC lehrerindruckdatei:INT VAR i;FOR iFROM 1UPTO
+ausgfeldlaengeREP druckzeileschreiben(ausgfeld(1))PER END PROC
+lehrerindruckdatei;END PACKET lehrersprechzeitenliste;
+