In Filemaker gibt es die Möglichkeit Scriptparameter z.B. auf einem Button zu übergeben.
Um nun mehrere Scriptparameter zu übergeben, müssen wir ein Trennungsparameter (Delimiter) der einzelnen Werte festlegen.
Wir verwenden ?@@?, um einzelne Daten zu trennen. Da der optionale Scriptparameter als Text behandelt wird, kann es bei einfacheren Trennzeichen zu Problemen kommen. Das jemand einen Text verfasst in dem genau ?@@? auftaucht, ist relativ gering.
Wir möchten in einem Script 2 Parameter verarbeiten. Mit unserem selbstdefinierten Delimiter (?@@?) können wird nun die einzelnen Daten trennen.
Um nun die Daten zu trennen, legt man am besten eine eigene Funktion an, die genau diese Parameter trennt.
Funktionsname: xGET(ParameterPosition)
ParameterPosition = Position des Wertes in der Kette
SetzeVar([ Param = Hole(ScriptParameter); Parag = Hole(UUID); Austausch = Austauschen(Param ; "¶" ; Parag); Austausch = Austauschen(Austausch ; "?@@?" ; "¶") ; Param1 = HoleWert(Austausch ; ParameterPosition) ]; Trimme(Austauschen(Param1 ; Parag ; "¶")) )
Die Funktion holt den gesamten Scriptparameter und ersetzt die Absätze durch eine UUID. Es ist wichtig die Absätze temporär zu ersetzen, da sonst die Funktion HoleWert falsche Daten ermitteln würde. Die temporär ersetzten Absätze können nachher wieder ausgetauscht werden.
Als Funktionsparameter wird der Index gesetzt, dessen Wert man ermitteln möchte.
Möchten wir nun in einem Script, die Parameter empfangen sieht dies so aus:
In $Param1 wäre nun der Wert von Tabelle::Feld und in $Param2 der Wert von $$GlobaleVariable gespeichert und kann im nachfolgenden Scriptteil verarbeitet werden.