Links überspringen

Mehrere Script-Parameter übergeben.

FileMaker Training, Schulungen, Coaching

Seit dem *.fp7-Format ist es in FileMaker möglich, beim Aufruf eines Scriptes einen Script-Parameter zu übergeben, der innerhalb des Zielscriptes ausgelesen und verarbeitet werden kann. Zu diesem Zweck steht im Befehl Script ausführen einer Taste oder in einem Script eine Zeile zur Übergabe eines Parameters für das auszuführende Zielscript zur Verfügung.

Wer intensiv FileMaker-Datenbanken entwickelt, wird jedoch schnell den Wunsch verspüren, nicht nur einen, sondern bei Bedarf auch mehrere Parameter an ein Script zu übergeben. Dies ist zwar standardmäßig im FileMaker nicht vorgesehen, ist aber mittels einer eigenen Funktion (Custom Function) problemlos und bequem möglich. Die verschiedenen Script-Parameter werden einfach als Textkette übergeben, die mit einem bestimmten Trennzeichen voneinander getrennt werden – in meinem Beispiel verwende ich als Trennzeichen den vertikalen Strich ( | ), der auf einem Mac mit der Tastenkombination <alt> – <7> zu erreichen ist.

Custom Function zur Trennung der Einzelparameter

Um bei der Entwicklung einen bequemen Weg zu schaffen, mehrere Script-Parameter übergeben zu können, wird zunächst eine eigene Funktion (Custom Function) benötigt, die eine Textkette der zu übergebenen Script-Parameter in die einzelnen Parameter separieren kann. Ich nenne diese Funktion in meinem Beispiel SeparateString (). Bitte beachten Sie, daß zur Definition eigener Funktionen die Advanced-Version von FileMaker erforderlich ist. In FileMaker Pro werden Sie die im folgenden beschriebenen Punkte nicht durchführen können.

  • Öffnen Sie die Verwaltung für eigene Funktionen unter Datei/Ablage > Verwalten > Eigene Funktionen
  • Klicken Sie auf die Schaltfläche [Neu…]
  • Vergeben Sie den Funktionsnamen SeparateString
  • Geben Sie zwei Funktionsparameter an: String und Nummer
  • Geben Sie nun folgenden Quelltext unter SeparateString (String; Nummer) = an:
Falls(Nummer = 1;
ZeichenLinks ( String; (Position ( String; "|"; 1; 1))-1);
ZeichenMitte ( String;
(Position ( String; "|"; 1; Nummer-1))+1;
(Position ( String; "|"; 1; Nummer)) - ((Position ( String; "|"; 1; Nummer-1))+1)
)
)

Klicken Sie nach der Definition der eigenen Funktion auf die Schaltfläche [OK]. Ab sofort steht Ihnen eine neue Funktion zur Verfügung, mit der Sie beliebige Textketten trennen können, die mit dem von Ihnen vergebenen Trennzeichen versehen wurden. Diese Funktion erfordert die Angabe des Trennzeichens zwischen den Werten und einmal am Ende der Textkette. Um innerhalb eines Scriptes auf die verschiedenen Parameter zugreifen zu können, verwenden Sie im entsprechenden Script nun einfach diese Funktion, z.B. in folgender Form:

Variable setzen [$Wert_1; Wert: SeparateString (Hole(ScriptParameter); 1)]
Variable setzen [$Wert_2; Wert: SeparateString (Hole(ScriptParameter); 2)]

Wenn der zuvor übergebene Script-Parameter zum Beispiel lautete:

Script-Parameter: "Adresse|Ändern|"

…dann enthält die in diesem Beispiel übergebene Variable $Wert_1 den Wert Adresse, und $Wert_2 enthält den Wert Ändern. Ihre neue eigene Funktion können Sie nun überall dort einsetzen, wo Sie mit einfachen Mitteln mehrere Parameter übergeben und hinterher wieder auslesen möchten.

Diese Seite teilen:

ERP-Software so flexibel wie Ihr Unternehmen.
Wir beraten Sie gern.

Anpassbare ERP-Software für Mac, Windows und iOS.