SlideShare ist ein Scribd-Unternehmen logo
1 von 70
Downloaden Sie, um offline zu lesen
www.filemaker-konferenz.com
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Was sind Custom Functions?
Wie erstellt man Custom Functions?
Thomas Hirt
Custom Functions für Einsteiger
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Custom Functions für Einsteiger – Thomas Hirt
Über den Sprecher
• Studium der Biochemie und des Software Engineering
• betreut seit 25+ Jahren Kleinunternehmen und
Privatkunden in Informatikbelangen
• Geschäftsführer und Inhaber der Tek:Guides GmbH
• Windows Umgebungen als Hauptbetätigungsfeld
• Einsatz von FileMaker als Entwicklungsplattform seit 2009
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Custom Functions für Einsteiger – Thomas Hirt
Inhalt
• FileMaker Funktionen als Grundlage von Custom Functions
• Funktionen in der FileMaker Entwicklungsumgebung
• Funktionsreferenz in der FileMaker Hilfe
• Wie erstellt man Custom Functions? – Teil 1
• Erstellung von Custom Functions
• ein ganz einfaches Beispiel
• Eigenschaften von Custom Functions
• Wie erstellt man Custom Functions? – Teil 2
• wichtige Strukturbausteine
• Beispiele als Ideengeber
• Wann sind Custom Functions sinnvoll?
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Custom Functions für Einsteiger – Thomas Hirt
FileMaker Funktionen als Grundlage
von Custom Functions
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Custom Functions für Einsteiger – Thomas Hirt
Funktionen in der FileMaker
Entwicklungsumgebung
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Custom Functions für Einsteiger – Thomas Hirt
Funktionen in der FileMaker
Entwicklungsumgebung
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Custom Functions für Einsteiger – Thomas Hirt
Funktionen in der FileMaker
Entwicklungsumgebung
?
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Custom Functions für Einsteiger – Thomas Hirt
Funktionen in der FileMaker
Entwicklungsumgebung
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Custom Functions für Einsteiger – Thomas Hirt
Funktionen in der FileMaker
Entwicklungsumgebung
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Custom Functions für Einsteiger – Thomas Hirt
Funktionen in der FileMaker
Entwicklungsumgebung
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Custom Functions für Einsteiger – Thomas Hirt
Funktionen in der FileMaker
Entwicklungsumgebung
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Custom Functions für Einsteiger – Thomas Hirt
Funktionen in der FileMaker
Entwicklungsumgebung
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Custom Functions für Einsteiger – Thomas Hirt
Funktionen in der FileMaker
Entwicklungsumgebung
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Custom Functions für Einsteiger – Thomas Hirt
Funktionen in der FileMaker
Entwicklungsumgebung
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Custom Functions für Einsteiger – Thomas Hirt
Funktionen in der FileMaker
Entwicklungsumgebung
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Custom Functions für Einsteiger – Thomas Hirt
Funktionen in der FileMaker
Entwicklungsumgebung
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Custom Functions für Einsteiger – Thomas Hirt
Funktionen in der FileMaker
Entwicklungsumgebung
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Custom Functions für Einsteiger – Thomas Hirt
Funktionen in der FileMaker
Entwicklungsumgebung
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Custom Functions für Einsteiger – Thomas Hirt
Funktionen in der FileMaker
Entwicklungsumgebung
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Custom Functions für Einsteiger – Thomas Hirt
Funktionen in der FileMaker
Entwicklungsumgebung
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Custom Functions für Einsteiger – Thomas Hirt
Funktionsreferenz in FileMaker Hilfe
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Custom Functions für Einsteiger – Thomas Hirt
Funktionsreferenz in FileMaker Hilfe
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Custom Functions für Einsteiger – Thomas Hirt
Wie erstellt man Custom Functions?
Teil 1
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Custom Functions für Einsteiger – Thomas Hirt
Erstellung von Custom Functions
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Custom Functions für Einsteiger – Thomas Hirt
Erstellung von Custom Functions
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Custom Functions für Einsteiger – Thomas Hirt
Erstellung von Custom Functions
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Custom Functions für Einsteiger – Thomas Hirt
Erstellung von Custom Functions
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Custom Functions für Einsteiger – Thomas Hirt
ein ganz einfaches Beispiel
• Ausgabe des deutschen Wochentags zu einem Datum
• Schritt 1: durchsuchen der FileMaker Funktionen aus dem Bereich "Datum"
• Schritt 2: durchsuchen der FileMaker Funktionen aus dem Bereich "Logik", um
einen geeigneten Logarithmus zu ersinnen
• Kombination der ausgesuchten Funktionen zu einer eigenen "Custom Function"
mit dem Namen "Wochentag" und einem Parameter "datum"
• Wochentag ( datum )
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Custom Functions für Einsteiger – Thomas Hirt
ein ganz einfaches Beispiel
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Custom Functions für Einsteiger – Thomas Hirt
ein ganz einfaches Beispiel
• DayOfWeek ( date )
• liefert als Antwort die Zahl 1 für einen Sonntag, 2 für einen Montag, etc.
• DayOfWeek ( Date ( 6 ; 18 ; 2020 ) )
• FileMaker erledigt für uns also bereits die eigentliche Berechnung des
Wochentags. Wir müssen nur noch die Zahlen der deutschen Bezeichnung
zuordnen.
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Custom Functions für Einsteiger – Thomas Hirt
ein ganz einfaches Beispiel
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Custom Functions für Einsteiger – Thomas Hirt
ein ganz einfaches Beispiel
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Custom Functions für Einsteiger – Thomas Hirt
ein ganz einfaches Beispiel
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Custom Functions für Einsteiger – Thomas Hirt
ein ganz einfaches Beispiel
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Custom Functions für Einsteiger – Thomas Hirt
ein ganz einfaches Beispiel
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Custom Functions für Einsteiger – Thomas Hirt
ein ganz einfaches Beispiel
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Custom Functions für Einsteiger – Thomas Hirt
ein ganz einfaches Beispiel
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Custom Functions für Einsteiger – Thomas Hirt
ein ganz einfaches Beispiel
• Choose ( test ; result0 {; result1 ; result2…} )
• eine Berechnung ("test") muss natürliche Zahlen beginnend mit 0 ausgeben
• nach der Berechnung werden der Reihe nach die Werte aufgezählt, welche den
Ergebnissen 0, 1, 2, usw. zugeordnet werden
• Wir können die Funktionen "Choose" und "DayOfWeek" miteinander
kombinieren:
Choose (
DayOfWeek ( datum ) - 1;
"Sonntag";
"Montag";
"Dienstag";
"Mittwoch";
"Donnerstag";
"Freitag";
"Samstag"
)
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Custom Functions für Einsteiger – Thomas Hirt
ein ganz einfaches Beispiel
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Custom Functions für Einsteiger – Thomas Hirt
ein ganz einfaches Beispiel
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Custom Functions für Einsteiger – Thomas Hirt
ein ganz einfaches Beispiel
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Custom Functions für Einsteiger – Thomas Hirt
ein ganz einfaches Beispiel
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Custom Functions für Einsteiger – Thomas Hirt
ein ganz einfaches Beispiel
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Custom Functions für Einsteiger – Thomas Hirt
ein ganz einfaches Beispiel
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Custom Functions für Einsteiger – Thomas Hirt
ein ganz einfaches Beispiel
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Custom Functions für Einsteiger – Thomas Hirt
ein ganz einfaches Beispiel
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Custom Functions für Einsteiger – Thomas Hirt
ein ganz einfaches Beispiel
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Custom Functions für Einsteiger – Thomas Hirt
Eigenschaften von Custom Functions
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Custom Functions für Einsteiger – Thomas Hirt
Eigenschaften von Custom Functions
• begrenzt im Umfang
• Name ≤ 100 Zeichen
• max. 30’000 Zeichen
• verschachtelte Aufrufe limitiert
• max. 50’000 Schleifendurchläufe
• max. 50’000 rekursive Aufrufe
• max. Verschachtelung gleichzeitig aktiver Aufrufe: 10’000
• Verschachtelungstiefe auf eigenes Risiko mit SetRecursion () änderbar
• Limitationen im Prinzip identisch zu Berechnungen
• Debugging von Hand im Data Viewer, keine Unterstützung durch Debugger
• in andere Lösungen importierbar, Reihenfolge bei Import kritisch
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Custom Functions für Einsteiger – Thomas Hirt
Wie erstellt man Custom Functions?
Teil 2
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Custom Functions für Einsteiger – Thomas Hirt
wichtige Strukturbausteine
Let (
[
wert1 = meineBerechnung1;
wert2 = meineBerechnung2;
wert3 = meineBerechnung1;
...
wertN = meineBerechnungN
];
berechnungRückgabewert
)
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Custom Functions für Einsteiger – Thomas Hirt
wichtige Strukturbausteine
If (
bedingung = wert;
berechnungRückgabewert1;
berechnungRückgabewert2
)
Case (
bedingung1 = wert1;
berechnungRückgabewert1;
bedingung2 = wert2;
berechnungRückgabewert2;
...
bedingungN = wertN;
berechnungRückgabewertN;
berechnungRückgabewertUniversell
)
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Custom Functions für Einsteiger – Thomas Hirt
wichtige Strukturbausteine
While (
[
startVariable1 = wert1;
startVariable1 = wert1;
...
startVariableN = wertN
];
bedingung;
[
schleifenVariable1 = berechnung1;
schleifenVariable2 = berechnung2;
...
schleifenVariableN = berechnungN
];
berechnungRückgabewert
)
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Custom Functions für Einsteiger – Thomas Hirt
wichtige Strukturbausteine
Evaluate (
)
Text, welcher zur Laufzeit (z.B. mittels Variablen)
zusammengebaut wird und danach als Berechnung
interpretiert wird
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Custom Functions für Einsteiger – Thomas Hirt
wichtige Strukturbausteine
Die Strukturelemente "Let", "If", "Case", "While"
und "Evaluate" lassen sich beliebig kombinieren
und ineinander verschachteln, so dass auch sehr
komplexe Berechnungen abgebildet werden können.
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Custom Functions für Einsteiger – Thomas Hirt
wichtige Strukturbausteine
Let (
[
wert1 = If (
bedingung = wert;
berechnungRückgabewert1;
berechnungRückgabewert2
);
wert2 = meineBerechnung2;
wert3 = Evaluate ( XXXXXXXXXXXXXXXXXXXXXX );
wert4 = 123...
];
Case (
bedingungX = wertX;
berechnungRückgabewertX;
bedingungY = wertY;
berechnungRückgabewertY;
berechnungRückgabewertUniversell
)
)
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Custom Functions für Einsteiger – Thomas Hirt
Beispiel 1: Alter
• Beim erstellen von Custom Function Bibliotheken ist es sinnvoll, die Funktionen
thematisch zu gliedern. Der erste Teil des Funktionsnamens ("time.") hat
diesen Zweck.
• Es wird ein Parameter dateOfBirth übergeben. Es ist wichtig zu überprüfen,
ob dieser Parameter ein geeignetes Format hat.
time.age ( dateOfBirth )
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Custom Functions für Einsteiger – Thomas Hirt
Beispiel 1: Alter
• Lösungsidee:
• Näherungsweise kann das Alter berechnet werden, indem man von der
aktuell gültigen Jahreszahl das Jahr des Geburtstages abzieht.
• Es muss zusätzlich berücksichtigt werden, ob der Geburtstag im aktuellen
Jahr schon vorbei ist oder nicht.
time.age ( dateOfBirth )
Jahr
Geburtstag
aktuelles Jahr - Geburtsjahr
aktuelles Jahr - Geburtsjahr - 1
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Custom Functions für Einsteiger – Thomas Hirt
Beispiel 1: Alter
Einfache Methode, um
sicherzustellen, dass der
übergebene Parameter
das richtige Format hat.
Let (
[
// aktuelles Datum
_today = Get ( CurrentDate );
_todayY = Year ( _today );
_todayM = Month ( _today );
_todayD = Day ( _today );
// Geburtstag
_birthday = GetAsDate ( dateOfBirth );
_birthdayY = Year ( _birthday );
_birthdayM = Month ( _birthday );
_birthdayD = Day ( _birthday );
// Geburtstag dieses Jahr schon vorbei?
_birthdayPast = Case (
_todayM > _birthdayM; 1;
( _todayM = _birthdayM ) and ( _todayD ≥ _birthdayD ); 1;
0
)
];
// Altersberechnung
If (
_birthdayPast;
_todayY - _birthdayY;
_todayY - _birthdayY - 1
)
)
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Custom Functions für Einsteiger – Thomas Hirt
Ausgangsdaten
Beispiel 2: Seitenzahlen
Ziel
• gegeben sei eine Liste von
Seitenzahlen in aufsteigender
Reihenfolge
• Die Seitenzahlen werden durch
Absatzmarken getrennt, d.h. pro
Zeile findet sich eine Seitenzahl.
• Die Liste der Seitenzahlen soll auf
einer Zeile dargestellt werden.
• Die Seitenzahlen sollen durch
Kommas und Abstand voneinander
getrennt werden.
• Aufeinanderfolgende Seitenzahlen
sollen als Serie xx-yy dargestellt
werden, um die Liste zu verkürzen.
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Custom Functions für Einsteiger – Thomas Hirt
Ausgangsdaten
Beispiel 2: Seitenzahlen
Ziel
5
9
22
23
24
25
51
67
103
104
5, 9, 22-25, 51, 67, 103-104
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Custom Functions für Einsteiger – Thomas Hirt
Beispiel 2: Seitenzahlen
numbers.list.shorten ( listOfNumbers )
While (
[
_shortenedList = "";
_remainingList = listOfNumbers;
_lastNumber = 0;
_lastNumberWasInSeries = 0
];
not IsEmpty ( _remainingList );
[
// nächste Zahl in Ausgangsliste merken
// Zahl an verkürzte Liste anhängen
// Ausgangsliste um 1 Zahl verkürzen
];
_shortenedList
)
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Custom Functions für Einsteiger – Thomas Hirt
Beispiel 2: Seitenzahlen
_remainingNumberCount = ValueCount ( _remainingList );
_currentNumber = GetValue ( _remainingList; 1 );
_currentNumberIsInSeries = If ( _currentNumber - 1 = _lastNumber; 1; 0 );
_shortenedList = Case (
IsEmpty ( _shortenedList );
_currentNumber;
_currentNumberIsInSeries and _remainingNumberCount = 1;
_shortenedList & "-" & _currentNumber;
_currentNumberIsInSeries;
_shortenedList;
_lastNumberWasInSeries;
_shortenedList & "-" & _lastNumber & ", " & _currentNumber;
_shortenedList & ", " & _currentNumber
);
_lastNumber = _currentNumber;
_lastNumberWasInSeries = If ( _currentNumberIsInSeries; 1; 0 );
_remainingList = RightValues ( _remainingList; _remainingNumberCount-1 )
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Custom Functions für Einsteiger – Thomas Hirt
While (
[
_shortenedList = "";
_remainingList = listOfNumbers;
_lastNumber = 0;
_lastNumberWasInSeries = 0
];
not IsEmpty ( _remainingList );
[
_remainingNumberCount = ValueCount ( _remainingList );
_currentNumber = GetValue ( _remainingList ; 1 );
_currentNumberIsInSeries = If ( _currentNumber - 1 = _lastNumber ; 1 ; 0 );
_shortenedList = Case (
// This is the 1st iteration.
IsEmpty ( _shortenedList );
_currentNumber;
// The current number belongs to an active series of neighbouring numbers.
// The current number is the last number in the list.
_currentNumberIsInSeries and _remainingNumberCount = 1;
_shortenedList & "-" & _currentNumber;
// The current number belongs to an active series of neighbouring numbers.
_currentNumberIsInSeries;
_shortenedList;
// The current number does not belong to an active series of neighbouring numbers
// but the last number did. Hence, the last number terminates a series.
_lastNumberWasInSeries;
_shortenedList & "-" & _lastNumber & ", " & _currentNumber;
// Neither the last nor the current number belongs to a series of neighbouring numbers.
// We can simply add the current number.
_shortenedList & ", " & _currentNumber
);
_lastNumber = _currentNumber;
_lastNumberWasInSeries = If ( _currentNumberIsInSeries ; 1 ; 0 );
_remainingList = RightValues ( _remainingList ; _remainingNumberCount - 1 )
];
_shortenedList
)
Beispiel 2: Seitenzahlen
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Custom Functions für Einsteiger – Thomas Hirt
Wann sind Custom Functions
sinnvoll?
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Custom Functions für Einsteiger – Thomas Hirt
eher sinnvoll
Wann sind Custom Functions sinnvoll?
eher nicht sinnvoll
• wiederverwenbar
• klar umrissene Funktion
• wenige bis gar keine Abhängigkeiten
• nicht allzu umfangreich und lang
• Fälle zum Testen gut erstellbar,
Testaufwand überschaubar
(Stichwort: "Unit Tests")
• einmalige Verwendung
• Abhängigkeiten zwingend gegeben
• komplex oder sehr komplex
• Funktionalität nicht nachvollziehbar
(Stichtwort: "Black Box")
• Testaufwand gross bis sehr gross
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Custom Functions für Einsteiger – Thomas Hirt
Custom Functions
Wann sind Custom Functions sinnvoll?
FileMaker Skripten
• klar umrissene Funktionen
• wenige bis gar keine Abhängigkeiten
• nicht allzu umfangreich und komplex
• FileMaker Funktionen als Basis
• Kommentare im Code zwar möglich,
aber nicht wirklich vorgesehen
• Testing von Hand im Data Viewer
• alle Arten von Algorithmen
• mit oder ohne Abhängigkeiten
• ganz simpel bis sehr komplex
• FileMaker Skriptschritte und
FileMaker Funktionen als Basis
• umfangreiche Kommentare im Code
problemlos möglich
• Testing mit Hilfe des Debuggers
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Custom Functions für Einsteiger – Thomas Hirt
Q & R
Vielen Dank für Ihr Interesse!
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Custom Functions für Einsteiger – Thomas Hirt
Links auf Tools
• Custom Function Sammlungen
• https://www.briandunning.com/filemaker-custom-functions/
• https://github.com/chivalry/filemaker-custom-functions
• https://github.com/jbante/FileMaker-
Techniques/tree/master/CustomFunctions
• kostenlose Text-Editoren für Entwickler
• https://notepad-plus-plus.org/ (Windows)
• https://code.visualstudio.com/ (Win, macOS, Linux)
Plugin für FileMaker Code Highlighting verfügbar
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Custom Functions für Einsteiger – Thomas Hirt
Vielen Dank unseren Sponsoren

Weitere ähnliche Inhalte

Ähnlich wie FMK2022 CustomFunctions Fuer Einsteiger - Thomas Hirt

FMK2014: FileMaker Module by Karsten Risseeuw
FMK2014: FileMaker Module by Karsten RisseeuwFMK2014: FileMaker Module by Karsten Risseeuw
FMK2014: FileMaker Module by Karsten RisseeuwVerein FM Konferenz
 
FMK2015: FileMaker Grundlagen Formeln by Longin Ziegler
FMK2015: FileMaker Grundlagen Formeln by Longin ZieglerFMK2015: FileMaker Grundlagen Formeln by Longin Ziegler
FMK2015: FileMaker Grundlagen Formeln by Longin ZieglerVerein FM Konferenz
 
FMK2015: FrameWork Konzepte in FileMaker Pro by Wolfgang Wunderlich
FMK2015: FrameWork Konzepte in FileMaker Pro by Wolfgang WunderlichFMK2015: FrameWork Konzepte in FileMaker Pro by Wolfgang Wunderlich
FMK2015: FrameWork Konzepte in FileMaker Pro by Wolfgang WunderlichVerein FM Konferenz
 
FMK2014: Verband der FileMaker Entwickler by Holger Darjus
FMK2014: Verband der FileMaker Entwickler by Holger DarjusFMK2014: Verband der FileMaker Entwickler by Holger Darjus
FMK2014: Verband der FileMaker Entwickler by Holger DarjusVerein FM Konferenz
 
FMK2015: Eigene Apps mit FileMaker Go by Markus Schneider
FMK2015: Eigene Apps mit FileMaker Go by Markus SchneiderFMK2015: Eigene Apps mit FileMaker Go by Markus Schneider
FMK2015: Eigene Apps mit FileMaker Go by Markus SchneiderVerein FM Konferenz
 
FMK2022 Arbeiten mit SVG in FileMaker - Robert Kaiser
FMK2022 Arbeiten mit SVG in FileMaker - Robert KaiserFMK2022 Arbeiten mit SVG in FileMaker - Robert Kaiser
FMK2022 Arbeiten mit SVG in FileMaker - Robert KaiserVerein FM Konferenz
 
FMK2015: Neue Funktionen in FileMaker Go 14 by Jörg Köster
FMK2015: Neue Funktionen in FileMaker Go 14 by Jörg KösterFMK2015: Neue Funktionen in FileMaker Go 14 by Jörg Köster
FMK2015: Neue Funktionen in FileMaker Go 14 by Jörg KösterVerein FM Konferenz
 
FMK2019 dot-Net-Plugin selbst programmieren by Werner Staub
FMK2019 dot-Net-Plugin selbst programmieren by Werner StaubFMK2019 dot-Net-Plugin selbst programmieren by Werner Staub
FMK2019 dot-Net-Plugin selbst programmieren by Werner StaubVerein FM Konferenz
 
Fmk2019 Produktentwicklung mit FileMaker by Harald Mair
Fmk2019 Produktentwicklung mit FileMaker by Harald MairFmk2019 Produktentwicklung mit FileMaker by Harald Mair
Fmk2019 Produktentwicklung mit FileMaker by Harald MairVerein FM Konferenz
 
FMK2015: Von Skriptparametern Variablen und Globalen by Patrick Risch
FMK2015: Von Skriptparametern Variablen und Globalen by Patrick RischFMK2015: Von Skriptparametern Variablen und Globalen by Patrick Risch
FMK2015: Von Skriptparametern Variablen und Globalen by Patrick RischVerein FM Konferenz
 
FMK2014: Custom Web Publishing (mit PHP) und WebDirect in einer Lösung by Mar...
FMK2014: Custom Web Publishing (mit PHP) und WebDirect in einer Lösung by Mar...FMK2014: Custom Web Publishing (mit PHP) und WebDirect in einer Lösung by Mar...
FMK2014: Custom Web Publishing (mit PHP) und WebDirect in einer Lösung by Mar...Verein FM Konferenz
 
FMK2019 Wir bauen uns ein Menüsystem by Thomas Hirt
FMK2019 Wir bauen uns ein Menüsystem by Thomas HirtFMK2019 Wir bauen uns ein Menüsystem by Thomas Hirt
FMK2019 Wir bauen uns ein Menüsystem by Thomas HirtVerein FM Konferenz
 
FMK2014: FileMaker Module by Holger Darjus
FMK2014: FileMaker Module by Holger DarjusFMK2014: FileMaker Module by Holger Darjus
FMK2014: FileMaker Module by Holger DarjusVerein FM Konferenz
 
FMK2022 FileMaker Server unter Linux Workshop von Bernhard Schulz
FMK2022 FileMaker Server unter Linux Workshop von Bernhard SchulzFMK2022 FileMaker Server unter Linux Workshop von Bernhard Schulz
FMK2022 FileMaker Server unter Linux Workshop von Bernhard SchulzVerein FM Konferenz
 
FMK2015: Einführung in Codeversionierungssysteme by Thomas Hirt
FMK2015: Einführung in Codeversionierungssysteme by Thomas HirtFMK2015: Einführung in Codeversionierungssysteme by Thomas Hirt
FMK2015: Einführung in Codeversionierungssysteme by Thomas HirtVerein FM Konferenz
 
FMK2014 FileMaker Go im Alltag by Markus Schneider
FMK2014 FileMaker Go im Alltag by Markus SchneiderFMK2014 FileMaker Go im Alltag by Markus Schneider
FMK2014 FileMaker Go im Alltag by Markus SchneiderVerein FM Konferenz
 
FMK2019 FileMaker Anbindung an Online Systeme by Michael Heider
FMK2019 FileMaker Anbindung an Online Systeme by Michael HeiderFMK2019 FileMaker Anbindung an Online Systeme by Michael Heider
FMK2019 FileMaker Anbindung an Online Systeme by Michael HeiderVerein FM Konferenz
 
FMK2018- Anforderungen einer Standardsoftware Karsten Risseeuw
FMK2018- Anforderungen einer Standardsoftware Karsten RisseeuwFMK2018- Anforderungen einer Standardsoftware Karsten Risseeuw
FMK2018- Anforderungen einer Standardsoftware Karsten RisseeuwVerein FM Konferenz
 
FMK2017 - Tools für FileMaker Entwickler by Alexis Gehrt
FMK2017 -  Tools für FileMaker Entwickler by Alexis GehrtFMK2017 -  Tools für FileMaker Entwickler by Alexis Gehrt
FMK2017 - Tools für FileMaker Entwickler by Alexis GehrtVerein FM Konferenz
 
FMK2018- Microsoft Active directory Thomas Hirt
FMK2018- Microsoft Active directory Thomas HirtFMK2018- Microsoft Active directory Thomas Hirt
FMK2018- Microsoft Active directory Thomas HirtVerein FM Konferenz
 

Ähnlich wie FMK2022 CustomFunctions Fuer Einsteiger - Thomas Hirt (20)

FMK2014: FileMaker Module by Karsten Risseeuw
FMK2014: FileMaker Module by Karsten RisseeuwFMK2014: FileMaker Module by Karsten Risseeuw
FMK2014: FileMaker Module by Karsten Risseeuw
 
FMK2015: FileMaker Grundlagen Formeln by Longin Ziegler
FMK2015: FileMaker Grundlagen Formeln by Longin ZieglerFMK2015: FileMaker Grundlagen Formeln by Longin Ziegler
FMK2015: FileMaker Grundlagen Formeln by Longin Ziegler
 
FMK2015: FrameWork Konzepte in FileMaker Pro by Wolfgang Wunderlich
FMK2015: FrameWork Konzepte in FileMaker Pro by Wolfgang WunderlichFMK2015: FrameWork Konzepte in FileMaker Pro by Wolfgang Wunderlich
FMK2015: FrameWork Konzepte in FileMaker Pro by Wolfgang Wunderlich
 
FMK2014: Verband der FileMaker Entwickler by Holger Darjus
FMK2014: Verband der FileMaker Entwickler by Holger DarjusFMK2014: Verband der FileMaker Entwickler by Holger Darjus
FMK2014: Verband der FileMaker Entwickler by Holger Darjus
 
FMK2015: Eigene Apps mit FileMaker Go by Markus Schneider
FMK2015: Eigene Apps mit FileMaker Go by Markus SchneiderFMK2015: Eigene Apps mit FileMaker Go by Markus Schneider
FMK2015: Eigene Apps mit FileMaker Go by Markus Schneider
 
FMK2022 Arbeiten mit SVG in FileMaker - Robert Kaiser
FMK2022 Arbeiten mit SVG in FileMaker - Robert KaiserFMK2022 Arbeiten mit SVG in FileMaker - Robert Kaiser
FMK2022 Arbeiten mit SVG in FileMaker - Robert Kaiser
 
FMK2015: Neue Funktionen in FileMaker Go 14 by Jörg Köster
FMK2015: Neue Funktionen in FileMaker Go 14 by Jörg KösterFMK2015: Neue Funktionen in FileMaker Go 14 by Jörg Köster
FMK2015: Neue Funktionen in FileMaker Go 14 by Jörg Köster
 
FMK2019 dot-Net-Plugin selbst programmieren by Werner Staub
FMK2019 dot-Net-Plugin selbst programmieren by Werner StaubFMK2019 dot-Net-Plugin selbst programmieren by Werner Staub
FMK2019 dot-Net-Plugin selbst programmieren by Werner Staub
 
Fmk2019 Produktentwicklung mit FileMaker by Harald Mair
Fmk2019 Produktentwicklung mit FileMaker by Harald MairFmk2019 Produktentwicklung mit FileMaker by Harald Mair
Fmk2019 Produktentwicklung mit FileMaker by Harald Mair
 
FMK2015: Von Skriptparametern Variablen und Globalen by Patrick Risch
FMK2015: Von Skriptparametern Variablen und Globalen by Patrick RischFMK2015: Von Skriptparametern Variablen und Globalen by Patrick Risch
FMK2015: Von Skriptparametern Variablen und Globalen by Patrick Risch
 
FMK2014: Custom Web Publishing (mit PHP) und WebDirect in einer Lösung by Mar...
FMK2014: Custom Web Publishing (mit PHP) und WebDirect in einer Lösung by Mar...FMK2014: Custom Web Publishing (mit PHP) und WebDirect in einer Lösung by Mar...
FMK2014: Custom Web Publishing (mit PHP) und WebDirect in einer Lösung by Mar...
 
FMK2019 Wir bauen uns ein Menüsystem by Thomas Hirt
FMK2019 Wir bauen uns ein Menüsystem by Thomas HirtFMK2019 Wir bauen uns ein Menüsystem by Thomas Hirt
FMK2019 Wir bauen uns ein Menüsystem by Thomas Hirt
 
FMK2014: FileMaker Module by Holger Darjus
FMK2014: FileMaker Module by Holger DarjusFMK2014: FileMaker Module by Holger Darjus
FMK2014: FileMaker Module by Holger Darjus
 
FMK2022 FileMaker Server unter Linux Workshop von Bernhard Schulz
FMK2022 FileMaker Server unter Linux Workshop von Bernhard SchulzFMK2022 FileMaker Server unter Linux Workshop von Bernhard Schulz
FMK2022 FileMaker Server unter Linux Workshop von Bernhard Schulz
 
FMK2015: Einführung in Codeversionierungssysteme by Thomas Hirt
FMK2015: Einführung in Codeversionierungssysteme by Thomas HirtFMK2015: Einführung in Codeversionierungssysteme by Thomas Hirt
FMK2015: Einführung in Codeversionierungssysteme by Thomas Hirt
 
FMK2014 FileMaker Go im Alltag by Markus Schneider
FMK2014 FileMaker Go im Alltag by Markus SchneiderFMK2014 FileMaker Go im Alltag by Markus Schneider
FMK2014 FileMaker Go im Alltag by Markus Schneider
 
FMK2019 FileMaker Anbindung an Online Systeme by Michael Heider
FMK2019 FileMaker Anbindung an Online Systeme by Michael HeiderFMK2019 FileMaker Anbindung an Online Systeme by Michael Heider
FMK2019 FileMaker Anbindung an Online Systeme by Michael Heider
 
FMK2018- Anforderungen einer Standardsoftware Karsten Risseeuw
FMK2018- Anforderungen einer Standardsoftware Karsten RisseeuwFMK2018- Anforderungen einer Standardsoftware Karsten Risseeuw
FMK2018- Anforderungen einer Standardsoftware Karsten Risseeuw
 
FMK2017 - Tools für FileMaker Entwickler by Alexis Gehrt
FMK2017 -  Tools für FileMaker Entwickler by Alexis GehrtFMK2017 -  Tools für FileMaker Entwickler by Alexis Gehrt
FMK2017 - Tools für FileMaker Entwickler by Alexis Gehrt
 
FMK2018- Microsoft Active directory Thomas Hirt
FMK2018- Microsoft Active directory Thomas HirtFMK2018- Microsoft Active directory Thomas Hirt
FMK2018- Microsoft Active directory Thomas Hirt
 

Mehr von Verein FM Konferenz

FMK2022 Drucken über Dateigrenzen hinweg von Philipp Puls
FMK2022 Drucken über Dateigrenzen hinweg von Philipp PulsFMK2022 Drucken über Dateigrenzen hinweg von Philipp Puls
FMK2022 Drucken über Dateigrenzen hinweg von Philipp PulsVerein FM Konferenz
 
FMK2022 Custom Functions von Philipp Puls
FMK2022 Custom Functions von Philipp PulsFMK2022 Custom Functions von Philipp Puls
FMK2022 Custom Functions von Philipp PulsVerein FM Konferenz
 
FMK2022 Datenschutz DSGVO Christoph Kluss
FMK2022 Datenschutz DSGVO Christoph KlussFMK2022 Datenschutz DSGVO Christoph Kluss
FMK2022 Datenschutz DSGVO Christoph KlussVerein FM Konferenz
 
FMK2022 Rechnungen Inkasso - Christoph Kluss
FMK2022 Rechnungen Inkasso - Christoph KlussFMK2022 Rechnungen Inkasso - Christoph Kluss
FMK2022 Rechnungen Inkasso - Christoph KlussVerein FM Konferenz
 
FMK2019 bug off lightning talk by Russell Watson
FMK2019 bug off lightning talk by Russell WatsonFMK2019 bug off lightning talk by Russell Watson
FMK2019 bug off lightning talk by Russell WatsonVerein FM Konferenz
 
FMK2019 being an optimist in a pessimistic world by vincenzo menanno
FMK2019 being an optimist in a pessimistic world by vincenzo menannoFMK2019 being an optimist in a pessimistic world by vincenzo menanno
FMK2019 being an optimist in a pessimistic world by vincenzo menannoVerein FM Konferenz
 
FMK2019 FileMaker Performance Update 2019 by HOnza Koudelka
FMK2019 FileMaker Performance Update 2019 by HOnza KoudelkaFMK2019 FileMaker Performance Update 2019 by HOnza Koudelka
FMK2019 FileMaker Performance Update 2019 by HOnza KoudelkaVerein FM Konferenz
 
FMK2019 Hardware Integrated by HOnza Koudelka
FMK2019 Hardware Integrated by HOnza KoudelkaFMK2019 Hardware Integrated by HOnza Koudelka
FMK2019 Hardware Integrated by HOnza KoudelkaVerein FM Konferenz
 
FMK2019 FileMaker Data API mit Node.js nutzen by Adam Augustin
FMK2019 FileMaker Data API mit Node.js nutzen by Adam AugustinFMK2019 FileMaker Data API mit Node.js nutzen by Adam Augustin
FMK2019 FileMaker Data API mit Node.js nutzen by Adam AugustinVerein FM Konferenz
 
FMK2019 Layout und Eigene Menüs-Management by Jörg Köster
FMK2019 Layout und Eigene Menüs-Management  by Jörg KösterFMK2019 Layout und Eigene Menüs-Management  by Jörg Köster
FMK2019 Layout und Eigene Menüs-Management by Jörg KösterVerein FM Konferenz
 
FMK2019 FileMaker – das Lizenzmodell Alles was Sie wissen wollen by Klemens ...
FMK2019 FileMaker – das Lizenzmodell Alles was Sie wissen wollen by Klemens  ...FMK2019 FileMaker – das Lizenzmodell Alles was Sie wissen wollen by Klemens  ...
FMK2019 FileMaker – das Lizenzmodell Alles was Sie wissen wollen by Klemens ...Verein FM Konferenz
 
FMK2019 FM Data Migration Tool by Stefan Tischler
FMK2019 FM Data Migration Tool by Stefan TischlerFMK2019 FM Data Migration Tool by Stefan Tischler
FMK2019 FM Data Migration Tool by Stefan TischlerVerein FM Konferenz
 
FMK2019 Waagrechte Scrollbar für Ausschnittreihen erstellen by Gerhard Schwin...
FMK2019 Waagrechte Scrollbar für Ausschnittreihen erstellen by Gerhard Schwin...FMK2019 Waagrechte Scrollbar für Ausschnittreihen erstellen by Gerhard Schwin...
FMK2019 Waagrechte Scrollbar für Ausschnittreihen erstellen by Gerhard Schwin...Verein FM Konferenz
 
FMK2019 FileMaker und ESS (MySQL) mit cURL statt ODBC by Philipp Puls
FMK2019 FileMaker und ESS (MySQL) mit cURL statt ODBC by Philipp PulsFMK2019 FileMaker und ESS (MySQL) mit cURL statt ODBC by Philipp Puls
FMK2019 FileMaker und ESS (MySQL) mit cURL statt ODBC by Philipp PulsVerein FM Konferenz
 
FMK2019 Softwaretest in Filemaker Programmen by Volker Krambrich
FMK2019 Softwaretest in Filemaker Programmen by Volker KrambrichFMK2019 Softwaretest in Filemaker Programmen by Volker Krambrich
FMK2019 Softwaretest in Filemaker Programmen by Volker KrambrichVerein FM Konferenz
 
FMK2019 Indirections - Layout und Eigene Menüs-Management by Jörg Köster
FMK2019 Indirections - Layout und Eigene Menüs-Management by Jörg KösterFMK2019 Indirections - Layout und Eigene Menüs-Management by Jörg Köster
FMK2019 Indirections - Layout und Eigene Menüs-Management by Jörg KösterVerein FM Konferenz
 
FMK2019 Fun mit Fenster Und Layouts by Arnold Kegebein
FMK2019 Fun mit Fenster Und Layouts by Arnold KegebeinFMK2019 Fun mit Fenster Und Layouts by Arnold Kegebein
FMK2019 Fun mit Fenster Und Layouts by Arnold KegebeinVerein FM Konferenz
 
FMK2019 PSoS - Perform Script on Server Wie einsetzen und wie entwickeln? by ...
FMK2019 PSoS - Perform Script on Server Wie einsetzen und wie entwickeln? by ...FMK2019 PSoS - Perform Script on Server Wie einsetzen und wie entwickeln? by ...
FMK2019 PSoS - Perform Script on Server Wie einsetzen und wie entwickeln? by ...Verein FM Konferenz
 

Mehr von Verein FM Konferenz (18)

FMK2022 Drucken über Dateigrenzen hinweg von Philipp Puls
FMK2022 Drucken über Dateigrenzen hinweg von Philipp PulsFMK2022 Drucken über Dateigrenzen hinweg von Philipp Puls
FMK2022 Drucken über Dateigrenzen hinweg von Philipp Puls
 
FMK2022 Custom Functions von Philipp Puls
FMK2022 Custom Functions von Philipp PulsFMK2022 Custom Functions von Philipp Puls
FMK2022 Custom Functions von Philipp Puls
 
FMK2022 Datenschutz DSGVO Christoph Kluss
FMK2022 Datenschutz DSGVO Christoph KlussFMK2022 Datenschutz DSGVO Christoph Kluss
FMK2022 Datenschutz DSGVO Christoph Kluss
 
FMK2022 Rechnungen Inkasso - Christoph Kluss
FMK2022 Rechnungen Inkasso - Christoph KlussFMK2022 Rechnungen Inkasso - Christoph Kluss
FMK2022 Rechnungen Inkasso - Christoph Kluss
 
FMK2019 bug off lightning talk by Russell Watson
FMK2019 bug off lightning talk by Russell WatsonFMK2019 bug off lightning talk by Russell Watson
FMK2019 bug off lightning talk by Russell Watson
 
FMK2019 being an optimist in a pessimistic world by vincenzo menanno
FMK2019 being an optimist in a pessimistic world by vincenzo menannoFMK2019 being an optimist in a pessimistic world by vincenzo menanno
FMK2019 being an optimist in a pessimistic world by vincenzo menanno
 
FMK2019 FileMaker Performance Update 2019 by HOnza Koudelka
FMK2019 FileMaker Performance Update 2019 by HOnza KoudelkaFMK2019 FileMaker Performance Update 2019 by HOnza Koudelka
FMK2019 FileMaker Performance Update 2019 by HOnza Koudelka
 
FMK2019 Hardware Integrated by HOnza Koudelka
FMK2019 Hardware Integrated by HOnza KoudelkaFMK2019 Hardware Integrated by HOnza Koudelka
FMK2019 Hardware Integrated by HOnza Koudelka
 
FMK2019 FileMaker Data API mit Node.js nutzen by Adam Augustin
FMK2019 FileMaker Data API mit Node.js nutzen by Adam AugustinFMK2019 FileMaker Data API mit Node.js nutzen by Adam Augustin
FMK2019 FileMaker Data API mit Node.js nutzen by Adam Augustin
 
FMK2019 Layout und Eigene Menüs-Management by Jörg Köster
FMK2019 Layout und Eigene Menüs-Management  by Jörg KösterFMK2019 Layout und Eigene Menüs-Management  by Jörg Köster
FMK2019 Layout und Eigene Menüs-Management by Jörg Köster
 
FMK2019 FileMaker – das Lizenzmodell Alles was Sie wissen wollen by Klemens ...
FMK2019 FileMaker – das Lizenzmodell Alles was Sie wissen wollen by Klemens  ...FMK2019 FileMaker – das Lizenzmodell Alles was Sie wissen wollen by Klemens  ...
FMK2019 FileMaker – das Lizenzmodell Alles was Sie wissen wollen by Klemens ...
 
FMK2019 FM Data Migration Tool by Stefan Tischler
FMK2019 FM Data Migration Tool by Stefan TischlerFMK2019 FM Data Migration Tool by Stefan Tischler
FMK2019 FM Data Migration Tool by Stefan Tischler
 
FMK2019 Waagrechte Scrollbar für Ausschnittreihen erstellen by Gerhard Schwin...
FMK2019 Waagrechte Scrollbar für Ausschnittreihen erstellen by Gerhard Schwin...FMK2019 Waagrechte Scrollbar für Ausschnittreihen erstellen by Gerhard Schwin...
FMK2019 Waagrechte Scrollbar für Ausschnittreihen erstellen by Gerhard Schwin...
 
FMK2019 FileMaker und ESS (MySQL) mit cURL statt ODBC by Philipp Puls
FMK2019 FileMaker und ESS (MySQL) mit cURL statt ODBC by Philipp PulsFMK2019 FileMaker und ESS (MySQL) mit cURL statt ODBC by Philipp Puls
FMK2019 FileMaker und ESS (MySQL) mit cURL statt ODBC by Philipp Puls
 
FMK2019 Softwaretest in Filemaker Programmen by Volker Krambrich
FMK2019 Softwaretest in Filemaker Programmen by Volker KrambrichFMK2019 Softwaretest in Filemaker Programmen by Volker Krambrich
FMK2019 Softwaretest in Filemaker Programmen by Volker Krambrich
 
FMK2019 Indirections - Layout und Eigene Menüs-Management by Jörg Köster
FMK2019 Indirections - Layout und Eigene Menüs-Management by Jörg KösterFMK2019 Indirections - Layout und Eigene Menüs-Management by Jörg Köster
FMK2019 Indirections - Layout und Eigene Menüs-Management by Jörg Köster
 
FMK2019 Fun mit Fenster Und Layouts by Arnold Kegebein
FMK2019 Fun mit Fenster Und Layouts by Arnold KegebeinFMK2019 Fun mit Fenster Und Layouts by Arnold Kegebein
FMK2019 Fun mit Fenster Und Layouts by Arnold Kegebein
 
FMK2019 PSoS - Perform Script on Server Wie einsetzen und wie entwickeln? by ...
FMK2019 PSoS - Perform Script on Server Wie einsetzen und wie entwickeln? by ...FMK2019 PSoS - Perform Script on Server Wie einsetzen und wie entwickeln? by ...
FMK2019 PSoS - Perform Script on Server Wie einsetzen und wie entwickeln? by ...
 

FMK2022 CustomFunctions Fuer Einsteiger - Thomas Hirt

  • 1. www.filemaker-konferenz.com FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Was sind Custom Functions? Wie erstellt man Custom Functions? Thomas Hirt Custom Functions für Einsteiger
  • 2. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Custom Functions für Einsteiger – Thomas Hirt Über den Sprecher • Studium der Biochemie und des Software Engineering • betreut seit 25+ Jahren Kleinunternehmen und Privatkunden in Informatikbelangen • Geschäftsführer und Inhaber der Tek:Guides GmbH • Windows Umgebungen als Hauptbetätigungsfeld • Einsatz von FileMaker als Entwicklungsplattform seit 2009
  • 3. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Custom Functions für Einsteiger – Thomas Hirt Inhalt • FileMaker Funktionen als Grundlage von Custom Functions • Funktionen in der FileMaker Entwicklungsumgebung • Funktionsreferenz in der FileMaker Hilfe • Wie erstellt man Custom Functions? – Teil 1 • Erstellung von Custom Functions • ein ganz einfaches Beispiel • Eigenschaften von Custom Functions • Wie erstellt man Custom Functions? – Teil 2 • wichtige Strukturbausteine • Beispiele als Ideengeber • Wann sind Custom Functions sinnvoll?
  • 4. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Custom Functions für Einsteiger – Thomas Hirt FileMaker Funktionen als Grundlage von Custom Functions
  • 5. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Custom Functions für Einsteiger – Thomas Hirt Funktionen in der FileMaker Entwicklungsumgebung
  • 6. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Custom Functions für Einsteiger – Thomas Hirt Funktionen in der FileMaker Entwicklungsumgebung
  • 7. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Custom Functions für Einsteiger – Thomas Hirt Funktionen in der FileMaker Entwicklungsumgebung ?
  • 8. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Custom Functions für Einsteiger – Thomas Hirt Funktionen in der FileMaker Entwicklungsumgebung
  • 9. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Custom Functions für Einsteiger – Thomas Hirt Funktionen in der FileMaker Entwicklungsumgebung
  • 10. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Custom Functions für Einsteiger – Thomas Hirt Funktionen in der FileMaker Entwicklungsumgebung
  • 11. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Custom Functions für Einsteiger – Thomas Hirt Funktionen in der FileMaker Entwicklungsumgebung
  • 12. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Custom Functions für Einsteiger – Thomas Hirt Funktionen in der FileMaker Entwicklungsumgebung
  • 13. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Custom Functions für Einsteiger – Thomas Hirt Funktionen in der FileMaker Entwicklungsumgebung
  • 14. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Custom Functions für Einsteiger – Thomas Hirt Funktionen in der FileMaker Entwicklungsumgebung
  • 15. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Custom Functions für Einsteiger – Thomas Hirt Funktionen in der FileMaker Entwicklungsumgebung
  • 16. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Custom Functions für Einsteiger – Thomas Hirt Funktionen in der FileMaker Entwicklungsumgebung
  • 17. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Custom Functions für Einsteiger – Thomas Hirt Funktionen in der FileMaker Entwicklungsumgebung
  • 18. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Custom Functions für Einsteiger – Thomas Hirt Funktionen in der FileMaker Entwicklungsumgebung
  • 19. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Custom Functions für Einsteiger – Thomas Hirt Funktionen in der FileMaker Entwicklungsumgebung
  • 20. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Custom Functions für Einsteiger – Thomas Hirt Funktionen in der FileMaker Entwicklungsumgebung
  • 21. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Custom Functions für Einsteiger – Thomas Hirt Funktionsreferenz in FileMaker Hilfe
  • 22. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Custom Functions für Einsteiger – Thomas Hirt Funktionsreferenz in FileMaker Hilfe
  • 23. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Custom Functions für Einsteiger – Thomas Hirt Wie erstellt man Custom Functions? Teil 1
  • 24. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Custom Functions für Einsteiger – Thomas Hirt Erstellung von Custom Functions
  • 25. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Custom Functions für Einsteiger – Thomas Hirt Erstellung von Custom Functions
  • 26. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Custom Functions für Einsteiger – Thomas Hirt Erstellung von Custom Functions
  • 27. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Custom Functions für Einsteiger – Thomas Hirt Erstellung von Custom Functions
  • 28. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Custom Functions für Einsteiger – Thomas Hirt ein ganz einfaches Beispiel • Ausgabe des deutschen Wochentags zu einem Datum • Schritt 1: durchsuchen der FileMaker Funktionen aus dem Bereich "Datum" • Schritt 2: durchsuchen der FileMaker Funktionen aus dem Bereich "Logik", um einen geeigneten Logarithmus zu ersinnen • Kombination der ausgesuchten Funktionen zu einer eigenen "Custom Function" mit dem Namen "Wochentag" und einem Parameter "datum" • Wochentag ( datum )
  • 29. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Custom Functions für Einsteiger – Thomas Hirt ein ganz einfaches Beispiel
  • 30. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Custom Functions für Einsteiger – Thomas Hirt ein ganz einfaches Beispiel • DayOfWeek ( date ) • liefert als Antwort die Zahl 1 für einen Sonntag, 2 für einen Montag, etc. • DayOfWeek ( Date ( 6 ; 18 ; 2020 ) ) • FileMaker erledigt für uns also bereits die eigentliche Berechnung des Wochentags. Wir müssen nur noch die Zahlen der deutschen Bezeichnung zuordnen.
  • 31. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Custom Functions für Einsteiger – Thomas Hirt ein ganz einfaches Beispiel
  • 32. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Custom Functions für Einsteiger – Thomas Hirt ein ganz einfaches Beispiel
  • 33. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Custom Functions für Einsteiger – Thomas Hirt ein ganz einfaches Beispiel
  • 34. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Custom Functions für Einsteiger – Thomas Hirt ein ganz einfaches Beispiel
  • 35. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Custom Functions für Einsteiger – Thomas Hirt ein ganz einfaches Beispiel
  • 36. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Custom Functions für Einsteiger – Thomas Hirt ein ganz einfaches Beispiel
  • 37. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Custom Functions für Einsteiger – Thomas Hirt ein ganz einfaches Beispiel
  • 38. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Custom Functions für Einsteiger – Thomas Hirt ein ganz einfaches Beispiel • Choose ( test ; result0 {; result1 ; result2…} ) • eine Berechnung ("test") muss natürliche Zahlen beginnend mit 0 ausgeben • nach der Berechnung werden der Reihe nach die Werte aufgezählt, welche den Ergebnissen 0, 1, 2, usw. zugeordnet werden • Wir können die Funktionen "Choose" und "DayOfWeek" miteinander kombinieren: Choose ( DayOfWeek ( datum ) - 1; "Sonntag"; "Montag"; "Dienstag"; "Mittwoch"; "Donnerstag"; "Freitag"; "Samstag" )
  • 39. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Custom Functions für Einsteiger – Thomas Hirt ein ganz einfaches Beispiel
  • 40. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Custom Functions für Einsteiger – Thomas Hirt ein ganz einfaches Beispiel
  • 41. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Custom Functions für Einsteiger – Thomas Hirt ein ganz einfaches Beispiel
  • 42. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Custom Functions für Einsteiger – Thomas Hirt ein ganz einfaches Beispiel
  • 43. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Custom Functions für Einsteiger – Thomas Hirt ein ganz einfaches Beispiel
  • 44. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Custom Functions für Einsteiger – Thomas Hirt ein ganz einfaches Beispiel
  • 45. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Custom Functions für Einsteiger – Thomas Hirt ein ganz einfaches Beispiel
  • 46. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Custom Functions für Einsteiger – Thomas Hirt ein ganz einfaches Beispiel
  • 47. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Custom Functions für Einsteiger – Thomas Hirt ein ganz einfaches Beispiel
  • 48. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Custom Functions für Einsteiger – Thomas Hirt Eigenschaften von Custom Functions
  • 49. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Custom Functions für Einsteiger – Thomas Hirt Eigenschaften von Custom Functions • begrenzt im Umfang • Name ≤ 100 Zeichen • max. 30’000 Zeichen • verschachtelte Aufrufe limitiert • max. 50’000 Schleifendurchläufe • max. 50’000 rekursive Aufrufe • max. Verschachtelung gleichzeitig aktiver Aufrufe: 10’000 • Verschachtelungstiefe auf eigenes Risiko mit SetRecursion () änderbar • Limitationen im Prinzip identisch zu Berechnungen • Debugging von Hand im Data Viewer, keine Unterstützung durch Debugger • in andere Lösungen importierbar, Reihenfolge bei Import kritisch
  • 50. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Custom Functions für Einsteiger – Thomas Hirt Wie erstellt man Custom Functions? Teil 2
  • 51. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Custom Functions für Einsteiger – Thomas Hirt wichtige Strukturbausteine Let ( [ wert1 = meineBerechnung1; wert2 = meineBerechnung2; wert3 = meineBerechnung1; ... wertN = meineBerechnungN ]; berechnungRückgabewert )
  • 52. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Custom Functions für Einsteiger – Thomas Hirt wichtige Strukturbausteine If ( bedingung = wert; berechnungRückgabewert1; berechnungRückgabewert2 ) Case ( bedingung1 = wert1; berechnungRückgabewert1; bedingung2 = wert2; berechnungRückgabewert2; ... bedingungN = wertN; berechnungRückgabewertN; berechnungRückgabewertUniversell )
  • 53. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Custom Functions für Einsteiger – Thomas Hirt wichtige Strukturbausteine While ( [ startVariable1 = wert1; startVariable1 = wert1; ... startVariableN = wertN ]; bedingung; [ schleifenVariable1 = berechnung1; schleifenVariable2 = berechnung2; ... schleifenVariableN = berechnungN ]; berechnungRückgabewert )
  • 54. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Custom Functions für Einsteiger – Thomas Hirt wichtige Strukturbausteine Evaluate ( ) Text, welcher zur Laufzeit (z.B. mittels Variablen) zusammengebaut wird und danach als Berechnung interpretiert wird
  • 55. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Custom Functions für Einsteiger – Thomas Hirt wichtige Strukturbausteine Die Strukturelemente "Let", "If", "Case", "While" und "Evaluate" lassen sich beliebig kombinieren und ineinander verschachteln, so dass auch sehr komplexe Berechnungen abgebildet werden können.
  • 56. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Custom Functions für Einsteiger – Thomas Hirt wichtige Strukturbausteine Let ( [ wert1 = If ( bedingung = wert; berechnungRückgabewert1; berechnungRückgabewert2 ); wert2 = meineBerechnung2; wert3 = Evaluate ( XXXXXXXXXXXXXXXXXXXXXX ); wert4 = 123... ]; Case ( bedingungX = wertX; berechnungRückgabewertX; bedingungY = wertY; berechnungRückgabewertY; berechnungRückgabewertUniversell ) )
  • 57. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Custom Functions für Einsteiger – Thomas Hirt Beispiel 1: Alter • Beim erstellen von Custom Function Bibliotheken ist es sinnvoll, die Funktionen thematisch zu gliedern. Der erste Teil des Funktionsnamens ("time.") hat diesen Zweck. • Es wird ein Parameter dateOfBirth übergeben. Es ist wichtig zu überprüfen, ob dieser Parameter ein geeignetes Format hat. time.age ( dateOfBirth )
  • 58. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Custom Functions für Einsteiger – Thomas Hirt Beispiel 1: Alter • Lösungsidee: • Näherungsweise kann das Alter berechnet werden, indem man von der aktuell gültigen Jahreszahl das Jahr des Geburtstages abzieht. • Es muss zusätzlich berücksichtigt werden, ob der Geburtstag im aktuellen Jahr schon vorbei ist oder nicht. time.age ( dateOfBirth ) Jahr Geburtstag aktuelles Jahr - Geburtsjahr aktuelles Jahr - Geburtsjahr - 1
  • 59. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Custom Functions für Einsteiger – Thomas Hirt Beispiel 1: Alter Einfache Methode, um sicherzustellen, dass der übergebene Parameter das richtige Format hat. Let ( [ // aktuelles Datum _today = Get ( CurrentDate ); _todayY = Year ( _today ); _todayM = Month ( _today ); _todayD = Day ( _today ); // Geburtstag _birthday = GetAsDate ( dateOfBirth ); _birthdayY = Year ( _birthday ); _birthdayM = Month ( _birthday ); _birthdayD = Day ( _birthday ); // Geburtstag dieses Jahr schon vorbei? _birthdayPast = Case ( _todayM > _birthdayM; 1; ( _todayM = _birthdayM ) and ( _todayD ≥ _birthdayD ); 1; 0 ) ]; // Altersberechnung If ( _birthdayPast; _todayY - _birthdayY; _todayY - _birthdayY - 1 ) )
  • 60. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Custom Functions für Einsteiger – Thomas Hirt Ausgangsdaten Beispiel 2: Seitenzahlen Ziel • gegeben sei eine Liste von Seitenzahlen in aufsteigender Reihenfolge • Die Seitenzahlen werden durch Absatzmarken getrennt, d.h. pro Zeile findet sich eine Seitenzahl. • Die Liste der Seitenzahlen soll auf einer Zeile dargestellt werden. • Die Seitenzahlen sollen durch Kommas und Abstand voneinander getrennt werden. • Aufeinanderfolgende Seitenzahlen sollen als Serie xx-yy dargestellt werden, um die Liste zu verkürzen.
  • 61. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Custom Functions für Einsteiger – Thomas Hirt Ausgangsdaten Beispiel 2: Seitenzahlen Ziel 5 9 22 23 24 25 51 67 103 104 5, 9, 22-25, 51, 67, 103-104
  • 62. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Custom Functions für Einsteiger – Thomas Hirt Beispiel 2: Seitenzahlen numbers.list.shorten ( listOfNumbers ) While ( [ _shortenedList = ""; _remainingList = listOfNumbers; _lastNumber = 0; _lastNumberWasInSeries = 0 ]; not IsEmpty ( _remainingList ); [ // nächste Zahl in Ausgangsliste merken // Zahl an verkürzte Liste anhängen // Ausgangsliste um 1 Zahl verkürzen ]; _shortenedList )
  • 63. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Custom Functions für Einsteiger – Thomas Hirt Beispiel 2: Seitenzahlen _remainingNumberCount = ValueCount ( _remainingList ); _currentNumber = GetValue ( _remainingList; 1 ); _currentNumberIsInSeries = If ( _currentNumber - 1 = _lastNumber; 1; 0 ); _shortenedList = Case ( IsEmpty ( _shortenedList ); _currentNumber; _currentNumberIsInSeries and _remainingNumberCount = 1; _shortenedList & "-" & _currentNumber; _currentNumberIsInSeries; _shortenedList; _lastNumberWasInSeries; _shortenedList & "-" & _lastNumber & ", " & _currentNumber; _shortenedList & ", " & _currentNumber ); _lastNumber = _currentNumber; _lastNumberWasInSeries = If ( _currentNumberIsInSeries; 1; 0 ); _remainingList = RightValues ( _remainingList; _remainingNumberCount-1 )
  • 64. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Custom Functions für Einsteiger – Thomas Hirt While ( [ _shortenedList = ""; _remainingList = listOfNumbers; _lastNumber = 0; _lastNumberWasInSeries = 0 ]; not IsEmpty ( _remainingList ); [ _remainingNumberCount = ValueCount ( _remainingList ); _currentNumber = GetValue ( _remainingList ; 1 ); _currentNumberIsInSeries = If ( _currentNumber - 1 = _lastNumber ; 1 ; 0 ); _shortenedList = Case ( // This is the 1st iteration. IsEmpty ( _shortenedList ); _currentNumber; // The current number belongs to an active series of neighbouring numbers. // The current number is the last number in the list. _currentNumberIsInSeries and _remainingNumberCount = 1; _shortenedList & "-" & _currentNumber; // The current number belongs to an active series of neighbouring numbers. _currentNumberIsInSeries; _shortenedList; // The current number does not belong to an active series of neighbouring numbers // but the last number did. Hence, the last number terminates a series. _lastNumberWasInSeries; _shortenedList & "-" & _lastNumber & ", " & _currentNumber; // Neither the last nor the current number belongs to a series of neighbouring numbers. // We can simply add the current number. _shortenedList & ", " & _currentNumber ); _lastNumber = _currentNumber; _lastNumberWasInSeries = If ( _currentNumberIsInSeries ; 1 ; 0 ); _remainingList = RightValues ( _remainingList ; _remainingNumberCount - 1 ) ]; _shortenedList ) Beispiel 2: Seitenzahlen
  • 65. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Custom Functions für Einsteiger – Thomas Hirt Wann sind Custom Functions sinnvoll?
  • 66. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Custom Functions für Einsteiger – Thomas Hirt eher sinnvoll Wann sind Custom Functions sinnvoll? eher nicht sinnvoll • wiederverwenbar • klar umrissene Funktion • wenige bis gar keine Abhängigkeiten • nicht allzu umfangreich und lang • Fälle zum Testen gut erstellbar, Testaufwand überschaubar (Stichwort: "Unit Tests") • einmalige Verwendung • Abhängigkeiten zwingend gegeben • komplex oder sehr komplex • Funktionalität nicht nachvollziehbar (Stichtwort: "Black Box") • Testaufwand gross bis sehr gross
  • 67. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Custom Functions für Einsteiger – Thomas Hirt Custom Functions Wann sind Custom Functions sinnvoll? FileMaker Skripten • klar umrissene Funktionen • wenige bis gar keine Abhängigkeiten • nicht allzu umfangreich und komplex • FileMaker Funktionen als Basis • Kommentare im Code zwar möglich, aber nicht wirklich vorgesehen • Testing von Hand im Data Viewer • alle Arten von Algorithmen • mit oder ohne Abhängigkeiten • ganz simpel bis sehr komplex • FileMaker Skriptschritte und FileMaker Funktionen als Basis • umfangreiche Kommentare im Code problemlos möglich • Testing mit Hilfe des Debuggers
  • 68. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Custom Functions für Einsteiger – Thomas Hirt Q & R Vielen Dank für Ihr Interesse!
  • 69. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Custom Functions für Einsteiger – Thomas Hirt Links auf Tools • Custom Function Sammlungen • https://www.briandunning.com/filemaker-custom-functions/ • https://github.com/chivalry/filemaker-custom-functions • https://github.com/jbante/FileMaker- Techniques/tree/master/CustomFunctions • kostenlose Text-Editoren für Entwickler • https://notepad-plus-plus.org/ (Windows) • https://code.visualstudio.com/ (Win, macOS, Linux) Plugin für FileMaker Code Highlighting verfügbar
  • 70. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Custom Functions für Einsteiger – Thomas Hirt Vielen Dank unseren Sponsoren