40tude‑Dialog

DAS NEUE SKRIPTARCHIV



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!

Thomas Barghahn

Zunächst geht es hier nun aber weiter mit ...

  • Einführung ... einer kurzen Einführung
  • Architektur ... der Beschreibung des internen Compilers und
  • Features ... den Features von "40tude‑Dialog"


Eine kurze Einführung und ein paar Hinweise

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.

Zusätzliche Informationen zu den einzelnen Skripten, eine Vorschau sowie eine separate Möglichkeit zur Betrachtung und zum Download bieten die Seiten: EreignisskripteEigene Skripte / OnBeforeSavingM und Eigene Skripte / OnBeforeSendingM Wobei der oben genannte Downloadbereich hier nicht unerwähnt bleiben soll.

  


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. ...

Frage

Alles fertig(?) – Warum dann noch Skripte?

Antwort

Nun ja, ein User ist halt nie zufrieden! 😏

Die Begehrlichkeiten eines Users sehen dann oft so aus:
Ereignisskripte in der Verwaltung
  • 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 SkripteEreignisskripte 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:

Einstellungen ⮚ Skriptverwaltung ⮚ Skriptverwaltung

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.

Frage

Welche Bedeutung haben nun all diese Ereignisskripte?

Antwort

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
Liste der Variablen XoverData
  • 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)
  • mehrere Sprachen (Standard)
  • viele integrierte Designs (Standard)
  • Fensterdefinition nach Wunsch (Standard)
  • u.v.a.m.

Thomas Barghahn