Umfangreiche Dialoge mit dem Troi Dialog-Plugin

Troi Dialog Plugin für FileMaker LogoDas Dialog Plugin von Troi Automatisering ist ein Urgestein unter den FileMaker-Plugins, wird seit Jahren weiterentwickelt und gehört zu einem der meist verwendeten Plugins von FileMaker-Entwicklern. Denn die eingebaute Dialog-Funktion im FileMaker ist leider bis heute nicht sehr flexibel: Es lassen sich ein Titel, eine Meldung, bis zu drei Eingabefelder sowie bis zu drei Schaltflächen definieren. Anders sieht es dagegen bei Troi Dialog Plugin aus. Mit diesem Plugin lassen sich unterschiedliche Dialogarten (Dialogbox, Flash-Dialog, Progress-Box mit Fortschrittsbalken, Texteingabedialog usw.) darstellen. Alle Dialoge können auf flexible Art und Weise in die FileMaker-Datenbank integriert werden. Die neueste Version des Troi Dialog Plugins ist vollständig kompatibel mit den FileMaker-Versionen 9 bis 11 und bietet folgende Features:

Neue Dialog-Funktionen für FileMaker Pro

  • Dialoge mit variablem Text und bis zu vier Schaltflächen
  • Temporäre Flash-Dialoge, die sich selbst schließen
  • Progress-Dialoge mit Fortschrittsbalken
  • Listendialoge
  • Dialoge mit großem Textfeld zur Texteingabe
  • Präsentation von Bildern und Videos im Vollbildmodus
  • Auslesen von Datum und Uhrzeit mit Sekundenfragmenten
  • Darstellung von bis zu 15 Eingabefeldern pro Dialogbox
  • Feldtypen für Eingabefelder: Textfeld, Paßwortfeld, Popupliste oder Checkbox
  • Vorgabe von Feldinhalten beim Öffnen der Dialogbox
  • Freie Positionierung aller Dialogboxen auf dem Bildschirm
  • Vorgegebene und eigene Icons zur Darstellung in den Dialogen in zwei Größen
  • Eigene Icons unterstützen das PNG-Format inklusive Transparenz
  • Individueller Text für die Titelleiste des Dialogs

Das Troi Dialog Plugin wird wie ein normales Plugin in das Extensions-Verzeichnis von FileMaker Pro kopiert. Nach dem Start von FileMaker Pro stehen die neuen Funktionen des Plugins zur Verfügung.

Funktionen des Troi Dialog Plugins für FileMaker

Dial_BigInputDialog Stellt eine Dialogbox mit einem großen Texteingabefeld dar.
Dial_DelayTicks Wartet eine spezifizierte Zeit.
Dial_Dialog Stellt eine Dialogbox mit weiteren Optionen dar (z.B. Icons).
Dial_FlashDialog Stellt einen Dialog dar, der sich nach einer spezifizierten Zeit selbst schließt.
Dial_GetButton Gibt die Nummer der angeklickten Dialog-Schaltfläche zurück.
Dial_GetCurrentTimestamp Enthält den aktuellen Zeitstempel inklusive Millisekunden.
Dial_GetInput Gibt den Feldinhalt eines Eingabefeldes zurück.
Dial_GetPopup Gibt die aktuelle Popup-Liste des spezifizierten Eingabefeldes zurück.
Dial_IconControl Setzt das anzuzeigende Icon der Dialogbox.
Dial_InputDialog Zeigt eine Dialogbox an mit bis zu 15 Feldern, Passwort, Popup oder Checkboxen.
Dial_ListDialog Zeigt einen Listendialog an, in dem der Benutzer einen Eintrag wählen kann.
Dial_PresentImage Zeigt Bilder oder Filme als Vollbild oder Diashow an.
Dial_ProgressBar Zeigt einen Progressbar-Dialog mit Fortschrittsbalken an.
Dial_SetDialogTitle Setzt den Titel für die aktuelle Dialogbox fest.
Dial_SetInput Setzt den Text, der in den Feldern des nächsten Dialoges voreingestellt sein soll.
Dial_SetLabels Setzt die Feldbeschriftungen der nächsten Dialogbox.
Dial_SetListInput Vorauswahl eines Feldeintrags in der nächsten Dialogbox.
Dial_SetPopup Setzt die Werte einer Popup-Liste der nächsten Dialogbox.
Dial_SetPosition Setzt die Position der nächsten Dialogbox auf dem Bildschirm.
Dial_Version Enthält die aktuelle Version des installierten Plugins.
Dial_VersionAutoUpdate Aktuelle Version für die AutoUpdate-Funktion von FileMaker Server.

Beispiel einer einfachen Dialogbox mit voreingestelltem Text

Um eine Dialogbox mit voreingestelltem Text für ein Passwort zu erstellen, benötigen wir die Plugin-Befehle Dial_SetLabels für die Feldbeschriftungen, Dial_SetInput für den voreingestellten Text und Dial_InputDialog zur Darstellung der Dialogbox. In der Praxis sieht ein solches Script dann folgendermaßen aus:

Variable setzen [$error; Wert: Dial_SetLabels( "-Unused" ; "Name" ; "Passwort" ; "Passwort merken" ) ]
Variable setzen [$error; Wert: Dial_SetInput ("-Unused"; Hole(KontoName); ""; ""; "" )]
Variable setzen [$error; Wert: Dial_InputDialog("-StopIcon -Bullet2 -Checkbox3"; 3; "Bitte Namen
und Kennwort eingeben:"; "OK"; "Abbrechen")]

Nach diesen drei Zeilen im Scriptmaker wird folgende Dialogbox dargestellt:

FileMaker Dialogbox Beispiel mit Troi Dialog Plugin

Der Inhalt der gewählten Schaltfläche kann nun mit folgender Funktion ausgelesen werden:

Variable setzen [$clickedbutton; Wert: Dial_GetButton ("") ]

Um den Inhalt der Eingabefelder auszulesen, wird folgende Funktion benötigt:

Variable setzen [$username; Wert: Dial_GetInput ("-text1") ]
Variable setzen [$passwort; Wert: Dial_GetInput ("-text2") ]
Variable setzen [$pwmerken; Wert: Dial_GetInput ("-text3") ]

Die eingetragenen Inhalte der Dialogfelder befinden sich nun in den Variablen $username, $passwort und $pwmerken und können im Script entsprechend weiterverwendet werden. Insgesamt können auf diese Weise bis zu fünfzehn Felder und bis zu vier Schaltflächen dargestellt und im Script abgefragt werden.

Beispiel einer Progress-Box mit Fortschrittsbalken

Für die Darstellung einer Progress-Box mit Fortschrittsbalken sind drei Schritte durchzuführen:

  1. Anzeige und sichtbar machen der Progress-Box
  2. Update der Progressbox, typischerweise innerhalb einer Script-Schleife
  3. Entfernen der Progressbox vom Bildschirm

Als Scriptbefehle sieht das Ganze dann beispielsweise folgendermaßen aus:

Variable setzen [$error; Wert: Dial_ProgressBar ("-Unused"; "show"; 100; "Beispieltext")]

Die Zahl 100 steht hier stellvertretend für die Anzahl der Schritte, die der Progressbalken durchlaufen soll. Anstelle der festen Zahl kann hier selbstverständlich auch ein Feld oder eine Berechnung (z.B. Anzahl aufgerufener Datensätze) eingesetzt werden.

Innerhalb einer Scriptschleife wird der Progressbalken nun wie folgt aktualisiert:

Variable setzen [$error; Wert: Dial_ProgressBar ("-Unused"; "incr"; 1; "In Bearbeitung...")]

In diesem Fall wird der Progressbalken um den Wert 1 erhöht und der Text „In Bearbeitung“ angezeigt. Dieser Befehl muß innerhalb einer Schleife für jede gewünschte Erhöhung des Progressbalkens ausgeführt werden.

Am Schluß bzw. nach Ausführung der Schleife muß die Progress-Box noch vom Bildschirm entfernt werden. Dies erfolgt mit folgendem Befehl:

Variable setzen [$error; Wert: Dial_ProgressBar ("-Unused"; "stop" )]

Auf diese einfache Weise kann in jeder Schleife, die in FileMaker beispielsweise Datenmodifikationen durchführt, eine Progress-Box angezeigt werden, damit der Benutzer einschätzen kann, wie lange dieser Vorgang dauern wird.

Lizensierung und Demoversion

Eine Einzelbenutzerlizenz des Troi Dialog-Plugins für Mac oder für Windows kostet 47 Euro. Eine Lizenz zur Nutzung mit bis zu 10 Benutzern kostet 221 Euro und mit bis zu 25 Benutzern 355 Euro. Zum Preis von 355 Euro ist auch eine Entwicklerlizenz für Mac und Windows erhältlich. Das Plugin kann Im Kagi.com-Shop des Herstellers erworben werden. Eine zeitlich beschränkte Demoversion kann dort ebenfalls für Mac und Windows heruntergeladen werden. Für die Nutzung des Plugins mit älteren FileMaker-Versionen (5, 6 und 7) steht das Plugin außerdem in der alten Version 3.6.0.1 zum Download zur Verfügung.

Alle Plugins von Troi Automatisering werden ebenfalls im Online-Shop des FileMaker Magazins angeboten.

Diesen Beitrag bewerten:

Über den Autor

Markus Schall
Entwicklung von FileMaker-Datenbanken seit 1994, Modifikation und Erweiterung von FileMaker-Lösungen, Konvertierung von FileMaker-Datenbanken von .fm, .fp3, .fp5 (FileMaker 2-6) oder .fp7 (FileMaker 7-11) zu .fmp12 (FileMaker 12-15), Schnittstellen zu Drittsystemen wie Onlineshops, CMS oder andere Datenbanken. Entwicklung individueller FileMaker-Datenbanksysteme auf Basis des gFM-Business-Frameworks mit persönlicher Beratung aus Oldenburg. Betreiber des Online-Fachportals goFileMaker.de, Entwickler des CRM- und Warenwirtschaftssystems gFM-Business. Mitglied in der FileMaker Business Alliance, FileMaker Developers Subscription und FMM Experte. Gewinner eines FMM Award 2011, vergeben durch das FileMaker Magazin.

1 Kommentar

  1. Nicolaus Busch

    Leider versäumt es Troi seit Jahren, das Dialog-Plugin weiterzuentwickeln. Andere Produkte, die zum Teil sogar kostenlos zu haben sind, bieten längst deutlich mehr Optionen an: Kalenderfunktionen, abhängige Wertelisten, bessere Unterstützung für Radiobuttons, um nur ein paar zu nennen.
    Hier muss Troi dringend für Anschluss sorgen und sich nicht länger auf den Lorbeeren alter Zeiten ausruhen.

    Antworten

Schreiben Sie einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.