home *** CD-ROM | disk | FTP | other *** search
- /* $VER: Netzstatistik.adm 1.0 (6.1.93)
-
- Gibt den Anteil der User aus, die in der aktuellen ADM-Datei in
- den jeweiligen Netzen sind.
-
- Hat zwar keinen praktischen Nutzen, zeigt jedoch, wie ADM-Daten
- ausgewertet und zu Statistiken verwendet werden könnten.
-
- Fehler:
- Überschneidungen (z.B. User in mehreren Netzen oder mehrere
- Adressen in einem Netz) werden nicht separat ausgewertet.
-
- Von Jan Geißler.
-
- */
-
- /*----------------------------------------------------------------------
- Hauptprogramm: Adresse auslesen, Mail schreiben & schicken
- ----------------------------------------------------------------------*/
-
- OPTIONS RESULTS
-
- /* Variablen initialisieren */
-
- numfido = 0
- numuucp = 0
- numzer = 0
-
- /* Ersten Eintrag aktivieren, Anzahl Einträge herausfinden */
-
- ACTIVATEFIRST
- ADDRINMEM
- num = RESULT
-
- /* Schleife: Falls EMail-Adresse
-
- DO FOR num
- GETADDRESS ADM /* Adresse holen */
- IF ADM.EMAIL1 ~= "" THEN DO
- txt = ADM.EMAIL1 /* EMail 1 auswerten, falls vorhanden */
- CALL NetType
- END
- IF ADM.EMAIL2 ~= "" THEN DO
- txt = ADM.EMAIL2 /* EMail 2 auswerten, falls vorhanden */
- CALL NetType
- END
- ACTIVATENEXT /* Nächsten aktivieren */
- END
-
- /* Ergebnis ausgeben */
-
- SAY "Gesamtzahl:" num
- SAY "Fidonet: " numfido "(" || numfido / num * 100 || "%)"
- SAY "Z-Netz: " numzer "(" || numzer / num * 100 || "%)"
- SAY "Usenet: " numuucp "(" || numuucp / num * 100 || "%)"
-
- EXIT /* Ende */
-
-
- /*----------------------------------------------------------------------
- UNTERPROGRAMM: Netz herausfinden.
- ----------------------------------------------------------------------*/
-
- NetType:
-
- IF txt ~= "" THEN DO /* Wenn überhaupt EMail-Text vorhanden */
-
- pos = POS("=",txt) /* Wenn mit ZER=, FIDO= oder UUCP= ein- */
- /* getragen... */
-
- IF pos > 0 THEN DO /* ... Netz herausfinden und von Adresse */
- net = STRIP(SUBSTR(txt,1,pos-1)) /* trennen */
- END
- ELSE DO /* andernfalls: Herausfinden, welches Netz */
-
- net = "UUCP" /* Vorgegeben: UUCP, falls kein anderes
- erkannt wird... */
-
- pos = POS("@Fidonet",txt) /* Endung "@Fidonet"? */
- IF pos>0 THEN DO
- net = "FIDO"
- END
-
- pos = POS(".ZER",txt) /* Endung ".ZER"? */
- IF pos=LENGTH(txt)-3 THEN DO
- net = "ZER"
- END
- END
-
- IF net="FIDO" THEN DO /* FIDO: */
- numfido = numfido + 1
- END
-
- IF net="ZER" THEN DO /* ZERBERUS: */
- numzer = numzer + 1
- END
-
- IF net="UUCP" THEN DO /* UUCP: */
- numuucp = numuucp + 1
- END
-
- END
- RETURN
-
- /* ENDE des Unterprogramms */
-