Meine besten Custom Functions                           Eigene Funktionen für die FileMaker DatenbankDipl.-Ing. Arnold Keg...
Zu meiner Person         •     Diplom-Ingenieur der Technischen Informatik         •     6½ Jahre in den USA als IT Manage...
Meine einfachste Funktion          _( )            •     Platzhalter für „optionale“ Funktionsparameter                   ...
Null Value Funktion: NV          NV( _value; _null )             If( IsEmpty( _value );             ! _null;             /...
Null Value Funktion: NNV          NNV( _value; _notNull )             If( IsEmpty( _value );             ! "";            ...
Null Value Funktion: NNN          NNN( _value; _null; _notNull )             If( IsEmpty( _value );             ! _null;  ...
Textfunktion TrimMore          TrimMore( _text; _trim )             Let( [             ! _trim = NV( _trim; " ⇥¶" );      ...
CFs für die Listenbearbeitung         •     ListHasValue( list; value )!   Prüfen, ob ein Wert in der Liste vorkommt      ...
FrontTabs            •     Ermittelt eine Liste mit den Objektnamen der aktiven Tabs            •     Kann zur Wiederherst...
LayoutID          LayoutID( )             GetValue(             ! LayoutIDs( Get( FileName ) );             ! Get( LayoutN...
LayoutNo          LayoutNo( _id )             Let( [             ! _list = ¶ & LayoutIDs( Get( FileName ) ) & ¶           ...
GetAsColor            •     Meine erste große, komplexe Funktion mit Rekursion            •     Rechnet Farbwerte in dezim...
CFs für Parameter Variablen         •     #( _key; _value )! !          Benannte Parameter (param) erzeugen         •     ...
Parameter Variablen         •     Benannte Parameter:                        #( "Name"; "Arnold" ) ! "Name==Arnold¶"      ...
ListFunction            •     Erstellt Listen, auf vielfältige Art            •     Basiert auf einer Funktion von Agnés B...
Vielen Dank für Ihre AufmerksamkeitDipl.-Ing. Arnold Kegebein           FileMaker Konferenz 2012 SalzburgMeine besten Cust...
Vielen Dank unseren Sponsoren      Danke für das Bewerten dieses VortragesDipl.-Ing. Arnold Kegebein                FileMa...
Upcoming SlideShare
Loading in...5
×

FMK2012: Meine besten Custom Functions von Arnold Kegebein

1,556

Published on

Eigene Funktionen für die FileMaker Datenbank.

Ein Vortrag im Rahmen der FileMaker Konferenz 2012 in Salzburg.

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,556
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
69
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "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
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×