FMK2015: Strukturierte Namensgebung als Basis für komplexe Programmierung by Wolfgang Wunderlich
FMK2015: Von Skriptparametern Variablen und Globalen by Patrick Risch
-
Upload
verein-fm-konferenz -
Category
Technology
-
view
665 -
download
2
Transcript of 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
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
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
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
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
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
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
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.
Patrick Risch, zertifizierter FileMaker EntwicklerArbeiten mit Scriptparameter, Variablen und Globalen
FileMaker Konferenz 2015 Hamburgwww.filemaker-konferenz.com
Globale Felder
Demo
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
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
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.
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
• …
Patrick Risch, zertifizierter FileMaker EntwicklerArbeiten mit Scriptparameter, Variablen und Globalen
FileMaker Konferenz 2015 Hamburgwww.filemaker-konferenz.com
Lokale Variablen — $Variable
Demo
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
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.
Patrick Risch, zertifizierter FileMaker EntwicklerArbeiten mit Scriptparameter, Variablen und Globalen
FileMaker Konferenz 2015 Hamburgwww.filemaker-konferenz.com
Globale Variablen — $$Variable
Demo
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.
Patrick Risch, zertifizierter FileMaker EntwicklerArbeiten mit Scriptparameter, Variablen und Globalen
FileMaker Konferenz 2015 Hamburgwww.filemaker-konferenz.com
Scriptparameter (aus FileMaker)
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
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]
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.
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); „|“ ; „¶“) ]
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
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‘
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
Vortragende(r) Titel Vortrag
FileMaker Konferenz 2015 Hamburgwww.filemaker-konferenz.com
Vielen Dank unseren Sponsoren
Danke für das Bewerten dieses Vortrages