/* $VER: FilterPuffer.zprx 1.3 (15.2.95) Copyright (c) Ralph Seichter Dies ist ein ARexx-Skript für Zodiac's Point, mit dem man einen empfangenen Netcallpuffer entpacken und filtern kann. Das Script erkennt automatisch ob der angekommene Puffer ein LZX-Archiv oder ungepackt ist, entpackt oder kopiert diesen entsprechend in ein Verzeichnis 'T:WILAM-04431-3749' und filtert dann alle enthaltenen Einzelpuffer. Die fertig gefilterten Puffer werden im aktuellen Verzeichnis unter dem Namen 'PUFFER' gespeichert. In dieser Datei sind alle empfangenen Einzelpuffer hintereinandergehängt enthalten und können einsortiert werden. Sie dürfen dieses Skript beliebig kopieren, solange es zusammen mit Zodiac's Point eingesetzt wird, aber verändern Sie es bitte nicht ohne Erlaubnis des Autors. Sie erreichen den Autor wie folgt: Jürgen Kohrmeyer Tel. : +49 5402 5195 Oststraße 2 EMail: j_kohrmeyer@wilam.north.de 49143 Bissendorf Hinweise zur Installation: Kopieren sie dieses Skript in das Rexx-Verzeichnis von ZP und tragen sie es als Entpacker in Zodiac's Point ein. Rufen Sie dazu 'Konfiguration erstellen oder ändern/Pfade und Kommandos' auf, im Eingabefeld für den 'Entpacker' tragen Sie folgendes ein: "SYS:Rexxc/RX Rexx/FilterPuffer.zprx %s %s" */ /* ** Hier wird ein Verzeichnis für temporäre Daten angegeben. Auf ** dem Datenträger, der dieses Verzeichnis enthält muß genügend ** Speicherplatz für den gesamten, entpackten Puffer vorhanden ** sein. Der Pfad muß in Anführungszeichen oder Hochkommas stehen. */ tempdir = 'T:' /* Beginn des Scripts */ OPTIONS RESULTS OPTIONS FAILAT 20 PARSE ARG archiv screenname IF archiv = '' | screenname = '' THEN quit('Format: FilterPuffer ',10) IF ~EXISTS(archiv) THEN quit('Die Datei' archiv 'existiert nicht!',10) IF ~SHOW(LIBRARIES,'rexxsupport.library') THEN IF ~ADDLIB('rexxsupport.library',0,-30,0) THEN quit('Kann die nicht öffnen!',10) /* Pfad des temporären Verzeichnisses 'tempdir' zusammensetzen */ IF RIGHT(tempdir,1) ~= '/' & RIGHT(tempdir,1) ~= ':' THEN tempdir = tempdir'/' tempdir = tempdir'WILAM-04431-3749' /* 'tempdir' neu anlegen */ IF EXISTS(tempdir) THEN ADDRESS COMMAND 'Delete "'tempdir'" ALL QUIET' IF ~MAKEDIR(tempdir) THEN quit('Verzeichnis' tempdir 'kann nicht angelegt werden!',10) /* Pufferdatei öffnen, die ersten 7 Bytes einlesen und wieder schließen */ IF ~OPEN('testfile',archiv,'READ') THEN quit('Fehler beim Öffnen der Pufferdatei 'archiv,rc) string = READCH('testfile',7) CLOSE('testfile') /* Pufferdatei auf Archiv prüfen und nach 'tempdir' entpacken oder kopieren */ IF LEFT(string,3) = 'LZX' THEN DO SAY 'Entpacke 'archiv' nach 'tempdir'0a'x ADDRESS COMMAND 'c:lzx -P-1 -X0 x 'archiv' 'tempdir'/' END ELSE DO SAY 'Kopiere 'archiv' nach 'tempdir'0a'x ADDRESS COMMAND 'copy 'archiv' 'tempdir'/'archiv END IF rc ~= 0 THEN quit('Fehler beim Entpacken/Kopieren der Pufferdatei 'archiv,rc) SAY /* Alle Filenamen auslesen */ filestring = SHOWDIR(tempdir,'FILE') anzfiles = WORDS(filestring) IF anzfiles = 0 THEN quit('Die Pufferdatei enthielt keine Daten!',10) /* Testen, ob MailFilter gestartet ist. Wenn nicht, dann jetzt starten */ IF ~SHOW(PORTS,'MAILFILTER') THEN DO ADDRESS COMMAND 'run >NIL: drücken') CALL READLN('con') END EXIT rcode /* EOF */