summaryrefslogtreecommitdiff
path: root/app/schulis/2.2.1/src/1.listen.gesamt
diff options
context:
space:
mode:
Diffstat (limited to 'app/schulis/2.2.1/src/1.listen.gesamt')
-rw-r--r--app/schulis/2.2.1/src/1.listen.gesamt106
1 files changed, 106 insertions, 0 deletions
diff --git a/app/schulis/2.2.1/src/1.listen.gesamt b/app/schulis/2.2.1/src/1.listen.gesamt
new file mode 100644
index 0000000..2ec7ee7
--- /dev/null
+++ b/app/schulis/2.2.1/src/1.listen.gesamt
@@ -0,0 +1,106 @@
+PACKET gesamtlisteDEFINES geslispezielleteile:#LET dnrschueler=2,
+ixsustatfamrufgeb=254,stattnachfolgendemI ndexixsustat=252,fnrsufamnames=3,
+fnrsurufnames=4,fnrsustatuss=6,fnrsunamenszusatzs=21,fnrsugebdatums=5,
+fnrsuabgdats=16,fnrsusgrpjgst=7,fnrsusgrpzugtut=8;#LET niltext="",nildatum=
+"01.01.00",blank=" ",mittestrich="-",null=0,komma=",",kleina="a",stern="*",
+ueberschriftenzeilen=1,altervolljaehrig=18,spalte2breite=10,spalte3breite=9,
+anzspaltentrenner=2,spaltentrenner=":",ausgkopflaengebild=2,
+ausgkopflaengedruck=6,ausgfeldlaenge=1,AUSGKOPFBILD =ROW ausgkopflaengebild
+TEXT ,AUSGKOPFDRUCK =ROW ausgkopflaengedruckTEXT ,AUSGFELD =ROW
+ausgfeldlaengeTEXT ,geslieingangsmaske="mu liste einfach eingang",geslianfpos
+=2,nname="Name, Rufname",gebdat=" Geb.Dat.",klasse="Jgst./Kl.";INT CONST
+spalte1bildbreite:=bildbreite-anzspaltentrenner-spalte2breite-spalte3breite;
+INT VAR spalte1druckbreite,druckzeilenzahl,bildanf,vergldatum,eingabestatus;
+TEXT VAR gesliueberschrift,schuelername,schuelerrufname,schuelernamenszus,
+schuelergebdat,schuelerabdat,schuelernameaufber,gebdataufber,klasseaufber,
+jahrgang,zug,anfbuchstabe,neueranfbuchstabe;TEXT VAR druckstrich;TEXT CONST
+bildstrich:=bildbreite*mittestrich;AUSGFELD VAR ausgfeld;AUSGKOPFDRUCK VAR
+ausgkopfdruck;AUSGKOPFBILD VAR ausgkopfbild;PROC geslispezielleteile(INT
+CONST nr):SELECT nrOF CASE 1:geslidialogvorbereitenCASE 2:
+geslieingabenrichtigCASE 3:geslilistenvorbereitenCASE 4:geslidruckvorbereiten
+CASE 5:gesliseitedruckenCASE 6:geslibildschirmvorbereitenCASE 7:
+gesliseitezeigenENDSELECT .END PROC geslispezielleteile;PROC
+geslidialogvorbereiten:gesliueberschrift:=text(vergleichsknoten);
+setzeanfangswerte(geslieingangsmaske,geslianfpos).END PROC
+geslidialogvorbereiten;PROC geslieingabenrichtig:LET fnrausgdrucker=2,
+fnrausgbild=3;standardpruefe(5,fnrausgdrucker,fnrausgbild,null,niltext,
+eingabestatus);IF eingabestatus<>0THEN infeld(eingabestatus);setzeeingabetest
+(FALSE )ELSE setzeausgabedrucker(standardmaskenfeld(fnrausgbild)=niltext);
+setzeeingabetest(TRUE )FI .END PROC geslieingabenrichtig;PROC
+geslilistenvorbereiten:BOOL VAR b;setzespaltentrenner(spaltentrenner);
+vergldatum:=vergleichsdatum(altervolljaehrig);inittupel(dnrschueler);initobli
+(17);parsenooffields(21);setzeidentiwert("");putwert(fnrsustatuss,"ls");
+objektlistestarten(ixsustatfamrufgeb,"",fnrsufamnames,TRUE ,b);
+setzebestandende(NOT multistopCOR b)END PROC geslilistenvorbereiten;BOOL
+PROC multistop:wert(fnrsustatuss)="ls"ENDPROC multistop;BOOL PROC
+multistopdruck:BOOL VAR b:=multistop;setzebestandende(NOT b);bENDPROC
+multistopdruck;PROC geslibildschirmvorbereiten:LET fnrausganf=2;
+standardkopfmaskeaktualisieren(gesliueberschrift);initspalten;
+setzespaltenbreite(spalte1bildbreite);setzespaltenbreite(spalte2breite);
+setzespaltenbreite(spalte3breite);initausgabekopfbild;bildanf:=fnrausganf;
+INT VAR i;FOR iFROM 1UPTO ausgkopflaengebildREPEAT ausgkopfbild(i)IN bildanf;
+bildanfINCR 1END REPEAT ;setzebildanfangsposition(bildanf).END PROC
+geslibildschirmvorbereiten;PROC initausgabekopfbild:spaltenweise(nname);
+spaltenweise(gebdat);spaltenweise(klasse);ausgkopfbild(1):=zeile;ausgkopfbild
+(2):=bildstrich;END PROC initausgabekopfbild;PROC gesliseitezeigen:blaettern(
+PROC (INT CONST )schuelerzeigen,aktion,TRUE ,TRUE ,BOOL PROC multistop)END
+PROC gesliseitezeigen;BOOL PROC dummystop:#dbstatus<>ok#TRUE ENDPROC
+dummystop;PROC schuelerzeigen(INT CONST x):schuelerholen;schueleraufbereiten;
+schueleraufbildschirm;END PROC schuelerzeigen;PROC schueleraufbildschirm:INT
+VAR i;FOR iFROM 1UPTO ausgfeldlaengeREPEAT ausgfeld(i)IN ausgabepos;
+erhoeheausgabeposumeinsEND REPEAT .END PROC schueleraufbildschirm;PROC
+geslidruckvorbereiten:anfbuchstabe:=niltext;druckvorbereiten;
+variablenfuerdrucksetzen;inittupel(dnrschueler);putwert(fnrsustatuss,"ls");
+lesenvorbereitendruck(PROC (INT CONST ,BOOL PROC ,INT VAR )scanforward,BOOL
+PROC multistopdruck);initdruckkopf(zentriert(gesliueberschrift,druckbreite));
+initspalten;setzespaltenbreite(spalte1druckbreite);setzespaltenbreite(
+spalte2breite);setzespaltenbreite(spalte3breite);initausgabekopfdruck.
+variablenfuerdrucksetzen:druckstrich:=druckbreite*mittestrich;
+spalte1druckbreite:=druckbreite-anzspaltentrenner-spalte2breite-spalte3breite
+;druckzeilenzahl:=drucklaenge(ueberschriftenzeilen)-ausgkopflaengedruck.END
+PROC geslidruckvorbereiten;PROC initausgabekopfdruck:LET kommentar1=
+"Die abgemeldeten Schüler sind mit einem a vor Jgst./",kommentar2=
+"Kl. markiert,",kommentar3="die volljährigen Schüler mit einem * vor dem ",
+kommentar4="Geburtsdatum.";ausgkopfdruck(1):=text(kommentar1+kommentar2,
+druckbreite);ausgkopfdruck(2):=text(kommentar3+kommentar4,druckbreite);
+ausgkopfdruck(3):=text(niltext,druckbreite);ausgkopfdruck(4):=text(niltext,
+druckbreite);spaltenweise(nname);spaltenweise(gebdat);spaltenweise(klasse);
+ausgkopfdruck(5):=zeile;ausgkopfdruck(6):=druckstrich;END PROC
+initausgabekopfdruck;PROC gesliseitedrucken:gesliueberschriftdrucken;
+seitedrucken(PROC (INT VAR )schuelerdrucken,druckzeilenzahl,ausgfeldlaenge,
+BOOL PROC multistopdruck);seitenwechsel.END PROC gesliseitedrucken;PROC
+gesliueberschriftdrucken:druckkopfschreiben;INT VAR i;FOR iFROM 1UPTO
+ausgkopflaengedruckREPEAT druckzeileschreiben(ausgkopfdruck[i])END REPEAT .
+END PROC gesliueberschriftdrucken;PROC schuelerdrucken(INT VAR zeilenzaehler)
+:LET bearbeitetwerden=102,markiert="#";schuelerholen;ggflmeldunganfbuchstabe;
+schueleraufbereiten;zeilenzaehlerINCR ausgfeldlaenge;schuelerindruckdatei.
+ggflmeldunganfbuchstabe:IF anfbuchstabegeaendertTHEN meldunganfbuchstabeFI .
+anfbuchstabegeaendert:neueranfbuchstabe:=schuelernameSUB 1;anfbuchstabe<>
+neueranfbuchstabe.meldunganfbuchstabe:standardmeldung(bearbeitetwerden,
+neueranfbuchstabe+markiert);anfbuchstabe:=neueranfbuchstabe.END PROC
+schuelerdrucken;PROC schuelerindruckdatei:druckzeileschreiben(ausgfeld(1)).
+END PROC schuelerindruckdatei;#PROC schuelerbestanderstellen(TEXT VAR aktbest
+,DBMASKE VAR nameklassegebdat):setzemaske(nameklassegebdat,
+"t c12 familienname/"+"t c12 rufname/"+"t c12 namenszusaetze(1)/"+
+"i c12 geburtsdatum/"+"i c12 abgangsdatum/"+"t c12 aktuelle schuelergruppe");
+aktbest:=bestand.END PROC schuelerbestanderstellen;#PROC schueleraufbereiten:
+schuelervorbereiten;schreibenamegebdatklasse.schreibenamegebdatklasse:
+ausgfeld(1):=zeile.END PROC schueleraufbereiten;PROC schuelervorbereiten:
+schuelernamevorbereiten;gebdatvorbereiten;klassevorbereiten;zeilefuellen.
+schuelernamevorbereiten:schuelernameaufber:=niltext;IF schuelernamenszus<>
+niltextTHEN schuelernameaufber:=schuelernamenszus+blankFI ;schuelernameaufber
+:=schuelernameaufber+schuelername+komma+blank+schuelerrufname.
+gebdatvorbereiten:IF (schuelergebdat<>niltext)THEN IF volljaehrig(datum(
+schuelergebdat))THEN gebdataufber:=sternELSE gebdataufber:=blankFI ;
+gebdataufber:=gebdataufber+blank+schuelergebdatELSE gebdataufber:=niltextFI .
+klassevorbereiten:IF (schuelerabdat<>nildatum)THEN klasseaufber:=kleinaELSE
+klasseaufber:=blankFI ;klasseaufber:=klasseaufber+blank+jahrgang+blank+zug.
+zeilefuellen:spaltenweise(schuelernameaufber);spaltenweise(gebdataufber);
+spaltenweise(klasseaufber).END PROC schuelervorbereiten;BOOL PROC volljaehrig
+(INT CONST geburtstag):geburtstag<=vergldatumEND PROC volljaehrig;PROC
+schuelerholen:schuelername:=wert(fnrsufamnames);schuelerrufname:=wert(
+fnrsurufnames);schuelernamenszus:=wert(fnrsunamenszusatzs);schuelergebdat:=
+wert(fnrsugebdatums);schuelerabdat:=wert(fnrsuabgdats);jahrgang:=wert(
+fnrsusgrpjgst);zug:=wert(fnrsusgrpzugtut);END PROC schuelerholen;END PACKET
+gesamtliste;
+