---------------------------------- CATRONDO 1.2 ---------------------------------- Rundschreibengenerator fr CAT 2.0 ---------------------------------- Matthias Strmer @ KA2, 8.9.1993 ---------------------------------- Ein Rundschreibengenerator ist eigentlich keine so essentielle Sache, aber es gibt tats„chlich Gelegenheiten, bei denen er eine Menge Arbeit abnimmt. Deshalb habe ich ihn programmiert. Und da ich faul bin, m”chte ich a) von meinem Tool etwas Komfort und b) soll es nicht viel Aufwand machen. Also gleich in medias res. Im Verzeichnis von CATRONDO.PRG muž die Infodatei CATRONDO.INF liegen. In ihr stehen der Database-Ordner und der Message-Ordner von CAT, jeweils ohne nachfolgenden Backslash, gefolgt vom Intro und der pers”nlichen Anrede. Bei mir sieht das wie folgt aus: D:\CAT\DATABASE.KA2 D:\CAT\MESSAGES.KA2 Rundschreiben Hallo Im Database-Ordner k”nnen jetzt einige Adressdateien verwendet werden, die vom Format genauso wie die CAT-Datei ADR.INF aufgebaut sind. Ein Rundschreiben wird demnach folgendermažen erstellt: Eine ganz gew”hnliche PM mit der Adresse 'Rundschreiben TINTSAMM' wird an alle Adressen verschickt, die in der Datei TINTSAMM.INF stehen. Dabei wird automatisch eine erste Zeile generiert ('Hallo Vorname'), sofern der Gruž in die CATRONDO.INF-Datei eingetragen ist. Alle Angaben, wie Distribution und Status werden einfach mitkopiert. Es liegt demnach am Benutzer, sinnvoll damit umzugehen. Zur Serienbrieffunktion ('Hallo Vorname') ist zu sagen, daž in der einzusetzenden Adresse nach dem ersten Vorkommen eines der folgenden Zeichen gesucht wird '_.@!%$&?=' und der Vorname dort abgetrennt wird, was bei Internet-Adressen oder gar Bitnet-Adressen zu recht sonderlichen Vornamen fhren kann. Wer diese Funktion unterbinden will, tr„gt statt des Gružes einfach eine Leerzeile in CATRONDO.INF ein. Eine Besonderheit ist, daž in einer Liste auch wieder weitere Listen stehen k”nnen. Sofern sie der Syntax gengen, werden sie abgearbeitet. Z.B. kann die Liste aller Tester (TESTALL) einer Bibliothek, die in 3 Kreise aufgeteilt ist (C-Tester, Pascal-Tester und Modula-Tester) wie folgt aussehen: Rundschreiben TESTC Rundschreiben TESTPAS Rundschreiben TESTMOD Das Rundschreiben mit der Adresse 'Rundschreiben TESTALL' wird demnach an alle Adressen aus TESTC, TESTPAS und TESTMOD verschickt. Einfache Endlosschleifen werden erkannt, in TESTALL.INF darf also ruhig 'Rundschreiben TESTALL' stehen. Die Schleifen, die ber mehr als eine Stufe gehen, liegen in der Verantwortung des werten Benutzers. (Selbst Schulz!) Eine Kleinigkeit ist noch hinzugekommen. Steht in der letzten Zeile Das Wort 'Verteiler:' (jawoll, mit Doppelpunkt), dann wird die Verteilerliste an die Mail angeh„ngt. Dies ist natrlich nur sinnvoll, wenn in der Verteilerliste nicht wieder Listen stehen. Denn um dies zu beachten, w„re erheblicher Mehraufwand n”tig. Da ich ein fauler Mensch bin, sind die Fehlermeldungen recht spartanisch, einfach Alertboxen. (Und seit ich die einfache Textausgabe mit printf() und puts() durch form_alert() ersetzt habe, ist es auch auf weniger als die H„lfte geschrumpft.) Sehr fehlertolerant ist CATRONDO nicht. Fehler, die ich selbst ins Programm eingebracht habe, sind hoffentlich nicht mehr in allzugrožer Zahl vorhanden. (Das Programm entstand zu 90% an einem Tag.) Das Programm darf selbstredend nur vollst„ndig weitergegeben werden, d.h. mitsamt dieser Textdatei und den Sourcen, die ich zur Vermeidung von Žrger beigelegt habe, und ist xy-ware. xy kann durchaus in mannigfaltigen Formen erscheinen: Bugreports, Anregungen, Beschimpfungen, Lob und vielleicht auch eine Tafel Schokolade, ersatzweise ein Bier, wenn ich mal wieder auf "Deutschlandtournee" bin, sind sehr willkommen, je nachdem mehr oder weniger. Žnderungen, Erweiterungen etc. bitte ich, mir mitzuteilen. Schliežlich m”chte ich auch davon profitieren. Sollte nach dem Bearbeiten der Messages die neuen Mails scheinbar nicht vorhanden sein, dann liegt das daran, daž CAT die MSGINFO.DAT noch im Speicher hat. Abhilfe: Info laden. Dann wird die Datei neu gelesen und alle Mails sind da. Karlsruhe, 8.9.1993 Matthias Strmer