PACKET statistiklisteDEFINES statlistezeigen,statlistebearbeiten,
statlisteeintrag:LET statistikserver="statistik server",niltext="",
maxstatistiken=200,null="�",eins="�",maxi="�",mlistewirderstellt=7,
mkeinedaten=68;THESAURUS VAR thesauswahl;TEXT VAR theseintrag;INT VAR
thesindex;BOOL VAR theszeigen;PROC statlistezeigen(INT CONST abnr):BOOL VAR
istleer;standardmeldung(mlistewirderstellt,niltext);
thesauruszeigenvorbereiten(allestatistikensortiert(abnr),istleer);IF istleer
THEN standardmeldung(mkeinedaten,niltext);leave(1);ELSE theszeigen:=TRUE ;
thesauruszeigen;FI .END PROC statlistezeigen;PROC statlistebearbeiten(TEXT
CONST standardmaskenname):IF theszeigenTHEN theszeigen:=FALSE ;thesauswahl:=
thesaurusauswahl;thesindex:=0;standardstartproc(standardmaskenname);FI ;get(
thesauswahl,theseintrag,thesindex);IF thesindex=0THEN theseintrag:=niltext;
ELSE theseintrag:=text(int(theseintrag));FI ;END PROC statlistebearbeiten;
TEXT PROC statlisteeintrag:theseintragEND PROC statlisteeintrag;THESAURUS
PROC allestatistikensortiert(INT CONST abnr):THESAURUS VAR verzeichnis:=
allestatistiken(task(statistikserver)),sortiert:=emptythesaurus;INT VAR index
:=0;TEXT VAR eintrag,sorter:=maxstatistiken*null;get(verzeichnis,eintrag,
index);WHILE index>0REP replace(sorter,int(eintrag),code(index));get(
verzeichnis,eintrag,index);PER ;index:=pos(sorter,eins,maxi,max(1,abnr));
WHILE index>0REP insert(sortiert,name(verzeichnis,code(sorterSUB index)));
index:=pos(sorter,eins,maxi,index+1);PER ;sortiert.END PROC
allestatistikensortiert;LET statistikverzeichnis="statistik verzeichnis";
DATASPACE VAR ds;THESAURUS PROC allestatistiken(TASK CONST statmanager):
disablestop;forget(ds);fetch(ds,statistikverzeichnis,statmanager);BOUND
THESAURUS VAR res:=ds;THESAURUS VAR result:=CONCR (res);forget(ds);resultEND
PROC allestatistiken;END PACKET statistikliste;