summaryrefslogtreecommitdiff
path: root/app/schulis/2.2.1/src/0.listen.benutz
diff options
context:
space:
mode:
Diffstat (limited to 'app/schulis/2.2.1/src/0.listen.benutz')
-rw-r--r--app/schulis/2.2.1/src/0.listen.benutz84
1 files changed, 84 insertions, 0 deletions
diff --git a/app/schulis/2.2.1/src/0.listen.benutz b/app/schulis/2.2.1/src/0.listen.benutz
new file mode 100644
index 0000000..cabeae1
--- /dev/null
+++ b/app/schulis/2.2.1/src/0.listen.benutz
@@ -0,0 +1,84 @@
+PACKET benutzerlisteDEFINES benulispezielleteile:LET niltext="",blank=" ",
+null=0,slash="/",spaltentrenner=" ",ueberschriftenzeilen=1,anzspalten=6,
+dateiname="sortdatei",ausgfeldlaenge=9,spaltenbreite=11,AUSGFELD =ROW
+ausgfeldlaengeTEXT ,benulieingangsmaske="mu liste einfach eingang",
+benulianfpos=2,mnrbearbeitetwerden=104;#LET dnrbenutz=7,fnrbenutzname=9,
+fnrbenutzberecht=11;#INT VAR druckzeilenzahl,bildanf,eingabestatus,
+aktuelleindexnr,ausgfeldlaengereal;TEXT VAR benuliueberschrift,kennung,
+berechtigungen,bearbeitetwerden,startwert,anfbuchstabe,neueranfbuchstabe;
+AUSGFELD VAR ausgfeld;BOOL PROC multistop:TRUE END PROC multistop;PROC
+benulispezielleteile(INT CONST nr):SELECT nrOF CASE 1:benulidialogvorbereiten
+CASE 2:benulieingabenrichtigCASE 3:benulilistenvorbereitenCASE 4:
+benulidruckvorbereitenCASE 5:benuliseitedruckenCASE 6:
+benulibildschirmvorbereitenCASE 7:benuliseitezeigenENDSELECT .END PROC
+benulispezielleteile;PROC benulidialogvorbereiten:systemdbon;#first(dnrbenutz
+);startwert:=wert(fnrbenutzname);#benuliueberschrift:=text(vergleichsknoten);
+setzeanfangswerte(benulieingangsmaske,benulianfpos).END PROC
+benulidialogvorbereiten;PROC benulieingabenrichtig: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 benulieingabenrichtig;PROC
+benulilistenvorbereiten:INT VAR i;BOOL VAR b:=FALSE ;initspalten;FOR iFROM 1
+UPTO anzspaltenREP setzespaltenbreite(spaltenbreite)PER ;setzespaltentrenner(
+spaltentrenner);aktuelleindexnr:=dnrbenutz;inittupel(dnrbenutz);
+setzeidentiwert("");initobli(2);objektlistestarten(aktuelleindexnr,"",
+fnrbenutzname,FALSE ,b);setzebestandende(NOT multistop)END PROC
+benulilistenvorbereiten;PROC benulibildschirmvorbereiten:LET fnrausganf=2;
+standardkopfmaskeaktualisieren(benuliueberschrift);bildanf:=fnrausganf;
+setzebildanfangsposition(bildanf).END PROC benulibildschirmvorbereiten;PROC
+benuliseitezeigen:blaettern(PROC (INT CONST )benutzerzeigen,aktion,FALSE ,
+FALSE ,BOOL PROC multistop);END PROC benuliseitezeigen;PROC benutzerzeigen(
+INT CONST x):benutzerholen;benutzeraufbereitenbild;benutzeraufbildschirm.END
+PROC benutzerzeigen;PROC benutzeraufbereitenbild:INT VAR i;
+benutzeraufbereitenallgemein(bildbreite);restbehandlungbild.
+restbehandlungbild:FOR iFROM ausgfeldlaengereal+1UPTO ausgfeldlaengeREP
+ausgfeld(i):=text(blank,bildbreite)PER .END PROC benutzeraufbereitenbild;
+PROC benutzeraufbildschirm:INT VAR i;FOR iFROM 1UPTO ausgfeldlaengeREP
+ausgfeld(i)IN ausgabepos;erhoeheausgabeposumeinsEND REP .END PROC
+benutzeraufbildschirm;PROC benulidruckvorbereiten:anfbuchstabe:=niltext;
+druckvorbereiten;variablenfuerdrucksetzen;initdruckkopf(zentriert(
+benuliueberschrift,druckbreite));holemeldung;systemdbon;inittupel(dnrbenutz);
+setzebestandende(NOT multistop);lesenvorbereitendruck(PROC (INT CONST ,BOOL
+PROC ,INT VAR )scanforward,BOOL PROC multistop).holemeldung:meldungstext(
+mnrbearbeitetwerden,bearbeitetwerden).variablenfuerdrucksetzen:
+druckzeilenzahl:=drucklaenge(ueberschriftenzeilen).END PROC
+benulidruckvorbereiten;PROC benuliseitedrucken:benuliueberschriftdrucken;
+seitedrucken(PROC (INT VAR )benutzerdrucken,druckzeilenzahl,ausgfeldlaenge,
+BOOL PROC multistop);seitenwechsel.END PROC benuliseitedrucken;PROC
+benuliueberschriftdrucken:druckkopfschreiben.END PROC
+benuliueberschriftdrucken;PROC benutzerdrucken(INT VAR zeilenzaehler):LET
+markiert="#";benutzerholen;ggflmeldunganfbuchstabe;benutzeraufbereitendruck;
+zeilenzaehlerINCR ausgfeldlaengereal;benutzerindruckdatei.
+ggflmeldunganfbuchstabe:IF anfbuchstabegeaendertTHEN meldunganfbuchstabeFI .
+anfbuchstabegeaendert:neueranfbuchstabe:=kennungSUB 1;anfbuchstabe<>
+neueranfbuchstabe.meldunganfbuchstabe:standardmeldung(bearbeitetwerden,
+neueranfbuchstabe+markiert);anfbuchstabe:=neueranfbuchstabe.END PROC
+benutzerdrucken;PROC benutzeraufbereitendruck:benutzeraufbereitenallgemein(
+druckbreite).END PROC benutzeraufbereitendruck;PROC benutzerindruckdatei:INT
+VAR i;FOR iFROM 1UPTO ausgfeldlaengerealREP druckzeileschreiben(ausgfeld(i))
+PER .END PROC benutzerindruckdatei;PROC benutzeraufbereitenallgemein(INT
+CONST breite):INT VAR position,anzahlberechtigungen,anzzeilenreal,i,j,k;FILE
+VAR f;TEXT VAR berechtigung;kennungaufbereiten;berechtigungenaufbereiten.
+kennungaufbereiten:ausgfeld(1):=text(kennung,breite).
+berechtigungenaufbereiten:erstenslashimtextueberlesen;
+berechtigungenindateiundsortieren;wirklichezeilenzahlberechnen;
+ausgabefelderberechtigungenauffuellen.erstenslashimtextueberlesen:position:=
+pos(berechtigungen,slash);berechtigungen:=subtext(berechtigungen,position+1).
+berechtigungenindateiundsortieren:f:=sequentialfile(output,dateiname);
+anzahlberechtigungen:=null;position:=pos(berechtigungen,slash);WHILE position
+<>nullREP anzahlberechtigungenINCR 1;putline(f,subtext(berechtigungen,1,
+position-1));berechtigungen:=subtext(berechtigungen,position+1);position:=pos
+(berechtigungen,slash)PER ;putline(f,berechtigungen);anzahlberechtigungen
+INCR 1;sort(dateiname).wirklichezeilenzahlberechnen:anzzeilenreal:=
+anzahlberechtigungenDIV anzspalten;IF (anzahlberechtigungenMOD anzspalten<>
+null)THEN anzzeilenrealINCR 1FI .ausgabefelderberechtigungenauffuellen:f:=
+sequentialfile(input,dateiname);i:=null;FOR jFROM 1UPTO anzzeilenrealREP FOR
+kFROM 1UPTO anzspaltenREP iINCR 1;IF i>anzahlberechtigungenTHEN spaltenweise(
+blank)ELSE getline(f,berechtigung);spaltenweise(berechtigung)FI ;PER ;
+ausgfeld(j+1):=zeilePER ;forget(dateiname,quiet);ausgfeldlaengereal:=
+anzzeilenreal+2;ausgfeld(ausgfeldlaengereal):=text(blank,breite).END PROC
+benutzeraufbereitenallgemein;PROC benutzerholen:kennung:=wert(fnrbenutzname);
+berechtigungen:=wert(fnrbenutzberecht);END PROC benutzerholen;END PACKET
+benutzerliste;
+