From 04e68443040c7abad84d66477e98f93bed701760 Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Mon, 4 Feb 2019 13:09:03 +0100 Subject: Initial import --- app/schulis/2.2.1/src/0.listen.schuelergruppen | 109 +++++++++++++++++++++++++ 1 file changed, 109 insertions(+) create mode 100644 app/schulis/2.2.1/src/0.listen.schuelergruppen (limited to 'app/schulis/2.2.1/src/0.listen.schuelergruppen') diff --git a/app/schulis/2.2.1/src/0.listen.schuelergruppen b/app/schulis/2.2.1/src/0.listen.schuelergruppen new file mode 100644 index 0000000..cbef1c3 --- /dev/null +++ b/app/schulis/2.2.1/src/0.listen.schuelergruppen @@ -0,0 +1,109 @@ +PACKET schuelergruppenlistenDEFINES schuelergruplispezielleteile:LET +AUSGFELD =ROW ausgfeldlaengeTEXT ,AUSGKOPF =ROW ausgkopflaengeTEXT , +AUSGKOPFDRUCK =ROW ausgkopflaengeTEXT ;AUSGFELD VAR ausgfeld;AUSGKOPF VAR +ausgkopf;AUSGKOPFDRUCK VAR ausgkopfdruck;LET schuelergruppeneingangsmaske= +"ms liste schuelergruppen",ausgfeldlaenge=1,anzahlderobjekteprobildschirm=17, +ueberschriftenzeilen=2,ausgkopflaenge=2,spaltentrenner=" ", +schuelergruppenanfpos=2,jgstspalte1breite=14,zugspalte2breite=9, +lehrerspalte3breite=15,stellvspalte4breite=15,strich="/",niltext="",blank=" " +,null=0,mnrauswahlnichtsinnvoll=56;LET textsj="Schuljahr",texthj= +"Schulhalbjahr";TEXT VAR schuelergruppenueberschrift:="",schuljahr,halbjahr, +jahrgangsstufe,altejahrgangsstufe:="",bearbeitungsschuljahr, +bearbeitungshalbjahr,zugtutor,klassenlehrer,stellvertreter, +auswahlnichtsinnvoll;TEXT CONST leerzeile:=bildbreite*blank,textueberschrift +:=("Jahrgangsstufe"+blank+"Zug/Tutor"+blank+"Klassenleiter"+3*blank+ +"Stellvertreter");INT VAR eingabestatus,bildanfang,spalte2druckbreite, +druckzeilenzahl;INT CONST aktuelleindexnr:=dnraktschuelergruppen;BOOL VAR +aktuelleshjgewaehlt;BOOL PROC multistop:BOOL VAR b;IF dbstatus=okTHEN b:=( +bearbeitungshalbjahr=wert(fnrsgrphj)AND bearbeitungsschuljahr=wert(fnrsgrpsj) +)ELSE b:=FALSE FI ;bEND PROC multistop;BOOL PROC multistopsim: +setzebestandende(FALSE );BOOL VAR b:=multistop;setzebestandende(NOT b);bEND +PROC multistopsim;PROC schuelergruplispezielleteile(INT CONST nr):SELECT nr +OF CASE 1:schuelergruppendialogvorbereitenCASE 2: +schuelergruppeneingabenrichtigCASE 3:schuelergruppenlistenvorbereitenCASE 4: +schuelergruppendruckvorbereitenCASE 5:schuelergruppenseitedruckenCASE 6: +schuelergruppenbildschirmvorbereitenCASE 7:schuelergruppenseitezeigen +ENDSELECT .END PROC schuelergruplispezielleteile;PROC +schuelergruppendialogvorbereiten:schuelergruppenueberschrift:=text( +vergleichsknoten);setzeanfangswerte(schuelergruppeneingangsmaske, +schuelergruppenanfpos)END PROC schuelergruppendialogvorbereiten;PROC +schuelergruppeneingabenrichtig:LET fnrausggeplanteshj=2,fnrausgaktuelleshj=3, +fnrausgdrucker=4,fnrausgbild=5;standardpruefe(5,fnrausgdrucker,fnrausgbild, +null,niltext,eingabestatus);IF eingabestatus=0THEN standardpruefe(5, +fnrausggeplanteshj,fnrausgaktuelleshj,null,niltext,eingabestatus);IF +eingabestatus=0THEN gewaehlteshalbjahrmerken;setzeeingabetest(TRUE ); +setzeausgabedrucker(standardmaskenfeld(fnrausgbild)=niltext)ELSE meldefehler; +setzeeingabetest(FALSE )FI ;ELSE meldefehler;setzeeingabetest(FALSE )FI . +meldefehler:meldungstext(mnrauswahlnichtsinnvoll,auswahlnichtsinnvoll); +standardmeldung(auswahlnichtsinnvoll,niltext).gewaehlteshalbjahrmerken: +aktuelleshjgewaehlt:=standardmaskenfeld(fnrausgaktuelleshj)<>niltext.END +PROC schuelergruppeneingabenrichtig;PROC schuelergruppenlistenvorbereiten: +BOOL VAR b;initspalten;setzespaltentrenner(spaltentrenner); +bearbeitungsschuljahr:=schulkenndatum(textsj);bearbeitungshalbjahr:= +schulkenndatum(texthj);IF NOT (aktuelleshjgewaehlt)THEN +geplanteshjundsjberechnen(bearbeitungshalbjahr,bearbeitungsschuljahr)FI ; +inittupel(dnraktschuelergruppen);setzeidentiwert("");initobli( +anzahlderobjekteprobildschirm);parsenooffields(6);putwert(fnrsgrpsj, +bearbeitungsschuljahr);putwert(fnrsgrphj,bearbeitungshalbjahr); +setzescanendewert("255");objektlistestarten(aktuelleindexnr, +bearbeitungsschuljahr,fnrsgrpjgst,TRUE ,b);setzebestandende(NOT multistopCOR +b);END PROC schuelergruppenlistenvorbereiten;PROC +schuelergruppenbildschirmvorbereiten:LET fnrausganf=2; +standardkopfmaskeaktualisieren(schuelergruppenueberschrift);bildanfang:= +fnrausganf;setzebildanfangsposition(bildanfang);INT VAR i;setzespaltenbreite( +bildbreite);spaltenweise(textueberschrift);ausgfeld(1):=zeile;ausgfeld(1)IN +ausgabepos;erhoeheausgabeposumeins;spaltenweise(leerzeile);ausgfeld(1):=zeile +;ausgfeld(1)IN ausgabepos;erhoeheausgabeposumeins;setzebildanfangsposition(4) +;initspalten;setzespaltentrenner(spaltentrenner);setzespaltenbreite( +jgstspalte1breite);setzespaltenbreite(zugspalte2breite);setzespaltenbreite( +lehrerspalte3breite);setzespaltenbreite(stellvspalte4breite);END PROC +schuelergruppenbildschirmvorbereiten;PROC schuelergruppenseitezeigen: +blaettern(PROC (INT CONST )schuelergruppendatenzeigen,aktion,TRUE ,TRUE , +BOOL PROC multistop)END PROC schuelergruppenseitezeigen;PROC +schuelergruppendatenzeigen(INT CONST x):schuelergruppendatenholen; +schuelergruppendatenaufbereitenbild;schuelergruppendatenaufbildschirm;END +PROC schuelergruppendatenzeigen;PROC schuelergruppendatenholen:schuljahr:= +wert(fnrsgrpsj);halbjahr:=wert(fnrsgrphj);jahrgangsstufe:=wert(fnrsgrpjgst); +zugtutor:=wert(fnrsgrpkennung);klassenlehrer:=wert(fnrsgrplehrer); +stellvertreter:=wert(fnrsgrpstellvlehrer);END PROC schuelergruppendatenholen; +PROC schuelergruppendatenaufbereitenbild:IF length(jahrgangsstufe)=1THEN +spaltenweise(13*blank+jahrgangsstufe);ELSE spaltenweise(12*blank+ +jahrgangsstufe);FI ;spaltenweise(zugtutor);spaltenweise(klassenlehrer); +spaltenweise(stellvertreter);END PROC schuelergruppendatenaufbereitenbild; +PROC schuelergruppendatenaufbildschirm:INT VAR i;FOR iFROM 1UPTO +ausgfeldlaengeREP ausgfeld(i):=zeile;ausgfeld(i)IN ausgabepos; +erhoeheausgabeposumeins;PER ;END PROC schuelergruppendatenaufbildschirm;PROC +schuelergruppendruckvorbereiten:setzebestandende(FALSE );druckvorbereiten; +variablenfuerdrucksetzen;TEXT VAR schjaufbereitet:=text(bearbeitungsschuljahr +,2)+strich+text(bearbeitungsschuljahr,2,3),halbjaufbereitet:= +bearbeitungshalbjahr+". Halbjahr";schuelergruppenueberschrift:= +"Liste der Schülergruppen im Schuljahr "+schjaufbereitet+blank+ +halbjaufbereitet;initdruckkopf(zentriert(schuelergruppenueberschrift, +druckbreite),zentriert(length(schuelergruppenueberschrift)*"-",druckbreite)); +initspalten;setzespaltenbreite(jgstspalte1breite);setzespaltenbreite( +zugspalte2breite);setzespaltenbreite(lehrerspalte3breite);setzespaltenbreite( +stellvspalte4breite);inittupel(dnraktschuelergruppen);initausgabekopfdruck; +putwert(fnrsgrpsj,bearbeitungsschuljahr);putwert(fnrsgrphj, +bearbeitungshalbjahr);lesenvorbereitendruck(PROC (INT CONST ,BOOL PROC ,INT +VAR )scanforward,BOOL PROC multistopsim);.variablenfuerdrucksetzen: +druckzeilenzahl:=drucklaenge(ueberschriftenzeilen)-ausgkopflaenge.END PROC +schuelergruppendruckvorbereiten;PROC initausgabekopfdruck:ausgkopfdruck(1):= +textueberschrift;ausgkopfdruck(2):=leerzeileEND PROC initausgabekopfdruck; +PROC schuelergruppenseitedrucken:schuelergruppenueberschriftdrucken; +seitedrucken(PROC (INT VAR )schuelergruppendrucken,druckzeilenzahl, +ausgfeldlaenge,BOOL PROC multistopsim);seitenwechsel.END PROC +schuelergruppenseitedrucken;PROC schuelergruppenueberschriftdrucken:INT VAR i +;druckkopfschreiben;FOR iFROM 1UPTO ausgkopflaengeREP druckzeileschreiben( +ausgkopfdruck(i))PER END PROC schuelergruppenueberschriftdrucken;PROC +schuelergruppendrucken(INT VAR zeilenzaehler):schuelergruppendatenholen;IF +altejahrgangsstufe<>jahrgangsstufeTHEN spaltenweise(" ");spaltenweise(" "); +spaltenweise(" ");spaltenweise(" ");ausgfeld(1):=zeile;zeilenzaehlerINCR +ausgfeldlaenge;schuelergruppenindruckdateiFI ;schuelergruppenaufbereitendruck +;zeilenzaehlerINCR ausgfeldlaenge;schuelergruppenindruckdatei.END PROC +schuelergruppendrucken;PROC schuelergruppenaufbereitendruck: +setzespaltentrenner(spaltentrenner);schuelergruppendatenaufbereitenbild; +ausgfeld(1):=zeile;altejahrgangsstufe:=jahrgangsstufe;END PROC +schuelergruppenaufbereitendruck;PROC schuelergruppenindruckdatei:INT VAR i; +FOR iFROM 1UPTO ausgfeldlaengeREP druckzeileschreiben(ausgfeld(1))PER END +PROC schuelergruppenindruckdatei;END PACKET schuelergruppenlisten + -- cgit v1.2.3