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;