Basis_Modul_Include.ds!

Das Basis_Modul_include.ds, die Basis_Modul_INI.ds und die SW40tDlgTools.dll!


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

• NEU:  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.

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


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


Basis_Modul_include und Basis_Modul_INI im neuen Dialog einbinden!

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!


Achtung!:  Nach der Integration des Updates (Basis_Modul und die INI ersetzen) - ZUNÄCHST KEINE ÄNDERUNGEN IN DER INI MACHEN! AUCH NICHT DEN PFAD IN DER INI ANPASSEN,DAS MACHT DAS Basis_Modul_include AUTOMATISCH!

  

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!



So könnte das neue OnStartup aussehen!


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

Hinweis 3 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:

border=0

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.


Dialog - Verknüpfung auf dem Desktop oder in der Taskleiste!

Die Verknüpfung!

border=0

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.



Die Basis_Module_INI.ds!

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!



So kann der Inhalt einer Basis_Module_INI.ds aussehen!


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\';


Basis_Modul_include.ds eingebunden im OnBeforeSendingMessage!

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.

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



So kann der Inhalt des OnBeforeSendingMessage aussehen!


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.

nach oben

border=0    border=0    border=0

This document maintained by Copyright © Karl-Heinz Rademacher        Contact Raady