home *** CD-ROM | disk | FTP | other *** search
Wrap
/***************************************************************************** * $VER:AddressMachine.zprx 1.1 (08 Okt 1994), Stephan Hellwig * * EMail: Stephan_H@istda.north.de bzw. Stephan_H@cli.sh.sub.de * * * * Arexx-Script für die Zusammenarbeit zwischen dem AddressMaster von * * Jan Geißler und Zodiac's Point von Ralph Seichter. * * * * AddressMachine.zprx ermöglicht das Verwalten der Adresseinträge von * * ZPoint mittels des AddressMasters (ADM), einschl. aller damit * * verbundenen Vorteile. So ist es z.B. möglich jeder Netzadresse eine * * Telefonnummer, Anschrift, usw. zuzuordnen! * * * * Installation: * * Aufruf als Menüeintrag bzw. F-Taste (siehe ZPoint-Dokumentation!). * * z.B. so.: Rexxc:rx ZPoint:Rexx/AddressMachine.zprx <Kommando> %s * * * * AddressMachine akzeptiert zur Zeit eines der folgenden Kommandos: * * * * ADD Exportiert die aktuelle Adresse aus ZPoint zum AddressMaster. * * Die Adressliste wird hierbei automatisch auf doppelte Einträge * * abgesucht. Bestehende Einträge können auf Wunsch ergänzt werden * * * * SAVE Erstellt die aktuelle Adressliste (alias.zp) für ZPoint aus der * * unter Addresslist eingegebenen Adressdatei. Dies ist sowohl aus * * ZPoint als auch aus dem ADM möglich. * * * * Aufruf vom ADM-Menü aus: * * ARexx/ZodiacsPoint.zprx SAVE * *****************************************************************************/ OPTIONS RESULTS /*----------------------- ADDRESSMACHINE KONFIGURATION ----------------------*/ /* In welchem *Verzeichniss* ist ZPoint installiert? Bitte den gültigen DOS-Pfad eingeben, z.B.: dh3:dfue/zpoint/ */ ZPoint = "ZPoint:" /* Es ist möglich die von AddressMachine erstellte Alias-Liste unter anderem Namen zu speichern. Dies ist aber nur in Ausnahmefällen nötig. AddressMachine erstellt Backups von ihrer alias.zp-Datei! */ Aliasname = "alias.zp" /* In welchem *Verzeichniss* ist der AddressMaster (ADM) installiert? Bitte den gültigen DOS-Pfad eingeben, z.B.: dh0:Tools/AddressMaster/ */ AddressMaster = "ADM:" /*welche ADM-Adressdatei soll verwendet werden? Es kann eine Bestehende ergänzt werden oder eine Neue erstellt werden. Zum Ergänzen einer Datei bitte den kompletten DOS-Pfad angeben! */ Addresslist = "ADM:Adressen/mail.adr" /*ADM erlaubt das Setzen eines UserFlag's. Hier können sie angeben welches automatisch gesetzt werden soll. Die Benutzung des UserFlag's können sie in der Dokumentation zu ADM nachlesen! AdmFlag = "0" schaltet diese Funktion ab. */ AdmFlag = "0" /*------------------------------- HAUPTPROGRAMM -----------------------------*/ /* (ab hier bitte nichts mehr ändern!) */ IF ~SHOW("LIB","rexxreqtools.library") THEN DO IF ~ADDLIB("rexxreqtools.library",0,-30,0) | ~EXISTS("LIBS:rexxreqtools.library") THEN DO SAY "AddressMachine.zprx: Kann rexxreqtools.library nicht öffnen" EXIT(10) END END IF ZPoint = "" THEN SAY "AddressMachine.zprx: fehlender Parameter 'ZPoint'..." IF AddressMaster = "" THEN SAY "AddressMachine.zprx: fehlender Parameter 'AddressMaster'..." IF AdmFlag = "" THEN AdmFlag = "0" Aliaslist = (ZPoint"Bretter/"Aliasname) PARSE ARG Kommando ZPRexxPort IF ZPRexxPort = "" THEN ZPRexxPort = "ZPoint" ZPRexxPort = SPACE(ZPRexxPort,0) IF UPPER(Kommando) = "SAVE" THEN CALL SAVE IF UPPER(Kommando) = "ADD" THEN CALL ADD IF UPPER(Kommando) = "" THEN SAY "AddressMachine.zprx: Keine Kommandos übergeben..." EXIT /*----------------------------- UNTERPROGRAMM "ADD" ------------------------*/ ADD: ADDRESS (ZPRexxPort) WHICHLEVEL IF (RESULT ~= "BOARD") THEN DO EXIT END MESSAGEINFO AUTHOR Author = RESULT res = WORDS(Author) IF res > 2 THEN DO Nachname = DELSTR((DELWORD(Author,1,((WORDS(Author))-1))),(LENGTH((DELWORD(Author,1,((WORDS(Author))-1))))),1) Vorname = DELSTR((SUBWORD(Author,2,(WORDS(Author)-2))),1,1) END IF res < 3 THEN DO Nachname = Author Vorname = " " END CALL ADM() ADDRESS "ADM.1" ADM.LASTNAME = Nachname ADM.FIRSTNAME = Vorname SEARCH 1 ADM res = RESULT IF res =-1 THEN CALL AddAddress() IF res >-1 THEN DO DISPLAY CALL Requester() ReqText_Print = "Eintrag " UPPER(Vorname) UPPER(Nachname) " schon vorhanden!" CALL rtezrequest(ReqText_Print,"Ergänze Eintrag|Neuer Eintrag|Abbruch","AddressMachine.zprx-Request",ReqTags_Print) erg = RESULT IF erg = 1 THEN CALL ChangeAddress() ELSE IF erg = 2 THEN CALL AddAddress() ELSE IF erg = 0 THEN DO QUIT EXIT END END IF res <-1 THEN DO ADDRINMEM anz = RESULT IF anz = 0 THEN CALL AddAddress() ELSE SAY "AddressMachine.zprx: Ein fataler Fehler im AddressMaster ist aufgetreten..." END RETURN /*---------------------------- UNTERPROGRAMM "SAVE" ------------------------*/ SAVE: CALL ADM() ADDRESS "ADM.1" ADDRINMEM ANZ = RESULT IF EXISTS(Aliaslist) THEN ADDRESS COMMAND "copy >NIL: "Aliaslist" TO T:adm.temp QUIET" ok = OPEN('Tempfile',"T:"Aliasname,'W') ok = WRITELN('Tempfile',";Aliasliste erstellt mit AddressMachine von Stephan Hellwig") DO N = 1 TO ANZ ACTIVATE N IF RC = -1 THEN DO SAY "AddressMachine.zprx: Keine Adressen vorhanden..." EXIT(10) END GETADDRESS ADM IF ADM.EMAIL1 > "" THEN DO ok = WRITELN('Tempfile',"N:" || ADM.LASTNAME || ", " ||ADM.FIRSTNAME) ok = WRITELN('Tempfile',"A:" || ADM.EMAIL1) ok = WRITELN('Tempfile',"-") END IF ADM.EMAIL2 > "" THEN DO ok = WRITELN('Tempfile',"N:" || ADM.LASTNAME || ", " ||ADM.FIRSTNAME) ok = WRITELN('Tempfile',"A:" || ADM.EMAIL2) ok = WRITELN('Tempfile',"-") END END IF EXISTS(Aliaslist) THEN DO ck = OPEN('Check',Aliaslist,'R') ck = READCH('Check',39) IF ck ~== ";Aliasliste erstellt mit AddressMachine von Stephan Hellwig" THEN DO ck = CLOSE('Check') ADDRESS COMMAND "copy "Aliaslist "TO" Aliaslist".org" END ELSE DO ck = CLOSE('Check') END CALL Requester() ReqText_Print = "Datei "UPPER(Aliasname)" existiert schon!" || "0A"x || "Soll sie überschrieben werden?" CALL rtezrequest(ReqText_Print,"Überschreiben|Backup|Abbruch","AddressMachine.zprx-Request",ReqTags_Print) erg = RESULT IF erg = 0 THEN EXIT IF erg = 1 THEN ADDRESS COMMAND "delete "Aliaslist" QUIET" IF erg = 2 THEN DO IF EXISTS(Aliaslist".bak")THEN ADDRESS COMMAND "delete "Aliaslist".bak QUIET" ADDRESS COMMAND "rename "Aliaslist" AS "Aliaslist".bak QUIET" END END ok = CLOSE('Tempfile') ADDRESS COMMAND "copy T:"Aliasname" TO "Aliaslist ADDRESS COMMAND "delete T:"Aliasname" QUIET" RETURN /*------------------------------ DIE PROZEDUREN -----------------------------*/ ADM: IF ~SHOW("P","ADM.1")THEN DO IF ~ EXISTS(AddressMaster"AddressMaster")THEN DO SAY "AddressMachine.zprx: Kann AddressMaster nicht starten..." EXIT(20) END IF EXISTS(Addresslist) THEN ADDRESS COMMAND "run >NIL:" AddressMaster"AddressMaster" Addresslist" PUBSCREEN="ZPRexxPort "CLOSEQUIT" ELSE ADDRESS COMMAND "run >NIL:" AddressMaster"AddressMaster PUBSCREEN="ZPRexxPort "CLOSEQUIT" END ADDRESS COMMAND "WAITFORPORT ADM.1" RETURN Requester: ReqTags_Print = "rt_reqpos=reqpos_centerscr rt_pubscrname="ZPRexxPort" rt_lockwindow=TRUE rtez_flags=ezreqf_centertext" RETURN AddAddress: ADM.EMAIL1 = Author ADM.FLAGS = AdmFlag NEWADDRESS ADM DISPLAY RETURN ChangeAddress: GETADDRESS RESAD RESAD.EMAIL1 = Author RESAD.FLAGS = AdmFlag CHANGEADDRESS RESAD DISPLAY RETURN