So sieht der Original FileMaker Pro Einblendkalender aus:


Hier geht es um eine alternative, leistungsfähige Idee.
Hier geht es um den Arc Einblendkalender …
 
 
 
 
 
 
 
 
 
 
 
 
– sehen Sie bitte weiter unten in den FMM-Artikel
– und in die darauf folgende Weiter-Entwicklung … :-)

So sieht der Arc Einblendkalender aus - Einsteller Uhrzeit. Jetzt mit analoger Uhr

 


Inhalt:

Impressum

FileMaker-Magazin: Einblendkalender FMM 201505 Nov.-Dez. 2015 Seite 11-13

Arc Einblendkalender in Bildern

Zeitspanne/Dauer (und deren Berechnung)

Format

Plazierung

Ergänzung bestehender Projekte

Fensterorganisation

Internes Beispiel

Externes Beispiel

Einfache Verbindung

Allgemeine Auslösung

Download

Schnelltest

Nachüberlegung


Fehlerbehebung und Verbesserungen

Uhr



Arc Einblendkalender

Entwicklung

Werkwelt.de
ARC
Norbert Lindenthal
Bad Ems

Tel.:      02603 506054

E-Mail: arc-ett-werkwelt.de

Version 10.06.06
Version 14.06.11
2016-09-25


FileMaker-Magazin-Artikel
Hier geht es zum FileMaker-Magazin in Hamburg. Treffpunkt für FM-Programmierung.

 

FMM_201505 11
Hier der Download des Original-Artikels (PDF  zum Drucken, 4,9 MB)
Hier der Download des Original-Artikels (PDF für Bildschirm, 0,4 MB)

 

Einblendkalender …
… vielseitig, farbig, mit Zeitangaben, zum Rechnen, für eigene Ideen, größeneinstellbar

Wie kann die Größe des Einblendkalenders von FileMaker bei gezoomten Fenstern an die Größe angepaßt werden? Aus dieser Nachfrage eines Kunden entstand eine Antwort mit überraschendem Effekt. Zwar ist dieses Feature beim Standard-Einblendkalender bisher nicht enthalten, doch ich habe einen eigenen Einblendkalender entwickelt, an dem alles so programmiert werden kann, wie man es gerne hätte. Die Kalenderberechnung ist denkbar einfach: Sie beruht auf der Kalenderwoche (KW) und dem Jahr. Alles weitere wird am Client für die Anzeige im Layout berechnet. Dabei entspricht jede Kalenderwoche mit den sieben Kalendertagen Montag bis Sonntag einem Datensatz. Die Statusfunktion „Hole (DatensatzPositionInErgebnismenge)“ zählt für die Kalenderwochendatensätze die Kalenderwochen von der einstellbaren Basis-KW hoch.
In der Beispieldatei wird der aktuelle Monat durch bedingte Formatierung grün dargestellt, das heutige Datum erscheint rötlich und das letzte eingetragene Datum wird bläulich hinterlegt.
Über einen Monat hinaus können beliebig viele Kalenderwochen zusätzlich angezeigt werden: Mit jedem Klick auf die blauen Tasten rechts fügen Sie eine Kalenderwoche in der Vergangenheit oder in der Zukunft hinzu. Die mit Pfeilen beschrifteten Tasten sind mit Quickinfos hinterlegt. Für den alternativen Einblendkalender kann die gesamte Bildschirmhöhe genutzt werden, da die Größe des Fensters passend zur Anzahl der Kalenderwochen mitwächst. Über die Taste „Datum und Zeit“ ist der Uhrzeiteinsteller verfügbar. 24 Stundentasten und vier Viertelstundentasten sind vorbereitet. Die Uhrzeit wird in einem Textfeld vorher gesammelt und kann dort auch durch Tippen oder scriptgesteuert genauer vorgegeben werden. Die Zeittrennzeichen können individuell vorgegeben sein, nicht nur als Doppelpunkt.

           

Abb. 1 a/b:
Alternativer Einblendkalender, jede Kalenderwoche ein Datensatz, Zoom 100% – Zoom 150%

Abb. 1 c: … und zum Vergleich der Original-Einblendkalender

 

 

Abb. 2:
Einblendkalender mit zehn Monaten Überblick, Zoom 100%
… und unten der Uhrzeit-Einsteller

 

Zeitspanne

Eine Zeitspanne und die Berechnung von Datumsdifferenzen im angedockten Fenster werden mit einem Anfangszeitstempel und dann entweder mit einem berechneten zweiten Zeitstempel oder mit ausgerechneter Differenz in Tagen, Stunden und KW angezeigt.
     

Abb. 3: Am Einblendkalender kann ein Zusatzfenster geöffnet werden, in dem eine Zeitspanne berechnet wird:
- entweder die Zeitspanne zwischen zwei Zeitstempeln
- oder der zweite Zeitpunkt nach Stunden, Tagen, Wochen

 

Das Format

Der Einblendkalender reagiert auf das Feldformat des jeweiligen Feldes, von dem aus er aufgerufen wird:
Ein Datumfeld ruft den Einblendkalender im Modus „Datum“ auf, in dem nur das Datum gezeigt wird, nicht die Uhrzeit.
Ein Zeitstempelfeld ruft den Einblendkalender im Modus „Datum und Zeit“ auf, in dem zusätzlich die Tasten für die Zeiteinstellung gezeigt sind.
Ein Textfeld holt den Einblendkalender im letzten verwendeten Modus. Der Modus wird oben über die Taste „Datum“/„Datum und Zeit“ umgestellt.
Ein Feld vom Typ Zeitstempel bekommt einen Zeitstempel mit Uhrzeit, auch wenn der Einblendkalender im Modus „Datum“ steht und keine Zeitangabe vorgewählt ist.
Ein Datumsfeld bekommt ein Datum, auch wenn der Einblendkalender noch im Modus „Zeitstempel“ ist.

Mitten im Text eines schon mit Text gefüllten Textfeldes wird ein Textdatum oder ein Textzeitstempel mit individuellen Trennzeichen am Cursor eingefügt – wenn z. B. die Bundesbahn gerne einen Punkt statt eines Doppelpunktes vor der Minutenangabe möchte.

 

Wo erscheint der Einblendkalender?

Der Einblendkalender merkt sich die letzte Fensterstellung und übersetzt sie richtig, wenn das Fenster beim nächsten Öffnen gezoomt ist. Wird das Fenster verschoben, erscheint der Einblendkalender beim nächsten Öffnen ebenfalls an einer entsprechend des Zoomfaktors berechneten passenden Stelle. Sollte er im Layout etwas verdecken, kann er als kleines FileMaker Fenster manuell positioniert werden – das ist bei dem Standard-Einblendkalender von FileMaker bekanntlich noch nicht möglich.

 

Zusatz für bestehende Projekte

Der alternative Einblendkalender kann als zusätzliche Datei an ein bestehendes Projekt „angedockt“ werden. Dazu sind wenige Scripts nötig, die in das bestehende Projekt eingefügt werden müssen (Scriptimport aus der Musterdatei EinProjekt.fp7). Eine kartesische Beziehung macht drei Globalfelder zugänglich. Die Datenübertragung von Tabelle zu Tabelle oder von Datei zu Datei ist über drei Globalfelder organisiert.
Textfeld-Inhalt wird in ein gesondertes Globalfeld übertragen. Die Übertragung dient dazu, das gewünschte Datum in die vom Cursor getrennten Textteile einzufügen.

 

Fensterorganisation

Den größten Zeitaufwand bei der Programmierung des alternativen Einblendkalenders beanspruchte die Fensterorganisation. Das Zielfenster wird mit seinen Eigenschaften (Name, Typ, Inhalt) per $$Variablen und per Liste im Globalfeld zwischen der Projektdatei und dem Einblendkalenderdatei hin- und hergetragen, damit das zeitlich später im Fenster des Einblendkalenders angeklickte Datum zurückfinden kann – ins Zielfeld der Projektdatei.

 

Internes Beispiel

In den Einstellungen kann ein internes Beispiel aufgerufen werden, das dieselben Abläufe mit eigener Tabelle, aber nicht mit getrennter Datei abbildet.

 

Externes Beispiel

Weiterhin finden Sie in der Datei EinProjekt.fp7 ein externes Beispiel für die Verwendung des Einblendkalenders als zweite Datei. Dort sind die Programmierteile zu sehen, die in ein neues Nutzerprojekt eingearbeitet werden können. Es können mehrere Nutzerprojekte an denselben Kalender angeschlossen werden. Dabei sorgt eine Weiche für den Aufruf des Scripts in der Zieldatei, damit die vom Einblendkalender ausgehende Übertragung in das vorbestimmte Zielprojekt zurückfindet.
Kreative Ergänzungen am Einblendkalender wirken sich so auf alle angeschlossenen Projekte gleich aus.

 

Einfache Verbindung

Die Verbindung zwischen dem externen Projekt und dem Einblendkalender ist in der Abb. 3 in einem Organigramm dargestellt: Externe Projekte werden mit einer kartesischen Beziehung jeweils vom Projekt aus zur Datei Einblendkalender.fp7 verbunden (schwarze Linie mit Pfeilrichtung zur rot umrandeten Datei Einblendkalender.fp7).
Die Datei Einblendtransfer.fp7 ist per externer Datenquelle an Einblendkalender.fp7 angeschlossen und dient dazu, die Rechte an weitere externe Projekte zu vergeben, ohne den Einblendkalender selbst entwicklungstechnisch zu öffnen. Weitere externe Projekte werden in Einblendtransfer.fp7 jeweils zusätzlich angeschlossen, damit ein externes Script ausgelöst werden kann.

       

Abb. 4:
Das Organigramm zeigt, wie ein alternativer Einblendkalender an vorhandene Projekte angeschlossen wird

 

Auslösung

Spezialisierte Felder vom Typ Datum oder Zeitstempel sind mit einem Scripttrigger ausgestattet, der ein Script auslöst, sobald das Feld mit dem Cursor betreten wird. Das Script sammelt Informationen in Variablen und übergibt diese per drei Globalfelder an den Einblendkalender. Gesammelt werden der Pfad zurück zum Feld oder auch der Feldinhalt. Dazu wird das Einblendkalender-Fenster angezeigt.

 

Allgemeine Auslösung

Dasselbe Script kann aber auch allgemein für jedes unvorbereitete Feld ausgelöst werden, wenn kein Scripttrigger eingerichtet ist. Man stellt den Cursor in ein beliebiges Feld und löst das Script aus (über eine Taste im Layout oder über das Menü). Das Script liest aus, wohin das bis dahin noch unbekannte aus dem danach im Einblendkalender geklickte Datum eingefügt werden soll. Das funktioniert für jedes Layout in einem „angedockten“ Projekt.

 

Download

Die Beispieldatei Einblendkalender.fp7 zu diesem Beitrag ist im Downloadbereich verfügbar und zeigt die Funktionsweise des Kalenders für die Versionen FileMaker 10 bzw. 11.
Sie wurde auch mit FileMaker 13/15/16 in Einblendkalender.fmp12 neu gestaltet und getestet.
Das Downloadarchiv beinhaltet ein externes Projekt EinProjekt.fp7 (und .fmp12), das wie ein eigenes Projekt neben dem Einblendordner steht.
Für FMP 12/13/ */15/16 wurde mit neuen Designelementen programmiert. Verwendete Schrift Tahoma, damit Win und Mac ebenbürtig aussehen.

Hier die zwei Download-Dateien:

Download für FileMaker Pro 10, 11           Arc_Einblendkalender_fp7.zip   (2,3 MB)
Download für FileMaker Pro 12, 13, *, 15, 16   Arc_Einblendkalender_fmp12.zip   (2,6 MB)

 

 

Schnelltest

Schnelltest für FileMaker Pro 12, 13, *, 15, 16
werkwelt.de/ARC/Einblendkalender/FM14/

Schnelltest für FileMaker Pro 10, 11
werkwelt.de/ARC/Einblendkalender/FM10/

Einfach klicken. Der Arc Einblendkalender öffnet sich auf Ihrem Schreibtischrechner in Ihrem FileMaker-Client als Kennenlern- und Ausprobier-Version.

*
Der FMS-Testserver läuft über den Port 5013. Für FileMaker Pro 14 ist leider eine Inkompatibilität bekannt. Testen Sie lieber mit FMP 13 oder FMP 15. Oder die Testversion herunterladen. Die läuft zu Hause auch mit FMP 14 gut.
Ihnen viel Glück beim Schnelltest!
Der Testserver läuft nur tagsüber an langsamstem DSL (768 kBit/s). Er könnte langsam wirken (beim Laden der Hilfe-Bilder).


Nachüberlegung

Wer schon einmal versucht hat, einen Kalenderwert aus einer „externen“ Einblendung zu holen und dabei das Datumformat und dessen Schreibweise zu steuern, wird schnell auf weitere Überlegungen und Fragen kommen:

Wie wäre es zum Beispiel, wenn für den Einblendkalender Messetermine, Schulferien, gesetzliche Feiertage, astronomische Daten oder Geburtstage, im Kontext vielleicht sogar Urlaubsinformationen, hinterlegt wären?

Bereits in der vorliegenden Version wird bei der Anforderung des kleinen Einblendkalender-Fensters ein ggf. existierender Kalenderwert mitgeführt. Per Mausklick könnte dann doch auch in einem weiteren Fenster eine Suche ablaufen, die abfragt, ob für dieses Datum weitere Ereignisse hinterlegt sind!

Der Abstand zu Kalenderapplikationen wird hiermit kleiner, die Integration einer komplexen Kalenderorganisation in FileMaker kommt zum Greifen nah. In dieser Richtung wird der alternative Einblendkalender je nach freien Kapazitäten weiterentwickelt werden. ♦



Fehlerbehebung
Verbesserungen
Versionen

Seit Veröffentlichung im FileMaker-Magazin 2015_05 (November 2015) wurden Fehlerbereinigungen und Verbesserungen durchgeführt:

- Die aktuelle Version wird gepflegt, verbessert und weiterentwickelt. Ihre Ideen und Beobachtungen können mit einfließen.
  Und Sie können – mit FMP 12/13/ */15/16 – die aktuelle Version selbst öffnen und erleben.
  werkwelt.de/ARC/Einblendkalender/FM14 für FMP 12/13/ */15/16
  werkwelt.de/ARC/Einblendkalender/FM10 für FMP 10/11


  *  
  Vorbehalt bei FMP 14: Dieser FMS-Server für dieses Arc-Projekt läuft ausnahmsweise über Port 5013 (statt empfohlenem Port 5003),
  der leider bei nur FMP 14 Fehler bei den internen Beziehungen produziert.
  Das ist bei Kunden-Serverbetrieb nicht zu erwarten, weil die vermutlich alle empfohlenermaßen über Port 5003 laufen.
- also bitte hier nicht mit FMP 14 als Client versuchen,
- sondern lieber auf FMP 13 oder FMP 15 oder FMP16 ausweichen.

  E-Mail: Hier können Sie Ihre Ideen und Fragen zum Einblendkalender per E-Mail schreiben

Arc Einblendkalender Version 10_06_08_Beta

Arc Einblendkalender Version 14_06_13_Beta


  2017-06-25 Der Einblendkalender wurde für FMP 16 getestet. Und es wurde tatsächlich ein Fehler gefunden und behoben.


Arc Einblendkalender Version 10_06_07_Beta

Arc Einblendkalender Version 14_06_12_Beta


  2017-01-30 Der Betrieb für den FileMaker Server für die Muster-Einblendkalender wurde erneuert.
  Das unverständliche und ärgerliche Portproblem wurde durch FMP 15 und FMP 16 wieder gelöst.
  Und am Server-Rechner wurde ein RAM-Baustein als defekt erkannt und ausgetauscht. RAM-Baustein-Defekte sind sehr selten.
  Dann kann es nun wieder entspannt an die Arbeit gehen …


Arc Einblendkalender Version 10_06_06

  zum Download freigegeben (2016-09-25)

- Paßwortfehler beim Öffnen der Download-Datei wurde behoben

Arc Einblendkalender Version 14_06_11_Beta

  zu erwarten sind:
- kleine Aufräumarbeiten
- große neue Ideen, besonders durch unerschrockene neue Nutzer :-)
  insbesondere wird das Zusammenspiel zwischen Web Viewer mit proportionaler Darstellung und FileMaker mit FM-Scripts und Werteentgegennahme einbezogen
- aktuelle neue Bilder im Handbuch, vielleicht Bildauslagerung, damit der Download sehr klein wird, mal sehen.
- Fehlerberichtigung: Die nutzerspezifischen Trennzeichen bei Uhrzeiten nicht auf ":" ändern, wenn in Textfelder eingefügt wird.
- je nach Nachfrage könnte für Version 10_06_11 Beta die analoge Uhr mit dem MBS-Plugin so ausgestattet werden, daß auch FMP 10/11 die Uhrzeitwerte (Stunden/Minuten) per Klick generieren kann. Das geht bisher nur für FMP 12 bis FMP 15 (ohne Plugin).
- Felder innerhalb eines Portals, das auf einer Registerkarte positioniert ist, können noch nicht mit dem Arc Einblendkalender gefüllt werden.

Arc Einblendkalender Version 14_06_10

  zum Download freigegeben (2016-04-11)

- Plegearbeiten

Arc Einblendkalender Version 14_06_09

  zum Download freigegeben (2016-03-13)

- Experiment mit einer analogen Uhr, die für Stunden und Minuten kleine Klickflächen vorhält.
- 24-Stunden-Klickflächen liegen weiter innen und zeigen bei Mouseover bspw. "19 Uhr". Klicks überschreiben das Zeitfeld für Stunden und für Minuten.
  Der Web Viewer steuert damit FileMaker Pro.
  = Ein Phasensprung!


Ihr Browser kann leider kein SVG darstellen.

                     Uhr mit Klickflächen zum Einstellen des Zeitstempels



Arc Einblendkalender Version 14_06_08

- kleine Fehlerbehebungen

Arc Einblendkalender Version 14_06_07

- Die Schrift Tahoma verbessert die Anzeige an Mac/Win
- Ein Konflikt zwischen FMS 13 bei Benutzung des nicht beworbenen Port 5013 und FMP 14 als Client wurde eingegrenzt.
  Es bleibt nur die Empfehlung, den Demo-Server mit FMP 13 auszuprobieren.
  Der Demo-Server FMS 13v9 läuft auf iMac mit OS X 10.10.5
- Der Konflikt bleibt nach Download oder bei Benutzung des Port 5003, wie er von FileMaker Inc. als einzigem empfohlen wird, aus!
- Für FileMaker Pro Versionen 12, 13, 14 … werden neue Layoutmöglichkeiten genutzt (transparente Schatten …).
- Für die Windows-Fenster wurde ein Fensterbreite-Wert eingefügt, damit der breite Fahrstuhl unter Windows gut dargestellt wird. Am Mac bleiben die Einblendfenster schmal.

Arc Einblendkalender Version 10/14_06_04

- ein Formelfehler, der ausgerechnet im Jahr 2016 auftritt (im Jahr 2015 nicht) wurde behoben
- Einsteller für Zeit minutengenau wurde eingefügt
- am Mac und an PCs, deren Web Viewer SVG zeigen können, wurde eine analoge Uhr eingefügt, die die aktuelle Systemzeit analog mit Sekundenzeiger zeigt.

Ihr Browser kann leider kein SVG darstellen.
- Frage zur analogen Uhr:
- Kann SVG per Klick numerische Werte "zurückgeben", die im Arc Einblendkalender zur Voreinstellung der Uhrzeit genutzt werden könnte? Wie?
- Beim Entwickler lief die analoge Uhr bisher nicht im virtualisierten Win7 und FileMaker Pro 14, dessen Web Viewer bekanntlich mit Microsofts Internet Explorer läuft.
  Es wird zwar die aktuelle Uhrzeit angezeigt, aber der Sekundenzeiger läuft nicht weiter.
  In dieser Hilfe-Seite dagegen (html) läuft die Uhr im Browser "Chrome".
 
  Nachtrag 14.3.2016 für Version 14_06_09: Das Thema Uhr läuft nun erfolgreich. Alle Fragen konnten gelöst werden.
  Beflügelnd ist, frei gekrümmte Flächen proportional im Web Viewer dazustellen und mit deren Parametern zurückzufinden in die Scripts und Listendarstellungen der FM-Datenbank (ab FMP 12).