Programm zur datumsabhngigen oder zuflligem nderung der Connect-, Quit- und sonstigen Texte in der BayCom-Mailbox und Run-Utility zur Ausgabe eines zuflligen Textes aus einer Text-Datei by DG4MMI @DB0IRS.#BAY.DEU.EU 1. Funktionserklrung 1.1. BCMTEXTS als Import-Utility 1.2. BCMTEXTS als Run-Utility 2. Format der Konfigurationsdatei 2.1. Def-Befehle 2.2. Makros innerhalb der Texte 3. Format der Text-Dateien 3.1. Text-Dateien im GP-Format 3.2. Text-Dateien im SP-Format 1. Funtionserklrung ==================== Die Idee, die hinter diesem Programm steckt, ist, da der Sysop nicht jedes Jahr in den Connect-Text ein 'Frhliches Weihnachten' oder 'Einen guten Rutsch ins neue Jahr' einfgen mu, sondern da dies automatisch vor sich geht. Auerdem gefiel mir die Idee von DF3VI's QTEXT, das in den Quit-Text bei jedem Aufruf einen zuflligen Text einsetzt. Als dann die Routinen fr die Auswahl eines zuflligen Textes aus einer Datei schon fertig waren, war es kein Problem mehr, da BCMTEXTS, mit entsprechenden Parametern gestartet, direkt einen zuflligen Text ausgibt. Als Run-Utility in INIT.BCM eingetragen knnen sich die User damit einen zuflligen Text ausgeben lassen. 1.1. BCMTEXTS als Import-Utility -------------------------------- Wird BCMTEXTS ohne Parameter aus einer Import- oder Batchdatei, die in der CRONTAB.BCM aufgerufen wird, gestartet, so werden alle in der Konfigurationsdatei BCMTEXTS.CFG angegebenen Dateien gendert (Format von BCMTEXTS.CFG siehe Kapitel 2.). Der Aufruf von BCMTEXTS kann in beliebigen Zeitabstnden erfolgen. Soll z.B. jede halbe Stunde ein zuflliger Text in den Connecttext eingesetzt werden, mu BCMTEXTS halbstndlich durch einen entsprechenden Eintrag in CRONTAB.BCM aufgerufen werden. Sollen aber keine zuflligen Texte eingesetzt werden, sondern soll z.B. nur am Jahresende ein 'Die Sysop-Crew wnscht allen ein frohes neues Jahr' eingefgt werden, reicht auch ein tglicher Aufruf aus. 1.2. BCMTEXTS als Run-Utility ----------------------------- Wird BCMTEXTS mit Parametern in der Form 'BCMTEXTS ' aufgerufen, so wird aus der angegebenen Datei im angeben Format (GP oder SP, Angaben zum Format siehe Kapitel 3.) ein zuflliger Text ausgegeben. Um dies den Usern zugnglich zu machen, mu eine Batchdatei (z.B. SPRUCH.BAT) angelegt werden, in der BCMTEXTS mit entsprechenden Parametern (z.B. BCMTEXTS GP SPRUECHE.TXT) aufgerufen wird. Diese Batchdatei mu dann in INIT.BCM als Run-Utility eingetragen werden. 2. Format der Konfigurationsdatei ================================= Zwischen den Def-Blcken sind beliebig viele Leerzeilen und Kommentarzeilen, die mit einem ';' beginnen mssen, erlaubt. Die Gro- und Kleinschreibung bei den Befehlen mu eingehalten werden. In den Befehlen sind beliebig viele Leerzeichen erlaubt. 2.1. Def-Befehle ---------------- Mit den Def-Befehlen wird angegeben, an welchen Tagen welcher Text in welche Datei geschrieben werden soll. Smtliche Def-Befehle mssen in in einem Def-Block hintereinanderstehen, zwischen den Def-Befehlen sind keinerlei Kommentar- oder Leerzeilen erlaubt. Die einzelnen Def-Befehle: Def(Datei)=[][] Hier mu die Datei, in die der den Def-Befehlen folgende Text geschrieben wird, stehen. Die Angabe von Laufwerk und Pfad kann auch entfallen, wenn die Datei ins aktuelle Verzeichnis geschrieben werden soll. Beispiel: Def(Datei)=C:\BAYCOM\MSG\CTEXT.DL Def(Typ)=New|Append Angabe, ob die Datei neu erzeugt, oder an eine bestehende Datei angehngt werden soll. Wird Append angegeben und die Datei existiert nicht, wird sie neu angelegt. Wird New angegeben und die Datei existert bereits, wird sie vorher gelscht. Die Angabe Append macht nur dann Sinn, wenn die gleiche Datei vorher bereits mit New bearbeitet wird, weil sie sonst bei jedem Aufruf von BCMTEXTS grer wird. Bei Fehlen dieser Angabe wird Append angenommen. Beispiel: Def(Typ)=New Def(Tag)= Die angegebene Datei wird nur an diesen Tagen bearbeitet. Die Angabe der Tage mu zweistellig erfolgen (Bei einstelligen Tagen mit fhrender 0) und zwischen den einzelnen Tagen mu ein beliebiges Trennzeichen (, / : ; etc.) stehen. Die Angabe der Tage kann auch mehrzeilig erfolgen, d.h. es knnen in einem Def-Block mehrere Def(Tag)-Anweisungen stehen, von denen alle Tagesangeben zusammengefgt werden. Bei Fehlen dieser Angabe werden alle Tage von 1-31 angenommen. Beispiel: Def(Tag)=01,02,03,29,30,31 Def(Monat)= Hier steht das gleiche wie bei Def(Tag), nur fr die Monate. Beispiel: Def(Monat)=01,02,11,12 Def(Jahr)= Hier steht das gleiche wie bei Def(Tag), nur fr die Jahre. Beispiel: Def(Jahr)=2000 Nach diesen Def-Befehlen folgt nun der Text, der in die angegebene Datei geschrieben wird. Darin knnen auch Makros vorkommen (siehe Kapitel 2.2.). Nach dem Text mu ein 'EndDef' stehen. Dann fngt wieder ein neuer Def-Block an. 2.2. Makros innerhalb der Texte ------------------------------- Innerhalb der Texte zwischen den Def-Befehlen und EndDef knnen folgende Makros vorkommen: >>>Insert(GP|SP):[][] An dieser Stelle wird ein zufllig gewhlter Abschnitt aus der angegebenen Datei eingefgt. In den Klammern wird das Format dieser Datei angegeben (siehe Kapitel 3.). Dieses Makro mu in einer eigenen Zeile im Text stehen. ##J Statt dieser Zeichenfolge wird das nchste Jahr eingesetzt. Sinnvoll ist dieses Makro, wenn man den Usern am Jahresende ein 'Gutes neues Jahr ##J' wnschen will. Dieses Makro darf zwischen dem Text stehen, mu also nicht in einer eigenen Zeile angegeben werden. 3. Format der Text-Dateien ========================== Damit Text-Dateien nicht extra in ein anderes Format umgewandelt werden mssen, wurden in BCMTEXTS Routinen fr eine Auswahl der Texte aus den zwei bekanntesten Formaten, GP und SP, implementiert. Das inzwischen entstandene dritte Format, das von TOP, weicht vom SP-Format nur in den Trennzeichen zwischen den Texten ('\\' statt '@@') ab. Da wohl jeder in der Lage ist, eine solche Datei in den Editor zu laden und das '\\' gegen ein '@@' zu ersetzen, wird dieses Format nicht extra untersttzt. 3.1. Text-Dateien im GP-Format ------------------------------ Beim GP-Format steht pro Zeile ein Spruch. Eine Zeile darf maximal 255 Zeichen lang sein. Ein '%_' wird von BCMTEXTS zu einem Zeilenumbruch expandiert, alle anderes Makros werden unverndert bernommen und von der BayBox expandiert. 3.2. Text-Dateien im SP-Format ------------------------------ Beim SP-Format steht in der ersten Zeile die Anzahl der Sprche. Danach folgen Texte, die beliebig viele Zeilen lang sein drfen, deren Zeichenanzahl aber 255 nicht berschreiten darf. Abgeschlossen wird ein Text durch die Zeichenfolge '@@' in einer eigenen Zeile. Auch der letze Spruch mu mit '@@' beendet werden, ansonsten kann es vorkommen, da BCMTEXTS mit einer Fehler- meldung reagiert. 73's de Jonny, DG4MMI @DB0IRS.#BAY.DEU.EU