/* PANDORA@CIRCUS.zer.sub.org --------------------------------------------------------------------- Date-Delete-ZP.rexx V1.0 by Theo Penning Zweck: Löschen von Nachrichten in allen oder einzelnen Brettern die über 5 Tage alt sind. Nachrichten mit Archivflag sind davon nicht betroffen :) Dieses Script auf eine F-Taste von ZPoint legen F1:SYS:rexxc/rx ZPOINT:AREXX/Date-Delete-ZP.rexx und einfach mal testen :-)) Keine Angst ohne Bestätigung wird nichts gelöscht. Hardware-Voraussetzung für dieses Script ist eine interne Uhr...grins --------------------------------------------------------------------- */ OPTIONS RESULTS PARSE ARG zpPort ADDRESS VALUE zpPort Dat = date("S",date("I")-5) /* Aktuelles Datum minus 5 Tage */ /* anstatt -5 kann man natürlich auch -30 oder mehr eingeben */ tag = substr(dat,7,2) mon = substr(dat,5,2) Jahr = substr(dat,1,4) DATUM = tag || "." || mon || "." || Jahr WHICHLEVEL LEVEL = RESULT IF LEVEL = "BOARDMENU" THEN DO REQUESTRESPONSE "Nachrichten in ALLEN Brettern bis zum " || DATUM || " löschen ?" IF RC = 0 THEN EXIT COUNT ALL BRETTER = RESULT DO N = 4 to BRETTER JUMPTOBOARD N IF RC = 0 THEN EXIT /* ------------------------------------------------------------- |ab hier wäre es schön wenn die folgenden Befehle auch | |interaktiv funktionieren würden. Ich meine das ZPoint zwar | |alle folgenden Befehle in den einzelnen Brettern ausführt, | |aber dabei im Brettmenü bleibt. | |Ich nehme an das nun mal wieder Ralphs Programmierkünste | |gefragt sind :-) | ------------------------------------------------------------- */ ENTERBOARD IF RC = 0 THEN EXIT COUNT ALL ANZAHL = RESULT DO I = 1 to ANZAHL JUMPTOMESSAGE i IF RC = 0 THEN EXIT MESSAGEINFO DATE IF substr(RESULT,1,8) <= Dat THEN DELETE ONE /* Datum prüfen */ END BOARDMENU IF RC = 0 THEN EXIT END EXIT END IF LEVEL = "BOARD" THEN DO REQUESTRESPONSE "Nachrichten in DIESEM Brett bis zum " || DATUM || " löschen ?" IF RC = 0 THEN EXIT COUNT ALL /* Nachrichten zählen */ ANZAHL = RESULT DO I = 1 to anzahl JUMPTOMESSAGE I IF RC = 0 THEN EXIT /* wenn keine Nachricht - abbrechen */ MESSAGEINFO DATE /* Datum abfragen */ IF substr(RESULT,1,8) <= Dat THEN DELETE ONE /* Datum prüfen */ END /* ---------------------------------------------------------------------- | Hier wäre es angebracht den Befehl AUFRÄUMEN als Arexx-Command zur | | Verfügung zu haben. Aber vieleicht baut der Ralph den ja noch ein | | Nicht wahr Ralphi ...GRINS | ---------------------------------------------------------------------- */ EXIT END IF LEVEL = "MAINMENU" THEN DO REQUESTNOTIFY "Nur im Brett oder Brettmenü !" EXIT END EXIT