In diesem Vortrag erfahren Sie wann und wie welche Technik angewendet wird und auf was Sie achten müssen, damit es nicht zu unerwarteten Problemen kommt.
In diesem Vortrag sehen Sie:
Verwendete Scriptbefehle:
• Hole ( Scriptparameter)
• Aktuelles Script verlassen
• HoleWert
• Austauschen
Verwendete Funktionen:
• Hole ( Scriptresulat)
Weitere Techniken
• Tasten
• Scripttrigger
• Eigene Funktionen
• FileMaker URL Protokol
FMK2019 Waagrechte Scrollbar für Ausschnittreihen erstellen by Gerhard Schwin...
FMK2015: Von Skriptparametern Variablen und Globalen by Patrick Risch
1. Patrick Risch, zertifizierter FileMaker Entwickler
Arbeiten mit Scriptparameter, Variablen und Globalen
FileMaker Konferenz 2015 Hamburg
www.filemaker-konferenz.com
von Skriptparametern,
Variablen und Globalen
Vortrag: Layout von Volker Krambich und Mr.
Watson NEU im Raum Elbe
2. Patrick Risch, zertifizierter FileMaker Entwickler
Informationssicherheit & Risikomanagement
FileMaker Konferenz 2015 Hamburg
www.filemaker-konferenz.com
Über mich…
• Patrick Risch, 47
• FileMaker Entwickler seit Version 2
• Zertifizierter FileMaker Entwickler seit Version 8-13 und bald 14
• CAS Informationssicherheit & Risikomanagement (CompTIA security+ und bald
CISSP, BSI-Sicherheitsbeauftragter*)
• CAS Lebensmittelrecht Schweiz / EU
• FileMaker Lösung für die Produktkennzeichnung nach der
Lebensmittelverordnung (EU Richtlinie 1169/2012)
• Co-Organisator der FileMaker Konferenz
* bis Dezember 2015
3. Patrick Risch, zertifizierter FileMaker Entwickler
Arbeiten mit Scriptparameter, Variablen und Globalen
FileMaker Konferenz 2015 Hamburg
www.filemaker-konferenz.com
In diesem Vortrag…
• Scriptparameter: Übergabe, Verarbeitung
• Globale (und andere) Felder: Setzen und Lesen für Scriptsteuerung
• Lokale und Globale Variable: Setzen, Verarbeitung und Löschen
4. Patrick Risch, zertifizierter FileMaker Entwickler
Arbeiten mit Scriptparameter, Variablen und Globalen
FileMaker Konferenz 2015 Hamburg
www.filemaker-konferenz.com
Verwendung…
Globale,Variable & Eigene Funktion
• Halten oder liefern einen bestimmten Wert (während der Dauer einer Sitzung)
Scriptparameter
• Um einem Script einen Wert zu übergeben
• Zur Übergabe von Werten von einer zu einer anderen Datei
5. Patrick Risch, zertifizierter FileMaker Entwickler
Arbeiten mit Scriptparameter, Variablen und Globalen
FileMaker Konferenz 2015 Hamburg
www.filemaker-konferenz.com
Sitzung…
• FileMaker Pro oder Go öffnen
eine gehostete Datei
• FileMaker Pro oder Go öffnen eine
lokale Datei
• FileMaker Server Script Engine öffnet eine Datei
• WebDirect verbindet sich mit einer
Datei
6. Patrick Risch, zertifizierter FileMaker Entwickler
Arbeiten mit Scriptparameter, Variablen und Globalen
FileMaker Konferenz 2015 Hamburg
www.filemaker-konferenz.com
Globale, Variablen, Parameter
Variable
$
Variablen
$$
Globale
Felder
Eigene
Funktionen
Verfügbarkeit Innerhalb des
aktiven Scripts
Tabellen-
übergreifend
Tabellen-
übergreifend
Tabellen-
übergreifend
Verwendung
in…
Berechnungen
(Funktionen,
Scripts)
Berechnungen
(Felder,
Funktionen,
Scripts)
Berechnungen
(Felder,
Funktionen,
Scripts)
Berechnungen
(Felder,
Funktionen,
Scripts)
Dauer der
Verfügbarkeit
Solange das
aktive Script
ausgeführt wird
Bis Variable
gelöscht oder
Sitzung beendet
wird.
Sitzungsdauer für
aktiven Benutzer,
mit
Initialisierungswer
Sitzungs- und
Benutzer-
übergreifend
Wird erstellt
mit…
Scriptbefehl:
Setze Variable:
Funktion:
SetzeVars
Scriptbefehl:
Setze Variable:
Funktion:
SetzeVars
Definieren:
Datenbank
Erstellung einer
eigenen Funktion
Wird geändert
mit…
Scriptbefehl:
Setze Variable:
Funktion:
SetzeVars
Scriptbefehl:
Setze Variable:
Funktion:
SetzeVars
Scriptbefehl:
Feldwert setzen
Bei Erstellung der
eigenen Funktion
7. Patrick Risch, zertifizierter FileMaker Entwickler
Arbeiten mit Scriptparameter, Variablen und Globalen
FileMaker Konferenz 2015 Hamburg
www.filemaker-konferenz.com
Globale Felder
Gibt es seit vielen Versionen in FileMaker
• Definieren: Datenbank: Feld
Erstellen
Löschen
• Definieren: Datenbank: Feld löschen
• Scriptbefehl: Feldwert setzen
• Eingabe in Feld
Ändern
8. Patrick Risch, zertifizierter FileMaker Entwickler
Arbeiten mit Scriptparameter, Variablen und Globalen
FileMaker Konferenz 2015 Hamburg
www.filemaker-konferenz.com
Globale Felder
• Kann als Speicher für Programmparameter verwendet werden, aber…
• Jeder Benutzer startet mit dem ‚Standard‘-Wert des globalen Feldes.
• Während der Sitzung kann der Benutzer den Inhalt ändern.
• Beim Beenden der Sitzung wird bei einer gehosteten Datei der Inhalt auf den
‚Standard‘-Wert zurückgestellt. Lokale Dateien merken sich den Wert der letzten
Sitzung.
Einsatz
• Möglichkeit das Problem zu umgehen: Wert des globalen Feldes beim Start
mittels „Feldwert setzen“ setzen.
9. Patrick Risch, zertifizierter FileMaker Entwickler
Arbeiten mit Scriptparameter, Variablen und Globalen
FileMaker Konferenz 2015 Hamburg
www.filemaker-konferenz.com
Globale Felder
Demo
10. Patrick Risch, zertifizierter FileMaker Entwickler
Arbeiten mit Scriptparameter, Variablen und Globalen
FileMaker Konferenz 2015 Hamburg
www.filemaker-konferenz.com
Lokale Variablen — $Variable
• Scriptbefehl: Variable setzen
• Funktion: SetzeVar
Erstellen und Ändern
Löschen
• Automatisch bei Scriptende
-oder-
• Scriptbefehl: Variable setzen
• Funktion: SetzeVar
11. Patrick Risch, zertifizierter FileMaker Entwickler
Arbeiten mit Scriptparameter, Variablen und Globalen
FileMaker Konferenz 2015 Hamburg
www.filemaker-konferenz.com
Lokale Variablen
Besonderheiten
• Jeder Benutzer hat während der Dauer des aktiven Skripts seinen eigenen Wert.
• Variable wird beim Beenden des aktiven Scripts automatisch gelöscht.
• Die Variable steht nur solange (dem aktuellen Script) zur Verfügung wie das Script
läuft.
• Sub-Skripts wissen nichts von dieser Variable
12. Patrick Risch, zertifizierter FileMaker Entwickler
Arbeiten mit Scriptparameter, Variablen und Globalen
FileMaker Konferenz 2015 Hamburg
www.filemaker-konferenz.com
Lokale Variablen
Aus der FileMaker Hilfe…
Sobald sie definiert sind, können lokale und globale Variablen in jeder Formel innerhalb
ihres Geltungsbereichs referenziert werden.
Der Geltungsbereich von lokalen und globalen Variablen wird durch die aktuelle Datei
begrenzt.
Der Geltungsbereich von lokalen Variablen ist das aktuelle Script.
Lokale Variablen, die in einer Formel definiert sind, haben die Datei als
Geltungsbereich, stehen aber nur zur Verfügung, wenn keine Scripts ausgeführt
werden.
Lokale und globale Variablen (oder auch zwei lokale Variablen in unterschiedlichen
Scripts) können den gleichen Namen haben, werden aber als unterschiedliche
Variablen behandelt und können unterschiedliche Werte speichern.
13. Patrick Risch, zertifizierter FileMaker Entwickler
Arbeiten mit Scriptparameter, Variablen und Globalen
FileMaker Konferenz 2015 Hamburg
www.filemaker-konferenz.com
Lokale Variablen
Besonderheiten
• ….
• Die Variable steht nur solange (dem aktuellen Script) zur Verfügung wie das Script
läuft.
Aber es geht auch: Eigene Funktionen, Felder vom Typ Berechnungen
• …
14. Patrick Risch, zertifizierter FileMaker Entwickler
Arbeiten mit Scriptparameter, Variablen und Globalen
FileMaker Konferenz 2015 Hamburg
www.filemaker-konferenz.com
Lokale Variablen — $Variable
Demo
15. Patrick Risch, zertifizierter FileMaker Entwickler
Arbeiten mit Scriptparameter, Variablen und Globalen
FileMaker Konferenz 2015 Hamburg
www.filemaker-konferenz.com
Globale Variablen — $$Variable
• Scriptbefehl: Variable setzen
• Funktion: SetzeVar
Erstellen und Ändern
Löschen
• Scriptbefehl: Variable setzen
• Funktion: SetzeVar
16. Patrick Risch, zertifizierter FileMaker Entwickler
Arbeiten mit Scriptparameter, Variablen und Globalen
FileMaker Konferenz 2015 Hamburg
www.filemaker-konferenz.com
Globale Variablen — $$Variable
Besonderheiten
• Jede Benutzerin hat während der Dauer seiner Sitzung seinen eigenen Wert.
• Variable wird beim Beenden der Sitzung automatisch gelöscht.
• Die Variable steht anderen Scripts und Berechnungen innerhalb der gleichen Datei
zur Verfügung.
• Guter Programmierstil: Globale Variablen löschen sobald diese nicht gebraucht
werden.
17. Patrick Risch, zertifizierter FileMaker Entwickler
Arbeiten mit Scriptparameter, Variablen und Globalen
FileMaker Konferenz 2015 Hamburg
www.filemaker-konferenz.com
Globale Variablen — $$Variable
Demo
18. Patrick Risch, zertifizierter FileMaker Entwickler
Arbeiten mit Scriptparameter, Variablen und Globalen
FileMaker Konferenz 2015 Hamburg
www.filemaker-konferenz.com
Scriptparameter
• Über Tasten
• Script-Trigger
• Eigene Menüs
• Andere Scripts
• XML / URL Abfragen
QuellenÜbergabe
• Hard-codiert
• (Globale) Feldwerte
• ($ und $$) Variablen
• Eigene Funktionen
Mit Hilfe von Scriptparameter lassen sich bestimmte Werte an
ein bestimmtes Script (auch in einer anderen Datei)
übergeben.
19. Patrick Risch, zertifizierter FileMaker Entwickler
Arbeiten mit Scriptparameter, Variablen und Globalen
FileMaker Konferenz 2015 Hamburg
www.filemaker-konferenz.com
Scriptparameter (aus FileMaker)
20. Patrick Risch, zertifizierter FileMaker Entwickler
Arbeiten mit Scriptparameter, Variablen und Globalen
FileMaker Konferenz 2015 Hamburg
www.filemaker-konferenz.com
Scriptparameter (aus Browser)
• www.standpunkte.li / Adresse des FileMaker Server
• /fmi/xml/ lässt den FileMaker Server aufhorchen
• dazwischen kommen noch einige weitere Tags
• -script gibt an welches Script ausgeführt werden soll
• -Parameter gibt den Parameter an
http://192.168.123.101/fmi/xml/fmresultset.xml?-db=Adressen-
lay=Kontakten&-script=myscript&-script.param=FMK2015&-findall
21. Patrick Risch, zertifizierter FileMaker Entwickler
Arbeiten mit Scriptparameter, Variablen und Globalen
FileMaker Konferenz 2015 Hamburg
www.filemaker-konferenz.com
Übergabe von mehreren Werten in einem Scriptaufruf
• Kapseln der Informationen
z.B. 2 Feldwerte und eine Variable soll übergeben werden:
Script ausführen : [„meinScript“ ; Parameter: Feld1
& „¶“ & Feld2 & „¶“ & $Variable]
22. Patrick Risch, zertifizierter FileMaker Entwickler
Arbeiten mit Scriptparameter, Variablen und Globalen
FileMaker Konferenz 2015 Hamburg
www.filemaker-konferenz.com
Parameter auslesen
Hole (ScriptParameter)
Damit das Script etwas vom Parameter mitkriegt, müssen die
Parameter ausgelesen werden.
• Liest den Scriptparameter aus.
• Bei der Übergabe mehrerer Scriptparameter wird noch die Funktion ‚HoleWert‘ benötigt.
23. Patrick Risch, zertifizierter FileMaker Entwickler
Arbeiten mit Scriptparameter, Variablen und Globalen
FileMaker Konferenz 2015 Hamburg
www.filemaker-konferenz.com
Übergabe von mehreren Werten in einem Scriptaufruf
Script ausführen : [„meinScript“ ; Parameter:
Austauschen (Feld1; „¶“; „|“) & „¶“ &
Austauschen (Feld2; „¶“; „|“) & „¶“ & $Variable]
Warnung!
Wenn zu erwarten ist, dass ein Parameter eine Zeilenschaltung enthält, dann sollte
die Parameter etwas ‚luxuriöser‘ gehandhabt werden.
Auslesen von mehreren Werten
Setze Variable : [„$meineVariable1“ ;
Austauschen (HoleWert ( Hole ( Scriptparameter) ;1); „|“ ; „¶“) ]
Setze Variable : [„$meineVariable2“ ;
Austauschen (HoleWert ( Hole ( Scriptparameter) ;2); „|“ ; „¶“) ]
24. Patrick Risch, zertifizierter FileMaker Entwickler
Arbeiten mit Scriptparameter, Variablen und Globalen
FileMaker Konferenz 2015 Hamburg
www.filemaker-konferenz.com
Parameter Rückgabe
Aktuelles Script verlassen [Ergebnis: Wert]
Scriptparameter können auch als Resultate (an das
aufrufende Script) zurückgegeben werden.
• Es können ein oder mehrere Werte zurückgegeben werden.
• Um die Rückgabe im anderen Script abzufragen wird ‚Hole (ScriptErgebnis) benötigt
25. Patrick Risch, zertifizierter FileMaker Entwickler
Arbeiten mit Scriptparameter, Variablen und Globalen
FileMaker Konferenz 2015 Hamburg
www.filemaker-konferenz.com
Vorsicht!
Parameter sind immer vom Typ ‚Text‘
• Umwandlung mit LiesalsZahl, LiesalsDatum, etc.
um Überraschungen vorzubeugen.
Demo: Script ‚Schleife‘
26. Patrick Risch, zertifizierter FileMaker Entwickler
Arbeiten mit Scriptparameter, Variablen und Globalen
FileMaker Konferenz 2015 Hamburg
www.filemaker-konferenz.com
Mehr?
Links:
• https://www.filemaker-magazin.de/forum/alle-beitraege/114234
• http://sixfriedrice.com/wp/passing-multiple-parameters-to-scripts-advanced/
• https://www.filemaker.com/support/product/docs/12/fms/fms12_cwp_xml_en.pdf