Herzlich Willkommen auf den Skriptseiten zu dem Mail- und Newsreader
"40tude‑Dialog"
Wir, die Nutzer von "40tude‑Dialog", wissen sehr genau, dass es zu dem heutigen Zeitpunkt mit Gewissheit
aktuellere Newsreader gibt! Wir wissen aber auch, kein aktueller Newsreader ist so anpassbar und flexibel
in seiner individuellen Gestaltung, wie es "40tude-Dialog" ist!
Erst im Jahre 2020 wurde "40tude‑Dialog" vollkommen UTF8-fähig und hat damit gezeigt,
wie ein Newsreader – fünfzehn Jahre nach Aufgabe der Entwicklung – durch die Mitgabe einer internen
Scriptengine weiterhin und tatsächlich modern bleibt.
Folgende Seiten sollen eine Ergänzung zu der bestehenden
FAQ dieses
Mail- und Newsreaders "40tude‑Dialog" sein.
Speziell sollen hier Pascal-Skripte erklärt und besprochen werden, welche für die
Nutzung von "40tude‑Dialog"
durchaus interessant, empfehlenswert und zukunftsweisend sind.
Auf dieser Seite wird gezeigt, was mit "40tude‑Dialog" möglich sein kann
und welche Features Dialog in seiner Standardkonfiguration schon mitbringt.
Ich wünsche viel Spaß bei dem Lesen all der folgenden Artikel und Seiten!
Der Mail- und Newsclient 40tude‑Dialog von Marcus Mönnig war während seiner aktiven Entwicklung zwischen den
Jahren 2000 und 2005 allen vergleichbaren Programmen weit überlegen. Auch heute erfreut sich dieses Programm
einer (wenn auch kleinen, so doch aktiven) Anwendergemeinde. Dies ist nicht zuletzt auf die Skriptfähigkeiten von
40tude Dialog zurückzuführen.
Interessierte Anwender programmierten in den vergangenen Jahren in der Skriptsprache von 40tude Dialog
(Pascal Script) kleinere und teils auch sehr umfangreiche Zusatzfunktionen. All diese Skripte bafanden sich
stets in gut gepflegten Archiven, welche aber mit der Zeit veralteten oder leider ganz aufgeben wurden.
Das vorliegende Archiv soll nicht nur ein "Archiv" sein! Die hier gezeigte Sammlung von Skripten zeigt auch,
dass Dialog auch heute noch ein moderner Mail- und Newsreader sein kann.
Links zu weiteren Skriptseiten enthält die 40tude Dialog FAQ von Joachim Reiter, welche auch auf meinen Seiten
weitergepflegt und aktuell gehalten wird. (Link im Hauptmenü links.)
Wer nicht nur meine Skripte nutzen möchte, der findet diese im
Downloadbereich! Erklärungen und Beispiele zu all den dort
auffindbaren Skripten, die gibt es auf den folgenden Seiten. 😉
Informationen zur Installation von Skripten, dem sogenannten Kompilieren usw. finden sich in der Hilfe
von 40tude‑Dialog.
Architektur und Strukturierung der integrierten Scriptengine
Um es kurz zu machen: Eigentlich ist schon alles fertig! Letzteres bedeutet auch, dass
Dialog nach dem Einrichten der News- und Mailserver sofort einsatzfähig ist! Auch braucht sich kein
User um Zeichensätze und ähnlich wichtigen Dingen zu kümmern, denn genau all das bringt Dialog in
seiner Grundeinstellung schon mit (siehe hierzu auch weiter unten).
Vielleicht möchte man aber doch noch eine persönliche Signatur und/oder eine angemessene Einleitungszeile
hinzufügen. Aber auch diese Punkte sind menügeführt schnell gemacht und somit kann es dann auch
schon losgehen. ...
Alles fertig(?) – Warum dann noch Skripte?
Nun ja, ein User ist halt nie zufrieden! 😏
Die Begehrlichkeiten eines Users sehen dann oft so aus:
er will Fußnoten (auch hochgestellt)
er hat noch keine Textboxen
er möchte Header ändern und
in Texten nach Schlagwörtern suchen
(usw.)
Um genau solche und andere Aufgaben zu erledigen, werden von Dialog schon fertige Skripte –
Ereignisskripte genannt – vorgegeben, welche eigentlich nur noch mit
Eigene(n) Skripte(n) befüllt werden müssen.
Zunächst begeben wir uns in Dialog über das Hauptmenü in die Skriptverwaltung – und zwar wie folgt:
In der linken Spalte des gezeigten Bildes sehen wir alle Ereignisskripte, die von Dialog schon
"mitgebracht" werden. Rechts daneben sieht man den Editor, in welchem schon ein eigenes Skript
enthalten ist. Darunter ist letztlich noch das Compilerfenster zu sehen, in dem während des Kompilierens
hoffentlich keine Fehler auftreten. 😏 Obwohl dieses auch kein Problem ist, denn der Compiler "sagt"
uns dann, wo dieser Fehler zu finden ist und was genau wir falsch gemacht haben.
Welche Bedeutung haben nun all diese Ereignisskripte?
Schauen wir uns diese Ereignisskripte einmal etwas genauer an.
Der Name "sagt" es eigentlich schon. Ein Ereignis bspw. ist das Senden einer Mail bzw. eines Artikels.
Auch ein Mausklick oder das Drücken einer Taste ist ein Ereignis.
Im Detail sieht es unter Dialog nun so aus:
OnStartUp
Wird während des Starts von Dialog ausgeführt.
OnShutDown
Wird während des Beendens von Dialog ausgeführt.
OnBeforeSendingMessage
Wird vor dem Versenden automatisch ausgeführt – also kurz bevor eine Nachricht
an einen SMTP- oder NNTP-Server gesendet wird. Hier kann man den Inhalt
oder die Formatierung von Artikeln oder Mails mit "Eigene(n) Skripte(n)",
welche hier eingebunden werden müssen, ändern.
OnBeforeSavingMessage
Dieses Ereignis tritt nach dem Empfang ein – also kurz bevor eine Nachricht
in der Datenbank von Dialog gespeichert wird. Die Konstante "IsEmail" informiert
darüber, ob es sich um eine abgerufene E-Mail oder einen abgerufenen
News-Artikel handelt.
OnXover
Auch dieses Ereignis tritt nach dem Empfang ein. Bereitgestellt werden hier
alle Daten des Typs "TXoverData". Die vollständigen Informationen über diese Kopfzeilen
werden in der Variablen "XoverData" übergeben und können noch geändert werden,
bevor sie in der Datenbank von Dialog eingehen.
OnEmaiChecked
Dieses Ereignis ist äquivalent zu OnBeforeSavingMessage. Der Unterschied besteht
allerdings darin, dass hier nur E-Mails verarbeitet werden können.
OnTimer1 und OnTimer2
Beide Timer sind absolut gleichwertig! Sie müssen jedoch explizit vom User selbst
durch ein Skript gestartet werden. Oft werden diese Timer zum automatisierten Empfangen
oder Senden nach einer vordefinierten Zeit genutzt.
OnArticleListPaint
Wird immer dann aufgerufen, wenn eine Zeichenfolge in der Artikelliste
im Hauptfenster von Dialog gesetzt wird (siehe neu ankommende Artikel). Hiermit lässt
sich beispielsweise das Datum individuell ändern. So wird z.B. aus dem Datum "14.09.2020 13:00:17"
automatisch "Heute 13:00:17".
OnNewsgroupListPaint
Wird immer dann aufgerufen, wenn eine Zeichenfolge in der Newsgroup-Liste im
Hauptfenster von Dialog gemalt wird.
OnWorkQueueEmty
Dieses Ereignis prüft, ob sich in den "geplanten Jobs" noch Aufträge befinden
und bricht diese bspw. ab.
Siehe hierzu: Hauptmenü ⮚ Einstellungen ⮚ Statusfenster anzeigen
OnGroupEntered
Wird immer dann aufgerufen, wenn eine News-Gruppe oder ein Mailkonto "betreten" wird.
OnOutgoingMessageCheck
Wird noch vor "OnBeforeSendingMessage" ausgeführt, denn es könnte ja sein,
dass aufgrund gewisser Umstände der Artikel oder die Mail nicht versendet werden darf.
Ein Beispiel hierzu findet sich auf den Seiten von
Dietmar Vollmeier.
Neben den besprochenen Skripten gibt es dann auch noch die autonomen oder selbstständigen Skripte,
welche also völlig frei – z.B. aus der GUI heraus – aufgerufen werden können. Eines davon, welches in diesem
Archiv auch zu finden ist, nennt sich PostShowList
und wird über ein Icon aus der Menüleiste von Dialog gestartet.
Nach diesem kurzen Exkurs wird nun wohl jedem klar, was für ein mächtiger Mail- & Newsreader Dialog
überhaupt ist. Aber das einmal nur so als Randbemerkung.
Die wichtigsten Features eines Newsreaders sind in dem Mail- und Newsreader
40tude-Dialog schon alle vorhanden!
!NEU! - SEIT DEM JAHRE 2020 IST DIALOG NUN AUCH VOLL UTF8-FÄHIG! SIEHE HIERZU AUCH:
NEU! DIALOG & UTF8
!NEU! - korrekte Kodierung des Subject-Headers bei Replys auf Artikel mit
uncodiertem Subject (Converter erforderlich!)
für jeden interessierten User programmierbar (integrierter
Pascal-Compiler samt IDE) - nichts ist unmöglich mit dem Standard!
integrierter X-Face-Compiler (Standard)
mehrere Newsserver sind abrufbar - OnLine- & OffLine-Betrieb (Standard)
mehrere Mailkonten sind abrufbar (Standard - an der Stabilisierung wird gearbeitet)
Cancel per Knopfdruck (Standard)
Supersedes per Knopfdruck (Standard)
automatische Erkennung eines Subjektwechsels (Standard)
automatische Eliminierung von (was:...) nach einem Subjektwechsel (Standard)
automatische Erkennung von Testgruppen - "ignore - no reply" wird nach Wunsch zum Subject hinzugefügt (Standard)
Einbindung von individuellen Action-Skripten in die GUI per ICON und/oder Tastenkürzel und/oder Mausgesten (Standard)
Artikel-Suche per Doppelklick auf die zu suchende M-ID in den abonnierten Gruppen und Google (Standard)
Nachladen von Artikeln (die Serveranfrage ist ein Standard)
integrierte Textsuche (Standard):
im aktuellem Artikel – (Standard)
in der aktuellen Gruppe – Offline-Modus erforderlich! (Standard)
in allen abonnierten Gruppen – Offline-Modus erforderlich! (Standard)
der Editor in seiner Standardkonfiguration:
per Knopfdruck Absatz neu formatieren (Standard)
per Knopfdruck Rechtschreibprüfung (neue und alte Rechtschreibung)
per Knopfdruck einen Spoiler setzen (Standard)
per Knopfdruck OneLiner erzeugen - alles in eine Zeile (Standard)
Kennzeichnung von Fremdzitaten nach Wunsch (als angepasstes Zitat einfügen
ist ein Standard, wobei auch UTF8-Zeichen über U+FFFF keinerlei Hindernisse darstellen)
Einmal eingetragen sind solche Zeichen bis in die Ewigkeit immer wieder verfügbar!
Ausblenden von Zitaten per Knopfdruck (Standard)
Ausblenden von Signaturen per Knopfdruck (Standard)
Scoring und eine damit verbundene Action-Auswahl (Standard)
individuelle Identitäten (Standard)
userspezifische Festlegung der Abarbeitung von Code-Pages (Standard)