FMK2012: Meine besten Custom Functions von Arnold Kegebein
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

FMK2012: Meine besten Custom Functions von Arnold Kegebein

on

  • 1,323 views

Eigene Funktionen für die FileMaker Datenbank.

Eigene Funktionen für die FileMaker Datenbank.

Ein Vortrag im Rahmen der FileMaker Konferenz 2012 in Salzburg.

Statistics

Views

Total Views
1,323
Views on SlideShare
1,323
Embed Views
0

Actions

Likes
0
Downloads
67
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

FMK2012: Meine besten Custom Functions von Arnold Kegebein Presentation Transcript

  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. Vielen Dank für Ihre AufmerksamkeitDipl.-Ing. Arnold Kegebein FileMaker Konferenz 2012 SalzburgMeine besten Custom Functions www.filemaker-konferenz.com
  • 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