Die Mehrzahl der hier vorgestellten Skripte, benötigen das Basis_Modul_include.ds und die, Basis_Modul_INI.ds in der alle benötigten Sounddateien und eingene FQDN's , wenn noch nicht vorhanden, einmal eingetragen werden. Die notwendigen Sounddateien müssen ab sofort in das Dialog Hauptverzeichniss kopiert werden. Auch die 'BM_DBReminderDays=' Funktion, für die regelmäßige Komprimierung der Datenbank ist integriert und nach Bedarf einstellbar.
Zu beiden Varianten des OnXover.ds geht es hier
Infos zur MID-Erstellung mit einen (eigenen) FQDN gibt es hier
Zum DBReminder_Include.ds, eingebunden im OnStartup geht es hier
Bei einem Umzug auf eine andere Platte oder auf einen Stick ist keine Pfadanpassung mehr notwendig! Der Pfad ist wieder in der INI eingetragen, wird aber nicht vom User sondern automatisch vom System geändert bzw an die Gegebenheiten angepasst. Bei Updates des Basis_Modul_include.ds braucht nun nichts mehr angepasst werden, da sich jedes aktuelle Basis_Modul_include.ds, die Nutzerdaten aus der bereits vorhandenen Basis_Modul_INI.ds holt. Wie dazu, nach einer Neuinstallation von 40tude Dialog, vorzugehen ist, wird im Artikel unterhalb von "Hinweis 2:" beschrieben.
Dieses Basis_Modul_include.ds
mit der erweiterten Basis_Modul_INI.ds ist das letzte
UPDATE vom 16.01.2009.
Die dritte Komponente, die für diese Generation ZWEI erforderlich wird,
ist die SW40tDlgTools.dll, letztes UPDATE vom 31.12.08, die von Basis_Modul_include.ds
zwingend benötigt wird. Die DLL gehört in das Dialog Stammverzeichnis und wird ab
sofort von dem aktuellen Basis_Modul_include.ds benötigt. Sollte die
DLL dort nicht gefunden werden, kann sie auch nach C:\windows\system32 kopiert werden. Dort
wird sie dann auf jeden Fall gefunden.
Das Einbinden beider *.ds - Dateien sowie auch aller anderen Include-Files erfolg denkbar einfach via " C&P " innerhalb des Explorer's im Verzeichnis von 40tude Dialog\....\scripte\custom => Eigene Skripte! Wichtig: Dialog muß bei diesem Vorgang geschlossen sein! Nach dem ersten Start von Dialog klickt man auf Einstellungen | Skriptverwaltung | Skripte neu laden. Danach muß dieses Skript, daß nun in der Skriptverwaltung unter Eigene Skripte eingebunden ist, mit seinem Skriptnamen und der Aufrufroutine unter Ereignisskripte gegebenenfalls im OnBeforeSendingMessage, im OnBeforeSavingMessage und oder im OnStartup eingetragen, gespeichert, kompiliert und ausgeführt werden. Diese Vorgehensweis empfiehlt sich immer dann, wenn ein weiteres Skript in Dialog eingebunden werden soll, wobei es hier, je nach Skriptart, noch andere Möglichkeiten zur Installation gibt, die dann auf der jeweiligen Seite zum betreffenden Skript beschrieben werden.
Nach einer Neuinstallation von 40tude Dialog ist die Skriptverwaltung nur mit sehr wenigen Skripten ausgestattet. Basis_Modul_include sowie Basis_Modul_INI bilden beide, wie der Name schon vorgibt, die Basis bzw die Grundlage für die Merheit aller Skripte, die unter der Rubrik Ereignisskripte zur Ausführung eingesetzt werden können. Daher muß der Include-File sowie die dazugehörige INI als *.ds - Datei wie unter "Hinweis 2:" via " C&P " innerhalb des Explorer's im Verzeichnis von 40tude Dialog\....\scripts\custom => Eigene Skripte primär eingebunden werden!
Danach wechselt man das Verzeichnis nach ...\scripts\event => Ereignisskripte, öffnet das leere OnStartup.ds und kopiert das nachfolgend Skript. Danach muß das OnStartup.ds vor Ort, im Explorer gespeichert werden. Die im Skript GELB markierten Zeilen werden von den Usern benötigt, die das neue Update einbinden möchten. Die Zeilen sind unterhalb von 'Procedure OnStartup; ' und dem ersten ' Begin ' zu integrieren!
8<--------------------------------------------------->8 Program OnStartup; Uses Forms, Extctrls, TextFile; {$I Basis_Modul_Include} Procedure OnStartup; Begin If Not BM_PathCheck(GetCurrentDir) Then Begin Ado('ReloadScripts'); Ado('Scripting'); End; // Hier folgen weitere Aufrufe End; begin End. 8<-------------------------------------------------->8
Nachdem dieses ' Program OnStartup;' wie vorgegeben im OnStartup integriert ist, muß Dialog gestartet werden. Hier springt man in der Skriptverwaltung nach Ereignisskripte zum OnStartup, daß nun kompiliert und ausgeführt werden muß! Danach wird Dialog beendet. Nach einen erneuten Start von Dialog wird nun automatisch überprüft, ob der aktuelle Pfad mit dem Eintrag in der Basis_Modul_INI übereinstimmt. Sollte das nicht der Fall sein, dann wird der Pfad automatisch aktualisiert. Es folgt ein Hinweisfenster mit diesem Inhalt:

Nach Klick auf OK wird automatisch die Skriptverwaltung unter Eigene Skripte geöffnet. Hier wechselt
man nun zur Rubrik Ereignisskripte und kompiliert vor allen weiteren Ereignisskripten
primär das OnStartup.ds, danach alle weiteren Ereignisskripte, in denen
das Basis_Modul_include integriert ist! Nach einem erneuten Neustart von
40tude Dialog zeigt ein Blick in der Skriptverwaltung -> Eigene Skripte ->
Basis_Modul_INI.ds, daß der individuelle Pfad erfolgreich eingetragen wurde!
Die Basis_Modul_INI.ds wird automatisch eingebunden, nachdem
Basis_Module_include.ds in einem Ereignisskript kompiliert und ausgeführt
wurde! Wie das Ganze sich darstellt, wird weiter unten am Beisiel für das
OnBeforSendingMessage in dem das Basis_Modul_include.ds zusammen
mit dem Swiss_Knife_include.ds angezeigt. Außerdem beinhaltet die
vom Autor gepackte *.zip, die hier zum Download bereitgestellt wird, alle hierfür notwendigen
Informationen. Alle im Basis_Modul_include.ds enthaltenen Daten, Funktionen
und Prozeduren sind global verfügbar und müssen so nicht in jedem einzelnen Skript, wie es
bisher gehandhabt wurde, enthalten sein. Das macht die einzelnen Skripte daher auch um einiges schlanker.
Mit diesem neuen Paket bestehend aus Basis_Module_include.ds ,
Basis_Module_INI.ds und (SW40tDlgTools.dll) entfallen künftig
Anpassungen, den Pfad betreffend. Durch die relativen Pfadangaben ist es nun kein Problem mehr, das
gesamte Dialogverzeichniss auf eine andere Platte oder auf einen Stick zu kopieren und ohne irgendwelche
Änderungen machen zu müssen, ist Dioalg somit direkt einsetzbar.
Die Verknüpfung!
Hat man sich, für den Aufruf von Dialog, eine Verknüpfung, z.B. auf dem Desktop oder in der Taskleiste (via Rechtsklick auf das Symbol der Verknüpfung - Eigenschaften auswählen) angelegt, wird bei 'Ausführen in:' Das Dialog Hauptverzeichnis, wie im Screen zusehen, mit abschliessendem '\' angeben. Bei einem Umzug ist künftig nur darauf zu achten, daß die Verknüpfung den Pfad in 'Ausführen in:' enthält (Siehe Bild) Bei einem Aufruf der Dialog.exe per Doppelklick, direkt aus dem Explorer, im Dialog Programm Verzeichniss (bei Nutzung auf einem Stick z.B.) hat es bei bisherigen Tests auch keine Probleme gegeben, da bei dieser Art des Aufrufs der Verzeichnisname ja auch übergeben wird.
In der Basis_Modul_INI.ds werden die userspezifischen Daten, wie FQDNs, Sound Dateien in aller Regel einmal eingegeben, bei einem weiteren möglichen Update der Basis_Modul_Include.ds bleibt die Basis_Modul_INI.ds weiterhin Bestandteil der Skriptverwaltung, so das die ' neue ' Basis_Modul_Include.ds auch direkt wieder auf die einmal gemachen Einträge Zugriff hat. Es brauchen keinerlei Anpassungen mehr vorgenommen werden!
Const // Hier kannst du deinen FQDN eingeben. // Wenn du keinen hast, setze BM_FQDN='' // Mehrere FQDNs durch Komma getrennt eingeben. BM_FQDN = 'example1.my-fqdn.de,example3.my-fqdn.de,example3.my-fqdn.de'; // Nach wie vielen Tage möchtest du die Datenbank // komprimieren lassen? // 0 Deaktiviert die Funktion. BM_DBReminderDays = 7; // Name der zwei Sounddateien eingeben. // Die Dateien müssen sich im Dialog Hauptverzeichnis // befinden. Aus C:\Windows\Media kopieren. // Zur Zeit werden sie im OnXOver Ereignisscript verwendet: // Sounds bei Antworten auf eigene Postings. BM_Sound1 = 'notify.wav'; BM_Sound2 = 'ding.wav'; // Pfad zu 40tude Dialog - // wird automatisch vom BM angepasst, // Bei einem Umzug auf eine andere Platte oder in anderes Verzeichnis zum Beispiel; BM_DlgRootDir = 'N:\Programme\40tude Dialog\';
Dies ist ein Beispiel für die Einbindung von Basis_Modul_include.ds und Swiss_Knife_include.ds im OnBeforeSendingMessage. Es ist kein Funktionsaufruf für Basis_Modul_include.ds einzugeben. Diese Skript stellt lediglich anderen Skripte sein Daten zu Verfügung. Nach dem Einbinden muss das OnBeforeSendingMessage noch gespeichert (Datei->Speichern), kompilieren und auszuführen werden. Damit ist das Basis_Modul_include.ds und das Swiss_Knife_include.ds eingebunden und die Voraussetzung, für die Nutzung der neuen Skriptgeneration, gegeben. Für das OnBeforeSavingMessage ist eine analoge Vorgehensweise angesagt! Da das Basis_Module_Include.ds auch von anderen Ereignisskripten benötigt wird, sind in den jeweiligen Skripten, die Anleitungen zur Einbindung enthalten.
In den Eigenschaften der (Desktop) Verknüpfung, über die Dialog aufgerufen wird, bei 'Ausführen in:' muß der Pfad zum 40tude Dialog Verzeichnis mit abschliessendem Backslash '\' eingegeben werden. Ist im Pfadnamen ein Leerzeichen vorhanden, so muss der Pfadname, in Anführungszeichen angegeben werden. Bei einer Neuinstallation von Dialog, wird der Eintrag in 'Ausführen in:' leider nicht automatisch eingetragen, er muß also daher ggf manuell, z.B.: "N:\Programme\40tude Dialog\", nachgeholt werden! Bei eventuellen Problemen empfehle ich sich vertrauensvoll an die immer hilfsbereite de.comm.software.40tude-dialog zur Lösung des jeweiligen Problems zu wenden.
Program OnBeforeSendingMessage; Uses textfile, Forms, StdCtrls, Extctrls; {$I Basis_Modul_Include} {$I Swiss_Knife_Include} //weitere Include-Files-Namen die hier nachfolgend eintragen Function OnBeforeSendingMessage(var Message:TStringlist; Servername:string; IsEmail:boolean):boolean; Begin Result := True; Swiss_Knife ( Message, IsEmail ); //Aufrufroutinen weiterer includes hier eintragen End; Begin End.
