/* BEGIN $VER:Confirm.zp 0.3 (21. April 1994) · ©94 By Andreas Zymny Sinn und Zweck Dieses Programm ist aus einer Idee heraus entstanden, weil ich immer noch auf die Erfüllung einer Aussage vom Ralph warte, der einmal versprochen hatte, daß die Empfangsbestätigungstexte konfigurierbar seien. Das hatte er jedoch irgendwann einmal dementiert, da er ein schlechtes Image fürchtete (zu recht wie ich meine), da man alles in einen Bestätigungstext schreiben kann. Ich habe mir selbst geholfen, und deshalb dieses Script geschrieben, daß selbstdefinierte Bestätigungstexte verwenden kann. Installation Dieses Script wird in ein beliebiges Verzeichnis kopiert, und in der Datei "fkeys.zp" eingetragen. Als Parameter wird der Name des ARexx-Ports von Zodiac's Point übergeben. Die Variable "zpdir" muß ggf. angepaßt werden, da Zodiac's Point nicht bei jedem so installiert ist wie bei mir... Im Verzeichnis, auf das die Variable "zpdir" zeigt, muß sich der Text mit dem Namen "Bestaetigung.zp" befinden. Benutzung Wird das Script im Brettmenü gestartet, werden alle neuen Nachrichten bearbeitet. Befindet man sich im Nachrichtenmenü, so wird nur die aktuelle Nachricht bearbeitet. In beiden Fällen werden nur Nachrichten bearbeitet, die eine Empfangsbestätigung anfordern. Hinweise In diesem Script darf NICHTS außer der Variablen "zpdir" verändert werden! An jede Bestätigung werden noch einige Zeilen angehängt, die darauf hinweisen, daß weder der Autor von Zodiac's Point, noch der Autor des Scripts etwas mit dem Inhalt der Empfangsbestätigung zu tun haben! Bitte schaltet in "Konfiguration/ZConnect-Spezifisches" das automatische versenden von Empfangsbestätigungen ab, um unnötigen Datenmüll zu vermeiden! Niemand ist glücklich darüber, zwei Bestätigungen zu erhalten! Bekannte Fehler Leerzeichen werden in Betreffen nicht von Zodiac's Point geduldet, washalb der Betreff der Empfangsbestätigungen ganz einfach nur "Empfangsbestätigung" lautet ): Ziele Beim starten des Scripts sollen die lästigen Requester abschaltbar sein. Eine Konfigurierungsmöglichkeit durch eine externe Datei mit Hilfe eines externen ARexx-Scripts unter Zodiac's Point. END */ /* BEGIN Initialisierung des ARexx-Port's */ PARSE ARG zpport /* Namen des ARexx-Port's holen */ ADDRESS VALUE zpport /* und adressieren. */ OPTIONS RESULTS /* END */ /* BEGIN Hier werden wichtige Variablen belegt */ zpdir='ZP:' in=zpdir'Bestaetigung.zp' out='T:Bestaetigung.zp' tempfile='T:Temp.zp' /* END */ /* BEGIN Hier wird jetzt die Bearbeitungsmethode ermittelt */ WhichLevel SELECT WHEN RESULT='MAINMENU' THEN DO RequestNotify 'Dieses Script funktioniert nicht im Mainmenü!' EXIT END WHEN RESULT='BOARDMENU' THEN DO RequestResponse 'Soll für ALLE Nachrichten in diesem Brett eine Empfangsbestätigung verschickt werden?' IF (RC) THEN DO CALL ConfirmMessages IF ~(RESULT='') THEN DO RequestNotify 'Empfangsbestätigungen wurden erfolgreich versandt!' END ELSE DO RequestNotify 'Konnte Empfangsbestätigungen nicht verschicken!' END END EXIT END WHEN RESULT='BOARD' THEN DO RequestResponse 'Soll für diese Nachricht eine Empfangsbestätigung verschickt werden?' IF (RC) THEN DO CALL ConfirmMessage IF (RESULT) THEN DO RequestNotify 'Empfangsbestätigung wurde erfolgfreich versandt!' END ELSE DO RequestNotify 'Konnte Empfangsbestätigung nicht verschicken!' END END EXIT END OTHERWHISE RequestNotify 'Hier lief was schief!' END EXIT /* END */ /* BEGIN Hier werden alle neuen Nachrichten zum bearbeitet */ ConfirmMessages: EnterBoard Count NEW messages=RESULT IF messages=0 THEN RETURN 0 DO i=1 TO messages BY 1 CALL ConfirmMessage IF (RESULT) THEN DO status=1 RequestNotify 'Diese Nachricht wurde bearbeitet!' END ELSE DO status=0 RequestNotify 'Diese Nachricht konnte nicht bearbeitet werden!' END JumpToNew DOWN END BoardMenu RETURN status /* END */ /* BEGIN Hier wird eine Nachricht bearbeitet */ ConfirmMessage: CALL CheckConfirm IF RESULT THEN DO status=1 MessageInfo SUBJECT ebbetreff='Empfangsbestätigung' MessageInfo AUTHOR autor=RESULT index=INDEX(autor, ' ') IF index>0 THEN DO autor=LEFT(autor, index-1) END IF OPEN(input,in,"READ") THEN DO status=1 IF OPEN(output,out,"WRITE") THEN DO status=1 CALL WRITELN(output,'Empfangsbestätigung für die Nachricht ') CALL WRITELN(output,ebbetreff) CALL WRITELN(output,'---------------------------------------------------------------------------') bestaetigungstext=READCH(input,4096) CALL WRITELN(output,bestaetigungstext) CALL WRITELN(output,'---------------------------------------------------------------------------') CALL WRITELN(output,':- Empfangsbestätigung erzeugt durch Confirm.zp 0.3 · ©94 By Andreas Zymny') CALL WRITELN(output,':- Weder der Autor dieses Scripts, noch der Autor des Pointprogramms') CALL WRITELN(output,' haben etwas mit dem Inhalt dieser Empfangsbestätigung zu tun!') CALL CLOSE(output) END ELSE DO status=0 RequestNotify 'Konnte die Ausgabedatei nicht öffnen!' END CALL CLOSE(input) END ELSE DO status=0 END WriteMessage FILE out RECEIVER autor SUBJECT ebbetreff IF ~(RESULT='') THEN DO status=1 END ELSE DO status=0 END END ELSE DO status=0 RequestNotify 'Keine Empfangsbestätigungsanforderung gefunden!' END RETURN status /* END */ /* BEGIN Hier wird eine Nachricht auf eine 'EB:'-Zeile überprüft */ CheckConfirm: FINDHEADER "EB" /* gibt leeren String zurück, falls EB: gefunden wurde */ IF RESULT='' THEN status=1 ELSE status=0 RETURN status /* END */