SlideShare ist ein Scribd-Unternehmen logo
1 von 106
FileMaker
   Scripting:
Donderdag 9u30 - 10u45
      Jeroen Aarts
Over Jeroen Aarts
Over Jeroen Aarts
• FileMaker 8-11 Certified
 Developer
Over Jeroen Aarts
• FileMaker 8-11 Certified
 Developer
• Mede-oprichter ClickWorks
Over Jeroen Aarts
• FileMaker 8-11 Certified
 Developer
• Mede-oprichter ClickWorks
• In-house developer
Over Jeroen Aarts
• FileMaker 8-11 Certified
 Developer
• Mede-oprichter ClickWorks
• In-house developer
• Opleiding: Socioloog!
Over Jeroen Aarts
• FileMaker 8-11 Certified
 Developer
• Mede-oprichter ClickWorks
• In-house developer
• Opleiding: Socioloog!
• jeroen@clickworks.be
Agenda
Agenda
• Loops
Agenda
• Loops
• Variabelen
Agenda
• Loops
• Variabelen
• If... Else... End If
Agenda
• Loops
• Variabelen
• If... Else... End If
• Script parameters en Script result
Agenda
• Loops
• Variabelen
• If... Else... End If
• Script parameters en Script result
• Scriptbeheer algemeen
Inleiding
Inleiding


• Doelpubliek
Inleiding


• Doelpubliek
• Wat?
Inleiding


• Doelpubliek
• Wat?
• Onder FileMakers motorkap?
Deel 1
 Loops
Loops
Loops


• Patronen:
Loops


• Patronen:
 • Loop over records of portaalrijen
Loops


• Patronen:
 • Loop over records of portaalrijen
 • Loop met tellervariabele
Loops
Loops


 • Demo Loop over records/
  portaalrijen
Loops
Loops
Loops
Loops
Loops
Loops
Loops
Loops
Loops
Loops
Loops
Loops
Loops
Loops



 • Demo loop met tellervariabele
Loops
Loops
Loops
Loops
Loops
Loops
Loops
Loops


• Exit voorwaarde
Loops


• Exit voorwaarde
 • via ‘Exit after last’ optie
Loops


• Exit voorwaarde
 • via ‘Exit after last’ optie
 • via ‘Exit Loop If’ script stap
Deel 2
Variabelen
Variabelen
Variabelen


• Sinds FileMaker Pro versie...
Variabelen


• Sinds FileMaker Pro versie...
• Via Set Variabele ...
Variabelen


• Sinds FileMaker Pro versie...
• Via Set Variabele ...
• Met een $ of $$ teken
Variabelen
Variabelen


• Variabelen en datatypes
Variabelen


• Variabelen en datatypes
• Demo datatypes
Variabelen
Variabelen


• Variabele scope
Variabelen


• Variabele scope
• Demo scope
Variabelen


• Variabele scope
• Demo scope
• Tip: dataviewer en actief script!
Variabelen
Variabelen
• Complexe variabelen
Variabelen
• Complexe variabelen
• Demo:
Variabelen
• Complexe variabelen
• Demo:
 • Enkelvoudige variabelen
Variabelen
• Complexe variabelen
• Demo:
 • Enkelvoudige variabelen
 • Variabelen en repetities
Variabelen
• Complexe variabelen
• Demo:
 • Enkelvoudige variabelen
 • Variabelen en repetities
 • Verder... ?
Variabelen
Variabelen
 • Complexe variabelen:
Variabelen
 • Complexe variabelen:
  • Sneller
Variabelen
 • Complexe variabelen:
  • Sneller
  • Vlotter leesbaar
Variabelen
 • Complexe variabelen:
  • Sneller
  • Vlotter leesbaar
  • Makkelijk te debuggen
    (dataviewer!)
Variabelen
 • Complexe variabelen:
  • Sneller
  • Vlotter leesbaar
  • Makkelijk te debuggen
    (dataviewer!)
  • Isoleert context
Variabelen
Variabelen

 • Valkuil:
Variabelen

 • Valkuil:
  • Variabelen, repetities en script
    parameters
Variabelen

 • Valkuil:
  • Variabelen, repetities en script
    parameters
  • Complexe variabelen en
    lijstscheidingstekens
Deel 3
If... Else... End If
If... Else... End If
If... Else... End If


  • Vermijd complexiteit
If... Else... End If


  • Vermijd complexiteit
  • Vermijd herhaling
If... Else... End If


  • Vermijd complexiteit
  • Vermijd herhaling
  • Demo
Deel 4
Script Parameters en Script
           Result
Script Parameters en
Script Parameters en
 • Voordelen:
Script Parameters en
 • Voordelen:
  • Minder context
Script Parameters en
 • Voordelen:
  • Minder context
  • Herbruikbaarheid
Script Parameters en
 • Voordelen:
  • Minder context
  • Herbruikbaarheid
  • ...
Script Parameters en
 • Voordelen:
  • Minder context
  • Herbruikbaarheid
  • ...
 • Demo
Deel 5
Scriptbeheer
`Scriptbeheer
`Scriptbeheer


  • Context is belangrijk:
`Scriptbeheer


  • Context is belangrijk:
   • Data: Layout -> TO
`Scriptbeheer


  • Context is belangrijk:
   • Data: Layout -> TO
   • Variabelen: lokale vs. globale
`Scriptbeheer
`Scriptbeheer

  • Context beheren:
`Scriptbeheer

  • Context beheren:
   • Creëer/bevestig context heel
     expliciet
`Scriptbeheer

  • Context beheren:
   • Creëer/bevestig context heel
     expliciet
   • Isoleer logica, verdeel en heers
`Scriptbeheer

  • Context beheren:
   • Creëer/bevestig context heel
     expliciet
   • Isoleer logica, verdeel en heers
   • verkies variabelen met lokale scope
`Scriptbeheer
`Scriptbeheer

  • Scripts structureren:
`Scriptbeheer

  • Scripts structureren:
   • Commentaar
`Scriptbeheer

  • Scripts structureren:
   • Commentaar
   • Constants en variabelen, bovenaan!
`Scriptbeheer

  • Scripts structureren:
   • Commentaar
   • Constants en variabelen, bovenaan!
   • Validatie
`Scriptbeheer

  • Scripts structureren:
   • Commentaar
   • Constants en variabelen, bovenaan!
   • Validatie
   • Context + Business logic
Vraag en
antwoord
Dankjewel
Gelieve het evaluatieformulier
         in te vullen

Weitere ähnliche Inhalte

Ähnlich wie FMSummit 2011 Sessie scripting

PFZ Workshop - Automatiseren van functionele tests
PFZ Workshop - Automatiseren van functionele testsPFZ Workshop - Automatiseren van functionele tests
PFZ Workshop - Automatiseren van functionele testsRichard Tuin
 
Versiebeheer van database changes
Versiebeheer van database changesVersiebeheer van database changes
Versiebeheer van database changesArjen van Vliet
 
LinkedData Project for KennisNet
LinkedData Project for KennisNetLinkedData Project for KennisNet
LinkedData Project for KennisNetDena Tahvildari
 
Webinar Interoperabiliteit van toetssystemen
Webinar Interoperabiliteit van toetssystemenWebinar Interoperabiliteit van toetssystemen
Webinar Interoperabiliteit van toetssystemenPierre Gorissen
 
DSD-NL 2014 - NGHS Scripting in Delta Shell - Python scripten, Hidde Elzinga,...
DSD-NL 2014 - NGHS Scripting in Delta Shell - Python scripten, Hidde Elzinga,...DSD-NL 2014 - NGHS Scripting in Delta Shell - Python scripten, Hidde Elzinga,...
DSD-NL 2014 - NGHS Scripting in Delta Shell - Python scripten, Hidde Elzinga,...Deltares
 
TYPO3 Congres 2012 - Introductie werken met CSS preprocessors
TYPO3 Congres 2012 - Introductie werken met CSS preprocessorsTYPO3 Congres 2012 - Introductie werken met CSS preprocessors
TYPO3 Congres 2012 - Introductie werken met CSS preprocessorsTYPO3 Nederland
 
15 DSD-NL 2016 - Delft-FEWS Gebruikersdag - Config Review - Marc van Dijk & K...
15 DSD-NL 2016 - Delft-FEWS Gebruikersdag - Config Review - Marc van Dijk & K...15 DSD-NL 2016 - Delft-FEWS Gebruikersdag - Config Review - Marc van Dijk & K...
15 DSD-NL 2016 - Delft-FEWS Gebruikersdag - Config Review - Marc van Dijk & K...Deltares
 
Workshop: Introductie tot Python
Workshop: Introductie tot PythonWorkshop: Introductie tot Python
Workshop: Introductie tot PythonVincent Claes
 
Wat is een (CAD) bestand?
Wat is een (CAD) bestand?Wat is een (CAD) bestand?
Wat is een (CAD) bestand?datable_be
 
2 watiscadbestand
2 watiscadbestand2 watiscadbestand
2 watiscadbestandfneggers
 
Projectpaas drupaljam 2013 rotterdam
Projectpaas drupaljam 2013 rotterdamProjectpaas drupaljam 2013 rotterdam
Projectpaas drupaljam 2013 rotterdamBert Boerland
 

Ähnlich wie FMSummit 2011 Sessie scripting (15)

Meertaligheid in Adlib
Meertaligheid in AdlibMeertaligheid in Adlib
Meertaligheid in Adlib
 
PFZ Workshop - Automatiseren van functionele tests
PFZ Workshop - Automatiseren van functionele testsPFZ Workshop - Automatiseren van functionele tests
PFZ Workshop - Automatiseren van functionele tests
 
Versiebeheer van database changes
Versiebeheer van database changesVersiebeheer van database changes
Versiebeheer van database changes
 
LinkedData Project for KennisNet
LinkedData Project for KennisNetLinkedData Project for KennisNet
LinkedData Project for KennisNet
 
Webinar Interoperabiliteit van toetssystemen
Webinar Interoperabiliteit van toetssystemenWebinar Interoperabiliteit van toetssystemen
Webinar Interoperabiliteit van toetssystemen
 
DSD-NL 2014 - NGHS Scripting in Delta Shell - Python scripten, Hidde Elzinga,...
DSD-NL 2014 - NGHS Scripting in Delta Shell - Python scripten, Hidde Elzinga,...DSD-NL 2014 - NGHS Scripting in Delta Shell - Python scripten, Hidde Elzinga,...
DSD-NL 2014 - NGHS Scripting in Delta Shell - Python scripten, Hidde Elzinga,...
 
TYPO3 Congres 2012 - Introductie werken met CSS preprocessors
TYPO3 Congres 2012 - Introductie werken met CSS preprocessorsTYPO3 Congres 2012 - Introductie werken met CSS preprocessors
TYPO3 Congres 2012 - Introductie werken met CSS preprocessors
 
15 DSD-NL 2016 - Delft-FEWS Gebruikersdag - Config Review - Marc van Dijk & K...
15 DSD-NL 2016 - Delft-FEWS Gebruikersdag - Config Review - Marc van Dijk & K...15 DSD-NL 2016 - Delft-FEWS Gebruikersdag - Config Review - Marc van Dijk & K...
15 DSD-NL 2016 - Delft-FEWS Gebruikersdag - Config Review - Marc van Dijk & K...
 
Workshop: Introductie tot Python
Workshop: Introductie tot PythonWorkshop: Introductie tot Python
Workshop: Introductie tot Python
 
Duurzaam digitaliseren: praktijk
Duurzaam digitaliseren: praktijkDuurzaam digitaliseren: praktijk
Duurzaam digitaliseren: praktijk
 
Variables Everywhere
Variables EverywhereVariables Everywhere
Variables Everywhere
 
Wat is een (CAD) bestand?
Wat is een (CAD) bestand?Wat is een (CAD) bestand?
Wat is een (CAD) bestand?
 
2 watiscadbestand
2 watiscadbestand2 watiscadbestand
2 watiscadbestand
 
Les2
Les2Les2
Les2
 
Projectpaas drupaljam 2013 rotterdam
Projectpaas drupaljam 2013 rotterdamProjectpaas drupaljam 2013 rotterdam
Projectpaas drupaljam 2013 rotterdam
 

FMSummit 2011 Sessie scripting

Hinweis der Redaktion

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n
  39. \n
  40. \n
  41. \n
  42. \n
  43. \n
  44. \n
  45. \n
  46. \n
  47. \n
  48. \n
  49. \n
  50. \n
  51. \n
  52. \n
  53. \n
  54. \n
  55. \n
  56. \n
  57. \n
  58. \n
  59. \n
  60. \n
  61. \n
  62. \n
  63. \n
  64. \n
  65. \n
  66. \n
  67. \n
  68. \n
  69. \n
  70. \n
  71. \n
  72. \n
  73. \n
  74. \n
  75. \n
  76. \n
  77. \n
  78. \n
  79. \n
  80. \n
  81. \n
  82. \n
  83. \n