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.neuan | 121 +++++++++++++++++++++++++++++++++++ 1 file changed, 121 insertions(+) create mode 100644 app/schulis/2.2.1/src/1.listen.neuan (limited to 'app/schulis/2.2.1/src/1.listen.neuan') diff --git a/app/schulis/2.2.1/src/1.listen.neuan b/app/schulis/2.2.1/src/1.listen.neuan new file mode 100644 index 0000000..6fd7fc5 --- /dev/null +++ b/app/schulis/2.2.1/src/1.listen.neuan @@ -0,0 +1,121 @@ +PACKET neuanlistenDEFINES neuanlispezielleteile:LET niltext="",blank=" ", +mittestrich="-",null=0,komma=",",ueberschriftenzeilen=2,nname="Name",schule= +"Schule",klasse="Klasse",spalte3breite=6,anzspaltentrenner=2,ausgkopflaenge=2 +,ausgfeldlaenge=2,AUSGFELD =ROW ausgfeldlaengeTEXT ,AUSGKOPF =ROW +ausgkopflaengeTEXT ,neuanlieingangsmaske="ms liste neuanmeld eingang", +neuanlianfpos=2,#fnrsustatuss=6,fnrsunamenszusatzs=21,fnrsuskennlschule=14, +fnrsuklasselschule=15,ixsustatschulkenn=253,ixsustatfamrufgeb=254dnrschueler= +2,dnrschulen=120,fnrschkennung=121,fnrschname=122,#mnrbearbeitetwerdenschulen +=101,mnrbearbeitetwerdenschueler=102;INT CONST spalte1bildbreite:=(bildbreite +-anzspaltentrenner-spalte3breite)DIV 2,spalte2bildbreite:=spalte1bildbreite;# +bildsatzzahl:=(bildlaenge-ausgkopflaenge)DIV ausgfeldlaenge,bildblocklaenge:= +(bildsatzzahl+1)DIV 2;#INT VAR spalte1druckbreite,spalte2druckbreite, +druckzeilenzahl,bildanf,eingabestatus,aktuelleindexnr;TEXT VAR schuljahr, +schuelername,schuelerrufname,schuelernamenszus,schuelerherkschule, +schuelerherkklasse,schuelernameaufber,jahrgang,#sortbest,#anfbuchstabe, +neueranfbuchstabe,startwert,bearbeitetwerdenschulen,bearbeitetwerdenschueler; +TEXT VAR druckstrich;TEXT CONST bildstrich:=bildbreite*mittestrich;AUSGFELD +VAR ausgfeld;AUSGKOPF VAR ausgkopf;BOOL VAR sortalpha,jgst5,jgst11;BOOL PROC +multistop:BOOL VAR b;IF jgst5THEN b:=wert(fnrsustatuss)="n05"ELIF jgst11THEN +b:=wert(fnrsustatuss)="n11"ELSE b:=wert(fnrsustatuss)="nso"FI ;bENDPROC +multistop;BOOL PROC multistopsim:BOOL VAR b:=multistop;setzebestandende(NOT b +);bENDPROC multistopsim;PROC neuanlispezielleteile(INT CONST nr):SELECT nrOF +CASE 1:neuanlidialogvorbereitenCASE 2:neuanlieingabenrichtigCASE 3: +neuanlilistenvorbereitenCASE 4:neuanlidruckvorbereitenCASE 5: +neuanliseitedruckenCASE 6:neuanlibildschirmvorbereitenCASE 7: +neuanliseitezeigenENDSELECT .END PROC neuanlispezielleteile;PROC +neuanlidialogvorbereiten:setzeanfangswerte(neuanlieingangsmaske,neuanlianfpos +)END PROC neuanlidialogvorbereiten;PROC neuanlieingabenrichtig:LET fnrjgst5=2 +,fnrjgst11=3,fnrjgstsonst=4,fnrsortalpha=5,fnrsortschule=6,fnrausgdrucker=7, +fnrausgbild=8;standardpruefe(5,fnrjgst5,fnrjgstsonst,null,niltext, +eingabestatus);IF eingabestatus<>0THEN infeld(eingabestatus);setzeeingabetest +(FALSE )ELSE standardpruefe(5,fnrsortalpha,fnrsortschule,null,niltext, +eingabestatus);IF eingabestatus<>0THEN infeld(eingabestatus);setzeeingabetest +(FALSE )ELSE standardpruefe(5,fnrausgdrucker,fnrausgbild,null,niltext, +eingabestatus);IF eingabestatus<>0THEN infeld(eingabestatus);setzeeingabetest +(FALSE )ELSE jgst5:=standardmaskenfeld(fnrjgst5)<>niltext;jgst11:= +standardmaskenfeld(fnrjgst11)<>niltext;sortalpha:=standardmaskenfeld( +fnrsortschule)=niltext;#note("-->"+standardmaskenfeld(fnrsortschule)+"<--"); +noteline;#setzeausgabedrucker(standardmaskenfeld(fnrausgbild)=niltext); +setzeeingabetest(TRUE )FI FI FI .END PROC neuanlieingabenrichtig;PROC +neuanlilistenvorbereiten:LET fuenf="05",elf="11",sonst="sonst";BOOL VAR b:= +FALSE ;IF jgst5THEN jahrgang:=fuenf;startwert:="n05"ELSE IF jgst11THEN +jahrgang:=elf;startwert:="n11"ELSE jahrgang:=sonst;startwert:="nso"FI ;FI ; +IF sortalphaTHEN aktuelleindexnr:=ixsustatfamrufgebELSE aktuelleindexnr:= +ixsustatschulkennFI ;#note("Nr,: "+text(aktuelleindexnr));noteline;#inittupel +(dnrschueler);initobli(8);parsenooffields(21);setzeidentiwert("");putwert( +fnrsustatuss,startwert);#objektlistestarten(aktuelleindexnr,"",fnrsustatuss, +TRUE ,b);#objektlistestarten(aktuelleindexnr,"",staticfield,TRUE ,b); +setzebestandende(b).staticfield:IF sortalphaTHEN dnrschueler+1ELSE +fnrsuskennlschuleFI .END PROC neuanlilistenvorbereiten;PROC +neuanlibildschirmvorbereiten:LET fnrausganf=2,aufein="",aufaus=" ", +neuanliueberschriftneu1="Liste der Neuanmeldungen zur Jgst. ", +neuanliueberschriftneu2="Liste der sonstigen Neuanmeldungen"; +standardkopfmaskeaktualisieren(neueueberschrift);initspalten; +setzespaltenbreite(spalte1bildbreite);setzespaltenbreite(spalte2bildbreite); +setzespaltenbreite(spalte3breite);initausgabekopf(bildstrich);bildanf:= +fnrausganf;INT VAR i;FOR iFROM 1UPTO ausgkopflaengeREPEAT ausgkopf(i)IN +bildanf;bildanfINCR 1END REPEAT ;setzebildanfangsposition(bildanf). +neueueberschrift:IF (jgst5OR jgst11)THEN neuanliueberschriftneu1+aufein+ +jahrgang+aufausELSE neuanliueberschriftneu2FI .END PROC +neuanlibildschirmvorbereiten;PROC neuanliseitezeigen:blaettern(PROC (INT +CONST )schuelerzeigen,aktion,TRUE ,TRUE ,BOOL PROC multistop)END PROC +neuanliseitezeigen;PROC schuelerzeigen(INT CONST x):schuelerholen; +schueleraufbereiten;schueleraufbildschirmEND PROC schuelerzeigen;PROC +schueleraufbildschirm:INT VAR i;FOR iFROM 1UPTO ausgfeldlaengeREPEAT ausgfeld +(i)IN ausgabepos;erhoeheausgabeposumeinsEND REPEAT .END PROC +schueleraufbildschirm;PROC neuanlidruckvorbereiten:LET schluessel="Schuljahr" +,uebteil1="Folgende Schüler wurden zum Schuljahr ",uebteil2=" für die", +uebteil31="Jahrgangsstufe ",uebteil32="sonstigen Jahrgangsstufen ",uebteil4= +" angemeldet:";TEXT VAR ueberschrift1,ueberschrift2;anfbuchstabe:=blank; +druckvorbereiten;variablenfuerdrucksetzen;ueberschriftvorbereitendruck; +initdruckkopf(ueberschrift1,ueberschrift2);initspalten;setzespaltenbreite( +spalte1druckbreite);setzespaltenbreite(spalte2druckbreite);setzespaltenbreite +(spalte3breite);initausgabekopf(druckstrich);holemeldungen;inittupel( +dnrschueler);putwert(fnrsustatuss,startwert);lesenvorbereitendruck(PROC (INT +CONST ,BOOL PROC ,INT VAR )scanforward,BOOL PROC multistopsim). +variablenfuerdrucksetzen:druckstrich:=druckbreite*mittestrich; +spalte1druckbreite:=(druckbreite-anzspaltentrenner-spalte3breite)DIV 2; +spalte2druckbreite:=spalte1druckbreite;druckzeilenzahl:=drucklaenge( +ueberschriftenzeilen)-ausgkopflaenge.ueberschriftvorbereitendruck:schuljahr:= +schulkenndatum(schluessel);schuljahraufbereiten;ueberschrift1:=uebteil1+ +schuljahr+uebteil2;IF (jgst5OR jgst11)THEN ueberschrift2:=uebteil31+jahrgang+ +uebteil4ELSE ueberschrift2:=uebteil32+uebteil4FI .schuljahraufbereiten: +schuljahr:="19"+subtext(schuljahr,1,2)+"/"+subtext(schuljahr,3,4). +holemeldungen:meldungstext(mnrbearbeitetwerdenschulen,bearbeitetwerdenschulen +);meldungstext(mnrbearbeitetwerdenschueler,bearbeitetwerdenschueler).END +PROC neuanlidruckvorbereiten;PROC neuanliseitedrucken: +neuanliueberschriftdrucken;seitedrucken(PROC (INT VAR )schuelerdrucken, +druckzeilenzahl,ausgfeldlaenge,BOOL PROC multistopsim);seitenwechsel.END +PROC neuanliseitedrucken;PROC neuanliueberschriftdrucken:druckkopfschreiben; +INT VAR i;FOR iFROM 1UPTO ausgkopflaengeREPEAT druckzeileschreiben(ausgkopf(i +))END REPEAT .END PROC neuanliueberschriftdrucken;PROC schuelerdrucken(INT +VAR zeilenzaehler):LET markiert="#";schuelerholen;ggflmeldunganfbuchstabe; +schueleraufbereiten;zeilenzaehlerINCR ausgfeldlaenge;schuelerindruckdatei. +ggflmeldunganfbuchstabe:IF anfbuchstabegeaendertTHEN zwischenmeldungFI . +anfbuchstabegeaendert:IF sortalphaTHEN neueranfbuchstabe:=schuelernameSUB 1 +ELSE neueranfbuchstabe:=schuelerherkschuleSUB 1FI ;anfbuchstabe<> +neueranfbuchstabe.zwischenmeldung:IF sortalphaTHEN standardmeldung( +bearbeitetwerdenschueler,neueranfbuchstabe+markiert)ELSE standardmeldung( +bearbeitetwerdenschulen,neueranfbuchstabe+markiert)FI ;anfbuchstabe:= +neueranfbuchstabe;END PROC schuelerdrucken;PROC schuelerindruckdatei:INT VAR +i;FOR iFROM 1UPTO ausgfeldlaengeREPEAT druckzeileschreiben(ausgfeld(i))END +REPEAT .END PROC schuelerindruckdatei;PROC initausgabekopf(TEXT CONST strich) +:spaltenweise(nname);spaltenweise(schule);spaltenweise(klasse);ausgkopf(1):= +zeile;ausgkopf(2):=strich;END PROC initausgabekopf;PROC schuelerholen: +schuelername:=wert(3);schuelerrufname:=2*blank+wert(4);schuelernamenszus:= +wert(fnrsunamenszusatzs);sucheschule;schuelerherkklasse:=wert( +fnrsuklasselschule).sucheschule:putwert(fnrschkennung,wert(fnrsuskennlschule) +);search(dnrschulen,TRUE );IF dbstatus=okTHEN schuelerherkschule:=wert( +fnrschname)ELSE schuelerherkschule:=wert(fnrsuskennlschule)FI .END PROC +schuelerholen;PROC schueleraufbereiten:schuelernameaufbereiten; +schreibenameschuleklasse;schreiberufname.schreibenameschuleklasse: +spaltenweise(schuelernameaufber);spaltenweise(schuelerherkschule); +spaltenweise(schuelerherkklasse);ausgfeld(1):=zeile.schreiberufname: +spaltenweise(schuelerrufname);spaltenweise(blank);spaltenweise(blank); +ausgfeld(2):=zeile.END PROC schueleraufbereiten;PROC schuelernameaufbereiten: +schuelernameaufber:=niltext;IF schuelernamenszus<>niltextTHEN +schuelernameaufber:=schuelernamenszus+blankFI ;schuelernameaufber:= +schuelernameaufber+schuelername+komma;END PROC schuelernameaufbereiten;END +PACKET neuanlisten; + -- cgit v1.2.3