FMK2012: Meine besten Custom Functions von Arnold Kegebein

2.029 Aufrufe

Veröffentlicht am

Eigene Funktionen für die FileMaker Datenbank.

Ein Vortrag im Rahmen der FileMaker Konferenz 2012 in Salzburg.

0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
2.029
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
2
Aktionen
Geteilt
0
Downloads
72
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

FMK2012: Meine besten Custom Functions von Arnold Kegebein

  1. 1. Meine besten Custom Functions Eigene Funktionen für die FileMaker DatenbankDipl.-Ing. Arnold Kegebein FileMaker Konferenz 2012 SalzburgMeine besten Custom Functions www.filemaker-konferenz.com
  2. 2. Zu meiner Person • Diplom-Ingenieur der Technischen Informatik • 6½ Jahre in den USA als IT Manager • Seit 2006 Entwicklung mit FileMaker • 25 Jahre Datenbankerfahrungen: Access, Oracle, MySQL, u. a. • Hohe Aufmerksamkeit auf Usability und Design • Regelmäßiger Autor im FileMaker MagazinDipl.-Ing. Arnold Kegebein FileMaker Konferenz 2012 SalzburgMeine besten Custom Functions www.filemaker-konferenz.com
  3. 3. Meine einfachste Funktion _( ) • Platzhalter für „optionale“ Funktionsparameter FormatBetrag( Rech::Summe; _ ) • Vereinfachung mit Funktion Berechne und ähnliche Berechne( "If( Tab::F1=""; "NA"; Tab::F1 )" ) Berechne( "If( Tab::F1=_; "NA"; Tab::F1 )" )Dipl.-Ing. Arnold Kegebein FileMaker Konferenz 2012 SalzburgMeine besten Custom Functions www.filemaker-konferenz.com
  4. 4. Null Value Funktion: NV NV( _value; _null ) If( IsEmpty( _value ); ! _null; // Else ! _value ) • NV = Null Value • Lücken in Listen auffüllen NV( RePos::Betrag; "0,00" ) • Standardwerte für „optionale“ ParameterDipl.-Ing. Arnold Kegebein FileMaker Konferenz 2012 SalzburgMeine besten Custom Functions www.filemaker-konferenz.com
  5. 5. Null Value Funktion: NNV NNV( _value; _notNull ) If( IsEmpty( _value ); ! ""; // Else ! Substitute( _notNull; ! ! [ "@"; "¨AT¨" ]; ! ! [ "@"; _value ]; ! ! [ "¨AT¨"; "@" ] ! ) ) • NNV = Not Null Value • Textfelder verbinden NNV( Adr::Vorname; "@. " ) & Adr::NachnameDipl.-Ing. Arnold Kegebein FileMaker Konferenz 2012 SalzburgMeine besten Custom Functions www.filemaker-konferenz.com
  6. 6. Null Value Funktion: NNN NNN( _value; _null; _notNull ) If( IsEmpty( _value ); ! _null; // Else ! Substitute( _notNull; ! ! [ "@"; "¨AT¨" ]; ! ! [ "@"; _value ]; ! ! [ "¨AT¨"; "@" ] ! ) ) • NNN = Null Not Null • Felder formatieren NNN( $startDate; "sofort"; "ab @" )Dipl.-Ing. Arnold Kegebein FileMaker Konferenz 2012 SalzburgMeine besten Custom Functions www.filemaker-konferenz.com
  7. 7. Textfunktion TrimMore TrimMore( _text; _trim ) Let( [ ! _trim = NV( _trim; " ⇥¶" ); ! _len = Length( _text ); ! _l = Position( _trim; Left( _text; 1 ); 1; 1 ) > 0; ! _r = Position( _trim; Right( _text; 1 ); 1; 1 ) > 0; ! _text = Middle( _text; 1 + _l; _len - _l - _r ) ]; ! If( _l or _r; ! ! TrimMore( _text; _trim ); ! // Else ! ! _text ! )! ) • Texte bereinigen TrimMore( " ¶ ab c¶ ⇥¶¶ "; _ ) ! "ab c"Dipl.-Ing. Arnold Kegebein FileMaker Konferenz 2012 SalzburgMeine besten Custom Functions www.filemaker-konferenz.com
  8. 8. CFs für die Listenbearbeitung • ListHasValue( list; value )! Prüfen, ob ein Wert in der Liste vorkommt • ListIndex( list; value )! ! Position eines Wertes in der Liste • ListRemove( list; value )! ! Einen Wert und seine Wdhl. aus der Liste entfernen • ListUnique( list )! ! ! Entfernt Duplikate aus der Liste • ListSort( list )! ! ! ! Liste sortieren (erfordert ListMerge) • ListMerge( list1; list2 )! ! Zwei Listen alphabetisch zusammenführenDipl.-Ing. Arnold Kegebein FileMaker Konferenz 2012 SalzburgMeine besten Custom Functions www.filemaker-konferenz.com
  9. 9. FrontTabs • Ermittelt eine Liste mit den Objektnamen der aktiven Tabs • Kann zur Wiederherstellung der zuletzt geöffneten Tabs verwendet werden ‣ OnLayoutExit: FrontTabs in globaler Variablen speichern ‣ OnLayoutEnter: Variable auslesen und Objekte nacheinander anspringen.Dipl.-Ing. Arnold Kegebein FileMaker Konferenz 2012 SalzburgMeine besten Custom Functions www.filemaker-konferenz.com
  10. 10. LayoutID LayoutID( ) GetValue( ! LayoutIDs( Get( FileName ) ); ! Get( LayoutNumber ) ) • Gibt die interne FileMaker ID für das aktuelle Layout zurück • Hilfreich für robustere Datenbankentwicklung ‣ Layouts können umbenannt werden ‣ Layouts können in der Reihenfolge verschoben werdenDipl.-Ing. Arnold Kegebein FileMaker Konferenz 2012 SalzburgMeine besten Custom Functions www.filemaker-konferenz.com
  11. 11. LayoutNo LayoutNo( _id ) Let( [ ! _list = ¶ & LayoutIDs( Get( FileName ) ) & ¶ ]; ! PatternCount( Left( _list; ! ! Position( _list; ¶ & _id & ¶; 1; 1 ) ! ); ¶ ) ) • Gibt die Layoutnummer anhand der Layout ID zurück • Verwendung im Script-Befehl: Gehe zu Layout [LayoutNr] • »Gegenstück« zur Funktion LayoutIDDipl.-Ing. Arnold Kegebein FileMaker Konferenz 2012 SalzburgMeine besten Custom Functions www.filemaker-konferenz.com
  12. 12. GetAsColor • Meine erste große, komplexe Funktion mit Rekursion • Rechnet Farbwerte in dezimale oder hexadezimale Werte um • Vielfältige Eingabeformate: ‣ Dezimal- oder Hexadezimalwerte ‣ Triplets für die RGB-Anteile: Als Dezimal-, Hexadezimal- oder Prozentwerte • Drei verschiedene Ausgabeformate: ‣ Dezimal- oder Hexadezimalwert ‣ Hexadezimalwert mit vorangestelltem Hash (#)Dipl.-Ing. Arnold Kegebein FileMaker Konferenz 2012 SalzburgMeine besten Custom Functions www.filemaker-konferenz.com
  13. 13. CFs für Parameter Variablen • #( _key; _value )! ! Benannte Parameter (param) erzeugen • #Get( _key; _params )! ! Wert eines Parameters aus Parameterliste holen • #Checked( )! ! ! ! ! Zuweisung und Prüfung der Script Parameter • #Assign( _params )!! ! Parameterwerte lokalen Variablen zuweisen • VarCheck( _paramDef ) ! Prüfen, ob bestimmte lokale Variablen existieren • TextBetween( _text; _start; _end; _type ) Text zwischen bestimmten Zeichen • #List( _vars )! ! ! ! Nennt die Namen aller Parameter in der Liste • #Delete( _key; _params )! Entfernt einen Parameter aus der Parameterliste • ClearVars( _vars )! ! ! Löscht alle genannten lokale und globale VariablenDipl.-Ing. Arnold Kegebein FileMaker Konferenz 2012 SalzburgMeine besten Custom Functions www.filemaker-konferenz.com
  14. 14. Parameter Variablen • Benannte Parameter: #( "Name"; "Arnold" ) ! "Name==Arnold¶" • Mehrere Parameter werden wie Texte verknüpft: & • Parameterwert kann beliebige Zeichen einschließlich ¶ enthalten • Kaskadierende Definition ist möglich: #( "A"; #("B1"; 1) & #("B2"; 2) ) • Beibehaltung von Textformatierungen • Ideal für Script ParameterDipl.-Ing. Arnold Kegebein FileMaker Konferenz 2012 SalzburgMeine besten Custom Functions www.filemaker-konferenz.com
  15. 15. ListFunction • Erstellt Listen, auf vielfältige Art • Basiert auf einer Funktion von Agnés Barouh • Im FileMaker Magazin 2010-04 ausführlich beschriebenDipl.-Ing. Arnold Kegebein FileMaker Konferenz 2012 SalzburgMeine besten Custom Functions www.filemaker-konferenz.com
  16. 16. Vielen Dank für Ihre AufmerksamkeitDipl.-Ing. Arnold Kegebein FileMaker Konferenz 2012 SalzburgMeine besten Custom Functions www.filemaker-konferenz.com
  17. 17. Vielen Dank unseren Sponsoren Danke für das Bewerten dieses VortragesDipl.-Ing. Arnold Kegebein FileMaker Konferenz 2012 SalzburgMeine besten Custom Functions www.filemaker-konferenz.com

×