<< Klicken um Inhaltsverzeichnis aufzurufen >> Navigation: Channels > Dynamische Channels > Beispiele zu Dynamischen Channels |
Beispiel 1: Dynamischer Channel für laufende Anwendungen
Dieses Beispiel zeigt, wie man alle Benutzer adressieren kann, welche momentan eine bestimme Anwendung verwenden (in diesem Beispiel: Notepad). Die Prozessliste wird hierbei mit dem eingetragenen Prozessnamen überprüft und identifiziert.
program ChannelScript; |
Beispiel 2: Dynamischer Channel für eine Website / Anwendungstitel
Dieses Beispiel zeigt, wie man mit einem Dynamischen Channel den Titel einer Anwendung bzw. eines Fensters überprüfen kann. In diesem Beispiel wird die Nachricht so lange angezeigt, wie auch der Titel des Fensters bzw. der Anwenung vorhanden ist. Zusätzlich wird die Nachricht erst dann gestoppt, wenn die Nachricht bereits angezeigt wurde, aber die Konditionen nicht mehr übereinstimmen.
program ChannelScript; |
Beispiel 3: Einen Response von einem Dynamischen Channel senden
In diesem Beispiel verwenden wir einen Dynamischen Channel um zu überprüfen, ob ein bestimmter Eintrag in der Konfigurationsdatei Infoclient.ini vorhanden ist. Der Benutzer wird hierbei über den laufenden Monitoring-Prozess benachrichtigt und das Ergebnis des Monitoring-Prozesses wird als response zum Infoserver zurück gesendet. Der Monitorung-Prozess soll nur einen statischen Wert zurück liefern, deshalb sollte dieser nur ein mal ausgeführt werden. Entweder wählt man den Typ "Statisch" bei einem Dynamischen Channel aus oder es wird im Channelscript so eingestellt (Wie in diesem Beispiel).
program ChannelScript; var // Deklaration der Variablen Res: Boolean; // wird fuer die Definition der Parameter und fuer das Resultat der LiveAbfrage verwendet SType,SValue,SResult,FileName,SectionItem: String; begin // Anfangskondition: Die Nachricht wurde noch nicht angezeigt If ((InfoRan = false) AND (InfoRuns = false)) Then begin // Setze den Typ der Abfrage SType := 'diInifileValue'; // Setze den Pfad und den Dateinamen FileName := 'C:\Program Files\Cordaware\Infoband\Infoclient.ini'; // Setze die Sektion [General] und den Eintrag Serverlist fuer die Abfrage SectionItem := 'General=Serverlist'; // Verbinde FileName und SectionItem fuer einen gueltigen Abfragewert SValue := FileName + ';' + SectionItem; // Fuehre die Abfrage aus // Die Abfrage holt sich den Wert aus dem Eintrag "Serverlist" in der [General] Sektion // wenn der Eintrag nicht vorhanden ist oder keinen Wert besitzt, dann ist das Resultat ein leerer String // wenn der Eintrag vorhanden ist und einen Wert besitzt, dann ist das Resultat der Wert SResult := DICV(SType,SValue); // Das Resultat der Abfrage wird als Response im Spaltenname 'Serverlist' eingetragen SendResponse(SResult,'Serverlist'); // editiere die Nachricht SetInfoText('Monitoring wird durchgefuehrt - bitte haben Sie Geduld'); // Benachrichtige den Benutzer, InfoRuns wird zu TRUE gesetzt <-Vorkondition!!! StartInfo; end; end. |