Add-On Lab FREE für FileMaker

Add-On Lab FREE für FileMaker

Erstelle FileMaker Add-ons im Handumdrehen


29. April 2021In Add-onsBy Karsten Risseeuw2 Minutes

FileMaker Add-Ons sind eine geniale Möglichkeit, die eigene Entwicklung mit fixfertigen Bausteinen zu vereinfachen. Das Konzept für Add-ons ist bestechend, denn erstmals können FileMaker Entwickler auch selbst sehr einfach Add-ons erstellen. Das neue «Add-On Lab FREE» zeigt wie man das macht und fasst viele Informationen zu FileMaker Add-ons zusammen.

Add-ons sind modulare Bausteine, die man in FileMaker leicht importiert und per Drag-and-drop auf die Seite platziert. Add-ons zu erstellen ist sinnvoll, denn damit lassen sich auch eigene Bausteine für nächste Projekte bereitstellen. Wer bislang bei Claris den Eindruck erhielt, dass Add-ons immer mit Javascript zu tun haben und furchtbar kompliziert sind, verkennt die Kraft der Idee. Es geht nicht um Javascript oder um hochkomplexe Lösungen, sondern es geht darum, Bausteine zu erstellen und zu nutzen. Das können sehr einfache Lösungen in FileMaker sein.

Ein Add-on erstellt man in einer eigenen Datei. Dann exportiert man die Datei als Add-on und schon lässt sich die Funktion inklusive Tabellen, Layouts, Scripts und Custom Functions direkt in andere Dateien integrieren.

Add-On Lab FREE

Das kostenlose Tool «Add-On Lab FREE» ist eine FileMaker-Datei und bietet zwei Dinge:

  1. Erstelle ein Add-on einer offenen FileMaker Datei
  2. Alle verfügbaren Informationen darüber, wie man Add-ons erstellt.

Bislang hat Claris kaum Informationen über Add-ons freigegeben. Viele Details sind unbekannt. Wertvolle Informationen finden sich aktuell auf geistinteractive.com und einige weitere Websites. Dort sind die Informationen in verschiedenen Beiträgen erklärt. Die gesammelte Information zur Add-on-Erstellung haben wir in dieser Datei kurz und knapp zusammengefasst.

Add-On Lab PRO

Bald gibt es auch eine Pro-Version, womit sich zusätzlich Add-ons verwalten und Informationen anpassen lassen. Wer die kostenlose Information herunterlädt wird automatisch informiert, wann die Pro-Version verfügbar wird.

Download Links für kostenlose Produkte werden per E-Mail zugesandt. Es findet eine E-Mail-Prüfung statt. Sie benötigen eine gültige und permanente E-Mail-Adresse.

Add-On Lab FREE (DE) (#2)

Kostenloser Download

Bitte füllen Sie dieses Formular aus. Der Download Link wird Ihnen per Email zugeschickt.


FileMaker Scripts für verschiedene Aufgaben gleichzeitig nutzen

FileMaker Scripts für verschiedene Aufgaben gleichzeitig nutzen

So erreichst Du mehr mit Deinen FileMaker Scripts


7. April 2021In TippsBy Karsten Risseeuw7 Minutes

FileMaker Scripts dienen dazu, Abläufe zu standardisieren. Es ist die «Programmiersprache» von FileMaker, wenn man so will. Meist werden Aktionen durch Klick auf ein Button ausgelöst. Ein Script im Hintergrund erfüllt dann die Aufgabe. Arbeitsabläufe lassen sich so besonders einfach erstellen. Bei einer wachsenden Applikation wachsen auch die Anzahl Scripts, bis es unter Umständen Hunderte Scripts gibt. Schnell wird so etwas unübersichtlich. Dabei bestehen viele Scripts oft nur aus ein paar Zeilen. Kann man dies vereinfachen?

Ja, man kann Scripts vereinfachen. Folgende Vorgehensweisen haben sich bei mir bewährt:

  1. Scripts möglichst pro Layout erstellen
  2. Scripts möglichst pro Tabelle gruppieren
  3. Verschiedene kleinere Scripts in einem Script zusammenfassen.

Die Basisidee soll immer sein, kleinere Einheiten zu erstellen, die man gut prüfen kann, um diese dann für grössere Aufgaben zusammenzufassen.

Alle Scripts mit Wenn-Abfragen steuern

Als Faustregel wird bei mir jedes Script mit einem Scriptparameter aufgerufen. Ruft man ein Script ohne Scriptparameter auf, dann geschieht gar nichts. Die Funktionalität steht immer in einer Wenn-Abfrage. Das erhöht nicht nur die Sicherheit, sondern erlaubt auch die Verwendung des einen Scripts für mehrere Aufgaben.

Viele Scripts erledigen nur kleinere Aufgaben. Beispielsweise habe ich oft eine Seite mit Einstellungen, die ich anpassen kann. Diese Einstellungen kann ich sichern und wieder einlesen. Problemlos lassen sich beide Aufgaben (sichern/einlesen) in einem einzigen Script unterbringen. Beispielsweise so:

In diesem Screenshot ist eine vereinfachte Darstellung. Ganz oben steht der Name des Scripts. Dort kann man noch mehr Informationen ergänzen, wenn man will. Darunter gibt es eine Liste mit allen Script-Parametern, womit das Script aufgerufen werden kann. Das dient der Übersichtlichkeit und ist gleichzeitig so etwas wie ein Index zum Script. Die Script-Parameter zeigen die Abschnitte im Script. Erst danach folgt die eigentliche Funktionalität.

  1. Script-Name
  2. Liste mit Script Parametern, womit das Script aufgerufen werden kann
  3. Die eigentliche Funktionalität in Wenn-Abfragen.

Jeder Abschnitt erscheint dann mit einer Wenn-Abfrage. Möchte ich beispielsweise in einem Script das Lesen und Schreiben von Voreinstellungen erledigen, könnte das Script so aussehen:

Wenn [ Hole ( ScriptParameter ) = “schreiben” ]
*** HIER DIE LOGIK ***
Ende

Wenn [ Hole ( ScriptParameter ) = “lesen” ]
*** HIER DIE LOGIK ***
Ende

Damit erhalte ich ein Script, womit ich verschiedene Aufgaben lösen kann. Das reduziert die Anzahl Scripts. Ich habe Scripts, die oft bis zu einem Dutzend kleinere Aufgaben erledigen. Das ist keine Vorgabe, sondern eine Möglichkeit, sich die Arbeit zu erleichtern.

Teilaufgaben nutzen

Mit dieser Vorgehensweise lassen sich Teilaufgaben sauber trennen und trotzdem zusammenhalten. Statt ein Script mit vielen Unterscripts zu nutzen, können die Aufgaben vielleicht in einem Script zusammengefasst werden. Jede Wenn-Abfrage kann eine Teilaufgabe sein. Das hält die Scripts übersichtlich und man kann Teilaufgaben nacheinander oder einzeln abrufen.

Teilaufgaben können auf zwei Arten aktiviert werden:

  1. Man ruft aus dem Script dasselbe Script mit einem anderen Parameter auf
  2. Man ergänzt eine Wenn-Abfrage mit einem weiteren Parameter, der dann weiter unten im Script aufgegriffen wird.

Zur zweiten Variante hier eine Erklärung: Selbstverständlich sollen Script-Parameter beim ersten Aufruf des Scripts gesetzt werden. Das hält jedoch nicht davon ab, im Verlauf des Scripts immer den nächsten Schritt anzugeben – beispielsweise mit einer Variablen.

Wenn [ Hole ( ScriptParameter ) = “schreiben” ]
*** HIER DIE LOGIK ***
Variable setzen [ $NextStep ; Wert: “output” ]
Ende

Hier wird am Ende einer Wenn-Abfrage eine Variable gesetzt mit dem Stichwort “output”. Diese Variable soll auf den nächsten Schritt mit dem Namen “output” hinweisen. Insofern dieser Abschnitt in einer weiteren Wenn-Abfrage enthalten ist, sollte nach dem Abschluss des ersten Abschnitts, nun der zweite Abschnitt aktiviert werden. Das kann man beispielsweise so machen:

Wenn [ Hole ( ScriptParameter ) = “output”  oder  $NextStep = “output” ]
*** HIER DIE LOGIK ***
Ende

Die Ergänzung bei der Wenn-Abfrage ist nun so formuliert, dass man diesen Teil entweder mit einem ScriptParameter oder mit einer lokalen Variable aus dem Script ansteuern lässt. So lassen sich in einem Durchlauf mehrere Abschnitte «abarbeiten», ohne, dass man das Script mehrfach abrufen muss.

Machen diese Angaben einen Sinn? Das ist vielleicht nicht nur eine Frage des Programmierstils, sondern hängt ebenso mit der Art von Projekten zusammen, wofür man arbeitet. Bei mir steht immer die Frage voran: «Wie halte ich alles so einfach wie möglich?».

Warum sollte man dies anwenden?

Nachdem ich den Text hier oben auf Social Media gepostet hatte, wurde die Frage gestellt «Warum sollte man dies anwenden?». Ich wurde mir bewusst, dass ich noch nichts über die Gründe gesagt hatte, wieso ich zu dieser Strukturierung kam. Dazu nun hier ein paar Worte:

Zuerst einmal ist es einfach eine (von vielen) Methoden, Scripts zu schreiben. Es sind keine Vorgaben. Bei mir waren es verschiedene Erfahrungen, die zu dieser Methode geführt haben:

Herausforderungen

  1. In grösseren Datenbanken hatte ich Hunderte Scripts. Viele davon waren nur ein paar Zeilen gross.
  2. Öfters hatte ich dieselbe Funktion an mehreren Orten integriert oder ich hatte mehrere Scripts dafür im Einsatz.

«Je grösser» bedeutete nun auch «desto unübersichtlicher». Deswegen hatte ich folgende Anliegen:

Optimierungswünsche

  1. Reduziere die Anzahl Scripts
  2. Vermeide Redundanzen bei den Funktionen
  3. Erleichtere die Gesamtstruktur aller Scripts
  4. Optimiere die Möglichkeiten jedes einzelnen Scripts.

Die Ideen einer modularen Entwicklung von FileMaker Funktionen zeigten mir auf, wie das möglich ist. Insbesondere folgende Ansätze erwiesen sich als hilfreich:

Umsetzung

  1. Gruppiere Scripts möglichst nach Tabelle / Layout
  2. Reduziere Scripts idealerweise auf die «eigenen» Tabellen / Layouts
  3. Fasse mehrere Funktionen pro Tabelle / Layout in einem einzigen Script zusammen
  4. Jedes Script hat so mehrere «Teile», die durch einen ScriptParameter angesteuert werden können.

Soll dies jetzt eine rigide Regel sein? Nein. Es hat bei mir jedoch alle Scripts vereinfacht und die Anzahl Scripts drastisch reduziert. Als Methode hat sich das bei mir bewährt.


Wie verarbeitet man Textdateien mit versteckten BOM-Zeichen in FileMaker?

Wie verarbeitet man Textdateien mit versteckten BOM-Zeichen in FileMaker?

Beispieldatei


23. März 2021In BeispieleBy Karsten Risseeuw2 Minutes

BOM-Zeichen sind unsichtbare Zeichen, die einer Textdatei als Zusatzinformation mitgegeben werden können. Sie werden beispielsweise zur Definition einer bestimmten Textkodierung eingesetzt. In FileMaker Add-ons werden JSON-Dateien mit einem solchen BOM-Zeichen versehen. Diese Beispieldatei zeigt, wie man damit umgehen kann.

FileMaker Add-ons nutzen JSON-Dateien mit BOM-Zeichen

BOM-Zeichen sind unsichtbar. Wer ein Text mit einem BOM-Zeichen in einem normalen Texteditor aufmacht, sieht dieses Zeichen nicht. Trotzdem kann das Zeichen darüber entscheiden, ob eine Datei erkannt wird oder nicht erkannt wird. Die JSON-Dateien eines FileMaker Add-ons kann man problemlos mit FileMaker verarbeiten. Will man die Information wieder in eine JSON-Datei speichern, beginnen die Probleme. Das hat nichts damit zu tun, ob man den Text mit der richtigen Kodierung speichert, sondern es braucht eine Zusatzinformation – die des BOMs. Fehlt das BOM, kann Filemaker das Add-on nicht mehr erkennen.

Wie man ein BOM-Zeichen ausfindig machen kann

BOM-Zeichen werden sichtbar, wenn man eine Textdatei mit Hexadezimal-Kodierung aufmacht. Dadurch bleiben alle Teile des Textes erhalten – nicht nur der Text, sondern auch verborgene Zeichen. «Hex Fiend» auf Mac ist beispielsweise ein Editor, der Dateien so darstellen kann. Im Screenshot hier unten sieht man links das BOM (die ersten 6 Zeichen: EF BB BF). Im rechten Teil wird das durch drei … dargestellt. In normalen Texteditoren fehlen diese Hinweise.

JSON file from a FileMaker Add-on opened in Hex Fiend.

Was sind BOM-Zeichen?

BOM steht für Byte Order Mark und ist eine Markierung im Text. Von Wikipedia stammt die folgende Beschreibung:

«Als Byte Order Mark (BOM; deutsch Byte-Reihenfolge-Markierung) wird eine charakteristische Bytefolge am Anfang eines Datenstroms bezeichnet, die das Unicode-Zeichen U+FEFF (englisch zero width no-break space) codiert.»

Der ganze Beitrag auf Wikipedia beschreibt die Art des Zeichens sowie verschiedene Varianten. Mehr dazu auf > Wikipedia

Beispieldatei für eine Verarbeitung mit FileMaker

Eine kostenlose Beispieldatei zeigt, wie man die Informationen einer externen Textdatei lesen und inklusive eines BOM-Zeichens wieder schreiben kann.

BOM-characters (DE) (#7)

Kostenloser Download

Bitte füllen Sie dieses Formular aus. Der Download Link wird Ihnen per Email zugeschickt.


Macbook and accessoires. Home office.

Eine zentrale Website für FileMaker Entwickler

Eine zentrale Website für FileMaker Entwickler

Vereinfacht und fokussiert: fmstarter.com wird nun weiter wachsen


15. März 2021In AllgemeinBy Karsten Risseeuw2 Minutes

Die Website fmstarter.com wird ausgebaut. In den letzten Jahren gab es hier vorwiegend kostenlose Tools. Kommerzielle Lösungen wurden via kursiv-software.com verkauft. Das ändert sich jetzt. Die Website fmstarter.com wird sich auf FileMaker Entwickler richten und dazu alles integrieren, was es dazu braucht.

Vision und Mission

Die Vision für diese Website ist schnell erzählt: Hier werden künftig alle Informationen und Produkte für FileMaker Entwickler erscheinen. In der Vergangenheit wurden kommerzielle Produkte über unseren Shop auf kursiv-software.com verkauft. Das hat sich dieses Jahr bereits geändert. Alles FileMaker-Produkte sind jetzt auf fmstarter.com erhältlich.

Die Mission ist ebenso einfach: Wir wollen die Entwicklung mit FileMaker vereinfachen. Jeder soll mit Spass und Erfolg mit FileMaker arbeiten können. Dazu werden kostenlose Beispieldateien aber auch kommerzielle Produkte angeboten. In Vorbereitung ist ebenfalls ein Online-Kursangebot.

FileMaker und Low-Code

FileMaker ist ein Low-Code-Produkt. Auch ohne Programmierkenntnisse kann man schnell eine Lösung aufbauen, mit der man Geschäftsabläufe vereinfachen kann. Dabei bleibt es natürlich nicht. Mit steigenden Anforderungen benötigt man bessere Grundlagen und mehr Know-How. Das ist der Punkt, an dem Kursiv Software einsteigt. Unsere Erfahrung macht Ihren Einstieg in die Welt von FileMaker deutlich einfacher. Nicht nur das, auch routinierte FileMaker Entwickler profitieren von unseren Lösungen, weil sie Abläufe beschleunigen oder solide Grundlagen für neue Projekte bieten.

Newsletter für FileMaker Entwickler

Eine weitere Neuerung ist der Newsletter, der jetzt speziell nur für FileMaker Entwickler gemacht wird. Auf der deutschen Seite dieser Website kann man den deutschen Newsletter abonnieren, während auf der englischen Seite der Website der englische Newsletter angeboten wird.

Bauen für die Zukunft

Wer Software baut, der baut für die Zukunft. Was ich heute mache, bringt mich morgen weiter. Deshalb lohnt es sich, in FileMaker zu investieren. Die Plattform ist stabil, vielseitig und bereits seit Jahrzehnten erfolgreich. Kursiv Software will in diesem Ökosystem ein paar Dinge beitragen. Dafür dient diese Website.

Wer sollte unsere Website noch kennenlernen?


Wie sich iPad und iPhone in FileMaker erkennen lassen

Wie sich iPad und iPhone in FileMaker erkennen lassen


10. Februar 2021In FM Starter, TippsBy Karsten Risseeuw1 Minutes

Erstellt man eine Datei für iOS-Geräte, muss man dort vermutlich unterscheiden können zwischen iPhone und iPad. Beim Starten der Datei muss man eine Abfrage erstellen, aufgrund dessen ein Layout für iPhone oder iPad angesteuert wird. Dies soll möglich sein mit der Statusabfrage:

Hole ( ProgrammVersion )

Läuft die Datei auf dem iPhone, ist das Resultat «Go», während es auf dem iPad das Resultat «Go_iPad» zurückmeldet. Eine komplette Abfrage lässt sich laut der FileMaker Hilfe wie folgt erstellen:

MusterAnzahl ( Hole ( ProgrammVersion ) ; “Go” ) für iPhone, und
MusterAnzahl ( Hole ( ProgrammVersion ) ; “Go_iPad” ) für iPad

Baut man diese Abfrage ein, zeigt sich, dass dies nicht gut funktioniert. Beide Anfragen erkennen nur ein iPhone. Das ändert sich auch nicht, wenn man statt “Go_iPad” nur noch “iPad” für die Mustererkennung eingibt.

Eine einfache Lösung besteht darin, lediglich für iOS zu suchen und dann pro Abfrage explizit das Gerät zu eruieren:

Hole ( Gerät ) = 4, für iPhone
Hole ( Gerät ) = 3, für iPad

Dies funktioniert tadellos.

Anpassung für FM Starter

Im nächsten Update von FM Starter wird dies für die Navigation angepasst. Wer das heute bereits anpassen möchte, muss dies hier anpassen:

Script: GN GetSystemLayout, line 25.

Let (
a = Get ( ApplicationVersion ) ;

Case (
PatternCount ( a ; “Pro” ) ; 1 ;
Get ( Device ) = 4 ; 2 ;
Get ( Device ) = 3 ; 3 ;
PatternCount ( a ; “Web” ) ; 4 ;
1 )
)


42'000 Downloads

42'000 Downloads


21. Januar 2021In AllgemeinBy Karsten Risseeuw1 Minute

Erstaunlich! Bis Anfang 2021 wurden die Beispieldateien und FileMaker Module dieser Website über 42’000 Mal heruntergeladen. Das zeigt, dass FileMaker Entwickler weltweit auf der Suche nach guten Lösungen, nach Einstiegshilfen, Startdateien und Beispielen sind.

FM Starter wird erweitert werden

Nun geht es in die zweite Runde. Der Zähler wird zurückgesetzt. Die Website wird nach und nach überarbeitet. Einige ältere Dateien verschwinden, dafür werden regelmässiger neue Beiträge erscheinen. Ausserdem bereiten wir gerade noch etwas vor, was speziell FileMaker Entwickler weiterhelfen wird. Darüber wird hier jedoch noch nichts verklickert.

Warten Sie ab!


Card windows in FileMaker Pro

Card windows in FileMaker Pro


Beispieldatei und Video-Einführung.

Dieses Beispiel entstand auf Basis eines Vortrags mit dem Titel «UFO’s und Card Windows» für fmnext.ch im November 2020. Was haben UFOs mit Card Windows in FileMaker zu tun? Auf den ersten Blick nicht viel. Auf einen zweiten Blick jedoch lassen sich ein paar Übereinkünfte entdecken, wodurch sich die Eigenheiten der Card Windows besser verdeutlichen lassen.

Wie funktionieren Card Windows in FileMaker Pro?

Card Windows wurden erstmals in FileMaker Pro 16 introduziert. Es war eine neue Art von Fenster. Wenn man in einem Script den Befehl «Neues Fenster» benutzt, kann man den Typ des Fensters angeben. Neu wurde da den Typ «Karte» angegeben. Das Card Window war geboren. Zuerst einmal wurden Card Windows in FileMaker Pro für Mac und Windows eingebaut. Die Anwendung für einen Desktop Computer ist perfekt. Aussen vor blieb damals WebDirect, die Internet-Ausgabe von FileMaker. Claris hat mit FileMaker Pro 19 nun auch WebDirect für Card Windows tauglich gemacht.

«UFOs und Card Windows»

Unter dem Titel «UFOs und Card Windows» gibt es jetzt eine Einführung in Card Windows von Kursiv. Dazu gehört die Beispieldatei, die im Video gezeigt wird. Der Download-Link finden Sie unterhalb vom Video.

Card Windows in FileMaker
Card Windows in FileMaker

Beispieldatei. Benötigt FileMaker Pro 19.
Sample file. Requires FileMaker Pro 19.

Größe: 2 MB
Version: 1.31

Update: FM Registrations 1.5 freigegeben

Update: FM Registrations 1.5 freigegeben

Einfacher und besser dokumentiert


15. Oktober 2020In FM RegistrationsBy Karsten Risseeuw2 Minutes

FM Registrations 1.5 ist ein grösseres Update, obwohl sich technisch nicht viel geändert hat. Dies sind die Änderungen im aktuellen Update:

  • Benutzeroberfläche vereinfacht
  • Neue Handbücher Deutsch und Englisch
  • Neue Videos Deutsch und Englisch
  • Anpassung Verfalldatum im Code
  • Aktualisierte Beispieldatei.

Für aktuelle Benutzer ist das Update kostenlos, soweit der Kauf nicht länger als ein Jahr zurückliegt. Das Update kann direkt über das eigene Konto auf kursiv-software.com heruntergeladen werden.

Einfachere Handhabung

FM Registrations wurde mit diesem Update rundum modernisiert. Es gibt eine einfachere Benutzeroberfläche und die Arbeitsabläufe wurden optimiert. Insgesamt wird die Handhabung sowie die Implementierung in die eigene FileMaker Applikation vereinfacht.

Verfalldatum wird als Zahl gespeichert

FM Registrations bietet die Möglichkeit ein Verfalldatum in dem Lizenzcode mitzugeben. Das ist insbesondere dann interessant, wenn man die Software beispielsweise mit Jahreslizenzen verkauft. Nun speichert FileMaker jedoch eine Lokalinformation in jeder Datei, die auch dann beibehalten bleibt, wenn man die Datei an einem anderen Ort aufmacht und nutzt. FM Registrations hat eine europäische Datumsformatierung. Wurde die Datei in den USA aufgemacht, wurde ein definitives Verfalldatum nicht im amerikanischen Format, sondern im europäischen Format (entsprechend der Lokale in der FileMaker Datei) gespeichert. Das konnte zu falschen Datumsangaben führen. Mehr dazu auch im Beitrag «Datumsformatierung in FileMaker».

Neu wird ein definitives Verfalldatum als absolute Zahl im Code eingebunden. Damit werden die Probleme der Lokale Information umgangen. Das Datum wird durch LiesAlsZahl ( [Datum] ) in eine Zahl umgewandelt. Die Rückwandlung erfolgt durch LiesAlsDatum ( [ZAHL] ) und muss vom Entwickler so in der eigenen Lösung berücksichtigt werden.

Die aktualisierte Beispieldatei zeigt, wie dies funktioniert.

FM Unlock

In der Beispieldatei befindet sich das Freischaltmodul. Dies wurde nach «FM Unlock» umbenannt, damit die Funktion auf Anhieb ersichtlich ist. Das Modul «FM Unlock» muss vom Entwickler in die eigene Datei integriert werden, damit Lizenzcodes von FM Registrations korrekt ausgewertet werden.

Verschlüsselung und Entschlüsselung geschehen mithilfe eines geheimen Codes, der mit der Applikation «FM Registrations» erstellt werden. Mehr dazu auf der Produktseite.

Auf der Produktseite befinden sich auch die Handbücher sowie alle neue Videos zum Produkt.


Datumsformatierung in FileMaker

Datumsformatierung in FileMaker


Beispieldatei. Die Bedeutung der Lokalisierung

Die Lokal-Information in jeder FileMaker-Datei

Datumsangaben in Europa und beispielsweise in den Staaten sind unterschiedlich.

Die Angabe «01.10.2020» wird in Europa als «1. Oktober 2020» interpretiert,
jedoch in den Staaten als «10. Januar 2020».

Damit FileMaker weiss, wie es eine Datumsangabe verstehen soll, wird beim Anlegen einer Datei die lokale Information als fixe Angabe in der Datei verankert. Das ermöglicht einerseits eine Interpretation des Datums, aber sollte sich die Datei später einmal auf einem anderen Betriebssystem öffnen, kann FileMaker neue Datumseingaben abgleichen (zwischen Systemeinstellungen und die in der Datei verankerten Information). Damit wird die Integrität verschiedener Datumseingaben gewährleistet.

Weil es weltweit verschiedene Interpretationen von Datums- und Zeitangaben gibt, verwaltet das Betriebssystem verschiedene Möglichkeiten. FileMaker setzt die Systemeinstellungen der Formatierung (die Lokal-Information) in die Datei, sobald sie erstellt wird.

Regionale Einstellungen

FileMaker setzt einen Fixpunkt für die Interpretation des Datums, und dieser Fixpunkt (oder Lokal-Information) ändert sich nicht, wenn die Datei auf einem System mit anderen Datumsformatierungen aufgemacht wird. Intern bleibt der Fixpunkt bestehen, auch wenn ein Datum aufgrund eines anderen Betriebssystems anders eingegeben wird.

Beispiel
Wird eine FileMaker-Datei in Europa angelegt, dann aber in den USA geöffnet, gibt es folgende Situation: Intern in der Datei wurde die Datumsinterpretation auf das europäische TAG/MONAT/JAHR eingestellt. Beim Anwender in den USA sind die Systemeinstellungen jedoch MONAT/TAG/JAHR. In Datumsfeldern ist das kein Problem – FileMaker kann die Darstellung (!) anpassen. Intern jedoch bleibt die europäische Struktur erhalten. Dies kann zu Problemen führen.

Datumsberechnungen sind unberechenbar

Probleme gibt es bei Datumsberechnungen, wenn die Einstellungen der Datei anders sind als die des Benutzers. Als Download werden hier zwei Beispieldateien mitgeliefert: Es ist dieselbe Datei, jedoch einmal als Datei mit europäischer Referenz und einmal als Datei mit amerikanischer Referenz. Öffnet man eine Datei, dann passiert folgendes:

Wenn man die Datei öffnet die nicht zu den eigenen Systemeinstellungen gehört, passiert folgendes: Datumsangaben nach Textfeldern geschrieben erhalten die Datei-interne Formatierung (die falsch ist). Probleme gibt es auch bei Datumsberechnungen. Am besten sieht man das, wenn man beide Dateien parallel öffnet.

In diesem Beispiel: Das System läuft mit EU-Einstellungen. Die EU-Datei ist OK.

In diesem Beispiel: Das System läuft mit EU-Einstellungen. Die Datei jedoch wurde mit amerikanischen Einstellungen erstellt. Jetzt sind die Datumsberechnungen nicht mehr OK.

Neutrale Speicherung von Datumsangaben

Ein Datum lässt sich nicht nur als «Datum» abspeichern, sondern auch als «Datumsnummer». FileMaker zählt die Tage ab dem 1. Januar vom Jahr 0001. Jedes Datum seitdem lässt sich deshalb als Nummer darstellen. Diese Nummer ist von keiner Formatierung abhängig. Das Datum lässt sich so als Nummern definieren:

LiesAlsZahl ( [DATUM] )

Damit man diese Zahl wieder zum Datum zurückwandeln kann, gilt:

LiesAlsDatum ( [ZAHL] )

Mit diesen zwei Angaben lassen sich also Datumsangaben neutral speichern, oder als Zahl von einer Datei in die nächste transferieren. Bei der Rückwandlung zu einem Datum gelten dann die Datumseinstellungen dieser Datei wo sie interpretiert wird.

Beispiel
Der 1. Oktober 2020 hat die Zahl «737699». In einer europäischen Datei wird sie zu «01.10.2020» umgewandelt, während die Umwandlung in einer amerikanischen Datei zu «10.01.2020» erfolgt.

Entfernung der lokalen Information

Die lokale Information, die FileMaker beim Erstellen einer Datei speichert, kann nicht abgeändert werden. Es gibt lediglich eine Methode, die Datei wieder «zurückzusetzen», nämlich, indem man ein leerer Klon der Datei erstellt.

In der Beispieldatei gibt es einen Knopf, womit ein solcher Klon sehr einfach erstellt werden kann. Die Lokalinformation der Datei wird beim Öffnen neu gesetzt und ist deshalb abhängig vom jeweiligen System, das der Benutzer verwendet. Mit der Klon-Funktion lässt sich das Verhalten in verschiedenen Systemumgebungen relativ leicht testen.

Datum neutral programmieren

Keine FileMaker-Datei ist heute neutral hinsichtlich der Datumsverarbeitung. Mann kann sich aber überlegen, ob man eine neutrale Entwicklung neuer Lösungen anstreben sollte (mithilfe der Datumsnummer).

Neue Funktionen ab FileMaker Pro 19.1

Claris hat in der letzten Version zwei wichtige Funktionen hinzugefügt:

  • Get ( SystemLocaleElements)
  • Get ( FileLocaleElements )

Mit diesen zwei Funktionen erhält man jeweils eine komplette Übersicht aller Einstellungen, schön verpackt in JSON – einmal vom System und einmal von der Datei. Daraus lassen sich beispielsweise die aktuellen Daten aus dem System auslesen und diese für Rückmeldungen, Formatierungen oder anderes verwenden.

Es geht um Systemeinstellungen und Dateieinstellungen. Aussen vor bleiben selbstverständlich programmierte Eigenheiten, wie Spracheinstellungen einer mehrsprachigen Lösung.

Date Formatting
Date Formatting

Datumsformatierung. Benötigt FileMaker Pro 19.
Date formatting. Requires FileMaker Pro 19.

Größe: 99 kB
Published: 3. März 2021

Dateipfade in FileMaker – die Basics

Dateipfade in FileMaker – die Basics


Dateipfade dienen in FileMaker dazu, etwas ausserhalb von FileMaker zu tun. Beispielsweise etwas zu importieren oder zu exportieren. Wie Dateipfade erstellt werden, zeigt diese Beispieldatei. Gleich werden auch ein paar Anwendungsbeispiele mitgeliefert, wie man Bilder, Videos, Texte oder andere Dateien importiert.

In dieser Beispieldatei geht es um:

  • Dateipfade in FileMaker
  • Import und Export
  • Import einzelner Dateien oder von ganzen Ordnern
  • Einfache Scripts für Basisfunktionen.
  • Dateinamen aus Containern extrahieren
  • Dateinamen für Export berechnen

FilePath Basics
FilePath Basics

Dateipfade in FileMaker. Beispieldatei. Benötigt minimal FileMaker Pro 18.
File paths in FileMaker. Requires FileMaker Pro 18 or higher.

Größe: 130 kB
Version: 1.20
Published: 3. März 2021