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/1.listen.gesamt | 106 ++++++++++++++++++++++++++++++++++ 1 file changed, 106 insertions(+) create mode 100644 app/schulis/2.2.1/src/1.listen.gesamt (limited to 'app/schulis/2.2.1/src/1.listen.gesamt') 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; + -- cgit v1.2.3