27
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

FMK2015: Von Skriptparametern Variablen und Globalen by Patrick Risch

Embed Size (px)

Citation preview

Page 1: FMK2015: Von Skriptparametern Variablen und Globalen by Patrick Risch

Patrick Risch, zertifizierter FileMaker EntwicklerArbeiten mit Scriptparameter, Variablen und Globalen

FileMaker Konferenz 2015 Hamburgwww.filemaker-konferenz.com

von Skriptparametern, Variablen und Globalen

Vortrag: Layout von Volker Krambich und Mr. Watson NEU im Raum Elbe

Page 2: FMK2015: Von Skriptparametern Variablen und Globalen by Patrick Risch

Patrick Risch, zertifizierter FileMaker EntwicklerInformationssicherheit & Risikomanagement

FileMaker Konferenz 2015 Hamburgwww.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

Page 3: FMK2015: Von Skriptparametern Variablen und Globalen by Patrick Risch

Patrick Risch, zertifizierter FileMaker EntwicklerArbeiten mit Scriptparameter, Variablen und Globalen

FileMaker Konferenz 2015 Hamburgwww.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

Page 4: FMK2015: Von Skriptparametern Variablen und Globalen by Patrick Risch

Patrick Risch, zertifizierter FileMaker EntwicklerArbeiten mit Scriptparameter, Variablen und Globalen

FileMaker Konferenz 2015 Hamburgwww.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

Page 5: FMK2015: Von Skriptparametern Variablen und Globalen by Patrick Risch

Patrick Risch, zertifizierter FileMaker EntwicklerArbeiten mit Scriptparameter, Variablen und Globalen

FileMaker Konferenz 2015 Hamburgwww.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

Page 6: FMK2015: Von Skriptparametern Variablen und Globalen by Patrick Risch

Patrick Risch, zertifizierter FileMaker EntwicklerArbeiten mit Scriptparameter, Variablen und Globalen

FileMaker Konferenz 2015 Hamburgwww.filemaker-konferenz.com

Globale, Variablen, ParameterVariable $

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ügbarkeitSolange 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

Page 7: FMK2015: Von Skriptparametern Variablen und Globalen by Patrick Risch

Patrick Risch, zertifizierter FileMaker EntwicklerArbeiten mit Scriptparameter, Variablen und Globalen

FileMaker Konferenz 2015 Hamburgwww.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

Page 8: FMK2015: Von Skriptparametern Variablen und Globalen by Patrick Risch

Patrick Risch, zertifizierter FileMaker EntwicklerArbeiten mit Scriptparameter, Variablen und Globalen

FileMaker Konferenz 2015 Hamburgwww.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.

Page 9: FMK2015: Von Skriptparametern Variablen und Globalen by Patrick Risch

Patrick Risch, zertifizierter FileMaker EntwicklerArbeiten mit Scriptparameter, Variablen und Globalen

FileMaker Konferenz 2015 Hamburgwww.filemaker-konferenz.com

Globale Felder

Demo

Page 10: FMK2015: Von Skriptparametern Variablen und Globalen by Patrick Risch

Patrick Risch, zertifizierter FileMaker EntwicklerArbeiten mit Scriptparameter, Variablen und Globalen

FileMaker Konferenz 2015 Hamburgwww.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

Page 11: FMK2015: Von Skriptparametern Variablen und Globalen by Patrick Risch

Patrick Risch, zertifizierter FileMaker EntwicklerArbeiten mit Scriptparameter, Variablen und Globalen

FileMaker Konferenz 2015 Hamburgwww.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

Page 12: FMK2015: Von Skriptparametern Variablen und Globalen by Patrick Risch

Patrick Risch, zertifizierter FileMaker EntwicklerArbeiten mit Scriptparameter, Variablen und Globalen

FileMaker Konferenz 2015 Hamburgwww.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.

Page 13: FMK2015: Von Skriptparametern Variablen und Globalen by Patrick Risch

Patrick Risch, zertifizierter FileMaker EntwicklerArbeiten mit Scriptparameter, Variablen und Globalen

FileMaker Konferenz 2015 Hamburgwww.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

• …

Page 14: FMK2015: Von Skriptparametern Variablen und Globalen by Patrick Risch

Patrick Risch, zertifizierter FileMaker EntwicklerArbeiten mit Scriptparameter, Variablen und Globalen

FileMaker Konferenz 2015 Hamburgwww.filemaker-konferenz.com

Lokale Variablen — $Variable

Demo

Page 15: FMK2015: Von Skriptparametern Variablen und Globalen by Patrick Risch

Patrick Risch, zertifizierter FileMaker EntwicklerArbeiten mit Scriptparameter, Variablen und Globalen

FileMaker Konferenz 2015 Hamburgwww.filemaker-konferenz.com

Globale Variablen — $$Variable

• Scriptbefehl: Variable setzen

• Funktion: SetzeVar

Erstellen und Ändern

Löschen• Scriptbefehl: Variable setzen

• Funktion: SetzeVar

Page 16: FMK2015: Von Skriptparametern Variablen und Globalen by Patrick Risch

Patrick Risch, zertifizierter FileMaker EntwicklerArbeiten mit Scriptparameter, Variablen und Globalen

FileMaker Konferenz 2015 Hamburgwww.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.

Page 17: FMK2015: Von Skriptparametern Variablen und Globalen by Patrick Risch

Patrick Risch, zertifizierter FileMaker EntwicklerArbeiten mit Scriptparameter, Variablen und Globalen

FileMaker Konferenz 2015 Hamburgwww.filemaker-konferenz.com

Globale Variablen — $$Variable

Demo

Page 18: FMK2015: Von Skriptparametern Variablen und Globalen by Patrick Risch

Patrick Risch, zertifizierter FileMaker EntwicklerArbeiten mit Scriptparameter, Variablen und Globalen

FileMaker Konferenz 2015 Hamburgwww.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.

Page 19: FMK2015: Von Skriptparametern Variablen und Globalen by Patrick Risch

Patrick Risch, zertifizierter FileMaker EntwicklerArbeiten mit Scriptparameter, Variablen und Globalen

FileMaker Konferenz 2015 Hamburgwww.filemaker-konferenz.com

Scriptparameter (aus FileMaker)

Page 20: FMK2015: Von Skriptparametern Variablen und Globalen by Patrick Risch

Patrick Risch, zertifizierter FileMaker EntwicklerArbeiten mit Scriptparameter, Variablen und Globalen

FileMaker Konferenz 2015 Hamburgwww.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

Page 21: FMK2015: Von Skriptparametern Variablen und Globalen by Patrick Risch

Patrick Risch, zertifizierter FileMaker EntwicklerArbeiten mit Scriptparameter, Variablen und Globalen

FileMaker Konferenz 2015 Hamburgwww.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]

Page 22: FMK2015: Von Skriptparametern Variablen und Globalen by Patrick Risch

Patrick Risch, zertifizierter FileMaker EntwicklerArbeiten mit Scriptparameter, Variablen und Globalen

FileMaker Konferenz 2015 Hamburgwww.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.

Page 23: FMK2015: Von Skriptparametern Variablen und Globalen by Patrick Risch

Patrick Risch, zertifizierter FileMaker EntwicklerArbeiten mit Scriptparameter, Variablen und Globalen

FileMaker Konferenz 2015 Hamburgwww.filemaker-konferenz.com

Übergabe von mehreren Werten in einem ScriptaufrufScript 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 WertenSetze Variable : [„$meineVariable1“ ;

Austauschen (HoleWert ( Hole ( Scriptparameter) ;1); „|“ ; „¶“) ]

Setze Variable : [„$meineVariable2“ ;

Austauschen (HoleWert ( Hole ( Scriptparameter) ;2); „|“ ; „¶“) ]

Page 24: FMK2015: Von Skriptparametern Variablen und Globalen by Patrick Risch

Patrick Risch, zertifizierter FileMaker EntwicklerArbeiten mit Scriptparameter, Variablen und Globalen

FileMaker Konferenz 2015 Hamburgwww.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

Page 25: FMK2015: Von Skriptparametern Variablen und Globalen by Patrick Risch

Patrick Risch, zertifizierter FileMaker EntwicklerArbeiten mit Scriptparameter, Variablen und Globalen

FileMaker Konferenz 2015 Hamburgwww.filemaker-konferenz.com

Vorsicht!

Parameter sind immer vom Typ ‚Text‘

• Umwandlung mit LiesalsZahl, LiesalsDatum, etc. um Überraschungen vorzubeugen.

Demo: Script ‚Schleife‘

Page 26: FMK2015: Von Skriptparametern Variablen und Globalen by Patrick Risch

Patrick Risch, zertifizierter FileMaker EntwicklerArbeiten mit Scriptparameter, Variablen und Globalen

FileMaker Konferenz 2015 Hamburgwww.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

Page 27: FMK2015: Von Skriptparametern Variablen und Globalen by Patrick Risch

Vortragende(r) Titel Vortrag

FileMaker Konferenz 2015 Hamburgwww.filemaker-konferenz.com

Vielen Dank unseren Sponsoren

Danke für das Bewerten dieses Vortrages