BEinmalKA := 5;
BEinmalKZ := 5;
BEinmalLZ := 60;
BNeuLZ := 180;
BAltKA := 26;
BAltKZ := 32767;
BAltLZ := 182;
"B" wie Benutzer.
"Einmal" sollen Benutzer sein, die "nur einmal anrufen" - tatsächlich ist die Bedingung etwas komplizierter (<KA Anrufe in <KZ Tagen). "Neu" ist ein Benutzer danach.
Dann wird er möglicherweise Zahler und ist vor dem Löschen sicher. Und schließlich "Alt".
"KA" - Anzahl der (A)nrufe, die die Grenze für diese (K)lasse darstellen.
"KZ" - (Z)eit (in Tagen, erster bis letzter Anruf), die die Grenze für diese(K)lasse darstellt.
"LZ" - (Z)eit (in Tagen, nach dem letzten Anruf), nach der ge(L)öscht wird.
Sonderfälle: ex-Zahler sind immer Altbenutzer. SysOps werden nur gemahnt, nicht gelöscht.
Nachfrage:
Altuser wären ja in obigem Beispiel User, die innerhalb der letzten 32767 Tagen max. 25x angerufen hätten - was sind sie danach?
oder andersherum gefragt:
Ich will, dass Ex-zahler frühestens nach einem Jahr geloescht werden, wie mache ich das?
BaltLZ:=365?
BEinmalKA := ; [3]
BEinmalKZ := ; [3]
BEinmalLZ := ; [30]
innerhalb von 2 tagen hoechstens 2 anrufe -> kill nach 30 tagen?
; BNeuLZ := ; [90]
mehr als 3 Anrufe -> kill nach 90 Tagen?
ciao, udo
Und dann noch das passende Stückchen Source-Code
Von : Gereon Steffens @ K2 (Do, 04.05.95 18:25) RId : <199505040135.a25057@wi.maus.de> >Gereon, kannst Du der Vollständigkeit halber noch die Statements mit >den anderen vier Konfig-Variablen (BEinmalKA, -KZ, -LZ und BNeuLZ) >posten? Klar. Hier der komplette Ausschnitt: if not BP^.paid then begin Write(Scr, BP^.Nummer: 7, #8#8#8#8#8#8#8); KeinAnruf := today - BP^.LastCallD; TageOnline := BP^.LastCallD - BP^.LogInDate + 1; if (BP^.PayDate > 0) { hatte mal gezahlt } or (BP^.CallCount >= BAltKA) or (TageOnline >= BAltKZ) then ex := KeinAnruf > BAltLZ else if (BP^.CallCount < BEinmalKA) or (TageOnline < BEinmalKZ) then ex := KeinAnruf > BEinmalLZ else ex := KeinAnruf > BNeuLZ; if ex then begin { Lösch den User } end; end; Gereon
Copyright © by Christian Goßlar
Letzte Aktualisierung am 6. November 1997