International Developer Logo Last Updated 25.07.08 at 11.48
On Sale
This months front cover, click to see the table of contents.
Subscribe
 
TUTORIALS

Programming a Grammar Checker in FileMaker Pro


  21.12.06

Therefore one would think when FileMaker Pro is consistently praised for its ease of use, even in The New York Times, it should be cause for joy. However, this may not be the case either. Praises often cloud what we really need to know about particular software. Saying FileMaker Pro (FMPro) is approachable may help sales but may also unintentionally disguise from users one of the most effective ways of working in the program; that is, to see it unashamedly and unflinchingly as a programming environment that non-intrusively parallels a visual environment.

 

‘tis a wonderful thing

This is a wonderful thing as beginners need not fear its programming power: databases can be created solely in the visual environment. But therein lays the trap: databases become mere fragmented representations, in the form of fields and records, of information that word processors present (probably less efficiently) as continuous in the form of sub-headings and pages.

Another half truth finds itself on the other side of the same coin. FMPro lacks power: its ease of use comes at the expense of customisation and programming features. True some years ago, but today misses the repercussions from the revolution that began with the release of version 7 in early 2004 and continues with the latest eighth release.

The manner by which FMPro is evolving as a programming platform differentiates it from integrated development environments (IDEs). FMPro is an attachable programming environment (APE). Database-creation programs will lean either towards one or the other. APEs have significant shorter development time than IDEs due to their provision of pre-coded core objects and pre-channelled system-level access; in other words, a symbiotic relationship exists whereby a lot is taken care of by the engineers so that developers can focus purely on creating applications.

 

Module functionality

FMPro’s pre-made objects include fields, records, tables, relationships and portals, which developers can define (name), visually instance from the prototypes and then modify to taste. Side-by-side exist separate facilities for writing modules with the easy capacity for attaching them to objects to make them intelligent.

Attachable modules in FMPro are created in two windows: script and calculation. These are deceptively simple point-and-click environments. Scripts are often compared to macros; and calculations house functions not too dissimilar to Excel’s. However, again we may be entering the territory of half-truths. Scripts and calculations have program-flow logic of the kind found in raw programming languages such as C++ and they have a capacity for layering logic such that objects may have attached to them theoretically infinite intelligence.

For example, a module with one-layer logic is “If this, then that”; the next layer of logic may be nested, “If this, and given the other, then that”, or it may be sequenced, “If this, then that; if not this, then the other”.

 

Welcome Version 7

In version 7, the Else If step was introduced that allowed scripts to simulate the test-listing Case function and a dedicated “custom function” window was implemented allowing developers to properly write their own functions – as will be seen shortly custom functions are crucial to building our real-world grammar checker. Capability for commenting calculations, à la C or C++ notation and the local-variable-setting function, Let, were introduced for the calculation window.

In version 8, the Set Variable step introduced the dimension of memory to branching intelligence in the script window and the Let function was made capable of also assigning global variables. At the big-picture level, what is making FMPro a powerful programming environment is the increasing interconnectedness of the two windows.

Evidence of FMPro’s power is its ability to create a grammar checker, a task most likely never conceived by the engineers as one for their software. This ability is evidence that FMPro can build all kinds of data-processing applications, not just business ones. The historical significance is the possibility of bridging the gap between data processing and word processing; possibly the holy grail of office computing. More immediate and more importantly it demonstrates how FMPro operates as an APE.




   Previous Page  1 2 3 4 Next Page   

HAVE YOUR SAY
This article is rated  Rate this article