Developer’s Guide
Table Of Contents
- Chapter 1 Welcome to FileMaker Developer
- Chapter 2 Installing FileMaker Developer in Windows
- Chapter 3 Installing FileMaker Developer in the Mac OS
- Chapter 4 Creating a database solution
- Overview of preparing your solutionfiles
- Considerations for a runtime databasesolution
- Considerations for Kiosk mode
- Using scripts to control your solution
- Protecting your database solution files
- Providing user documentation
- Design tips for cross-platform solutions
- Creating a consistent appearance
- Simulating outline and shadow text styles
- Using common character sets
- Designing text layouts for cross-platform solutions
- Using a common color palette
- Using graphics in cross-platform solutions
- Using QuickTime movies in cross-platform solutions
- Showing the status bar in Windows
- Using separate scripts for printing
- Using the Status (CurrentPlatform) function
- Creating platform-specific scripts
- Your responsibilities as a developer
- Testing before and after creating your solution
- Converting and upgrading solution files
- Chapter 5 Creating custom layout themes
- Chapter 6 Using the FileMaker Developer Tool
- About the solution examples
- Using the FileMaker Developer Tool
- Binding your databases into a runtime database solution
- Creating Kiosk-mode solutions
- Renaming your databases
- Removing design access to your databases
- Customizing the About, Help, and Scripts menus
- Adding the FileMaker Pro extension to database filenames
- Saving your settings in the Developer Tool
- Chapter 7 Distributing FileMaker Pro runtime database solutions
- Chapter 8 Publishing your database on the Web
- Types of web publishing
- Using the FileMaker Pro Web Companion
- Creating a custom home page
- Creating a custom home page for Instant Web Publishing
- Creating a custom web site using a database layout
- Web Companion support for Internet mediatypes
- Monitoring your site
- Exporting data to a static HTML page
- Testing your site without a network connection
- Opening password-protected databases remotely
- Chapter 9 Custom web publishing using CDML
- About the CDML examples
- General steps for custom web publishing using CDML
- About CDML format files
- Generating FileMaker Pro CGI requests using CDML
- Using the CDML Tool and templates
- About the CDML Reference database
- Creating error messages
- Using an encoding parameter with a CDML replacement tag
- Planning your web site
- Chapter 10 Using FileMaker Pro XML to deliver your data on the Web
- About the XML examples
- General process for custom web publishing using XML
- Generating an XML document
- Using the FMPDSORESULT grammar
- Using the FileMaker Pro Extended XML grammars
- About UTF-8 encoded data
- Generating FileMaker Pro CGI requests for an XML document
- Using style sheets with your XML document
- Comparing CSS, XSLT, and JavaScript
- Looking at the XML Inventory example
- Chapter 11 Using JDBC to deliver your data
- About the JDBC examples
- About JDBC
- Using the FileMaker JDBC Driver
- SQL supported by the FileMaker JDBC Driver
- FileMaker Pro support for Unicode characters
- About the FileMaker JDBC Driver interfaces and extensions
- Example 1: Looking at the FileMaker Pro Explorer application
- Example 2: Creating the JBuilder Inventory application
- Example 3: Creating the Visual Cafe Inventory application
- Chapter 12 Understanding external function plug-ins
- About external functions
- About the plug-in example file
- Installing, enabling, and configuring the example plug-in
- Description of the FMExample plug-in’s external functions
- Using the example plug-in
- Customizing the plug-in example
- Requirements for writing an external function plug-in
- FileMaker Pro messages sent to the plug-in
- Debugging your plug-in
- Avoiding potential Mac OS resourceconflicts
- Providing documentation for your plug-in
- Registering your plug-ins
- Appendix A Feature comparison of the runtime application and FileMaker Pro
- Appendix B Valid names used in CGI requests for FileMaker Pro XML data
- Generating a –find, –findall, or –findany request
- Generating a –view request
- Generating a –new request
- Generating an –edit request
- Generating a –delete request
- Generating a –dbnames request
- Generating a –layoutnames request
- Generating a –scriptnames request
- Generating a –dbopen request
- Generating a –dbclose request
- Generating a -dup request
- Generating an -img request
- Specifying parameters for the request
- –db (Database)
- –lay (Layout)
- –format (Format)
- –recid (Record ID)
- –modid (Modification ID)
- –lop (Logical operator)
- –op (Comparison operator)
- –max (Maximum records)
- –skip (Skip records)
- –sortfield (Sort field)
- –sortorder (Sort order)
- –script (Script)
- –script.prefind (Script before Find)
- –script.presort (Script before Sort)
- –styletype (Style type)
- –stylehref (Style href)
- –password (Database password)
- field name (Name of specific field)
- Appendix C FileMaker Pro values for error codes
- Index
12-4 Developer’s Guide
Description of the FMExample plug-in’s
external functions
The FMExample plug-in provided ins the Microsoft Visual C++ and
Code Warrior Pro example projects adds the following external
functions to FileMaker Pro.
Function’s name
and parameter Description of external function
Xpl-Version, “ ” This function returns the version of the plug-in. It has
no parameters.
Note A version function similar to the one provided
in the example plug-in is required for every
FileMaker Pro plug-in.
Xpl-NumToChar, integer This function returns the ASCII character that
corresponds to the integer (1-255) passed to it.
Xpl-CharToNum, This function returns the ASCII integer value of the
character
character passed to it.
Xpl-Format, This function returns the parameter as a text string
<a string of numbers>
formatted as specified in the configuration dialog
box. Use this function to format numbers such as
telephone numbers, postal codes, and so on.
Formatting proceeds from right to left. Each #
symbol in the format string is replaced by the next
number in the parameter string. All remaining #
symbols are replaced with zeros. The Xpl-Format
function is not designed to handle strings containing
alphabetical characters. For example, if the
parameter is a phone number like 1-800-ABC-DEFG,
the function ignores the alpha characters and returns
something like (000) 000-1800.
If the parameter contains more than 249 characters or
if there are more characters than there are # symbols
in the format string, then the function returns a -01.
Function’s name
and parameter Description of external function
Xpl-NumWords, This function returns a number in bank check format. -
<numbers in a floating
For example 44.345 returns Forty-Four Dollars and -
format, like “44.345”
34 Cents. -
up to 9,999,999,999.99>
All digits beyond the third decimal place and any
alphabetical characters are ignored.
Note The source code for the Xpl-NumWords function
is based on the calculation formula described in the
TechInfo article “Converting Numbers to Words or
Numbers to Text.” By writing the formula into the
code, this FMExample plug-in demonstrates how an
external function can save users hours of database
development time.
For a description of the formula, go to
www.filemaker.com/support. Click on the TechInfo
database link. In the search dialog box on the Web
site, choose Product: FileMaker. In the Article
Number box, type 104580.
Using the example plug-in
To access the external functions, do the following:
1. Install the FMExample.fmx file (Windows) or FMExample file
(Mac OS). See “Installing, enabling, and configuring the
example plug-in” on page 12-3.
2. In the Application Preferences dialog box, select FMExample to
enable the plug-in. Because the example plug-in includes a function
that requires configuration, the Configure button is enabled.
3. Click Configure.
The configuration dialog box that appears depends on how the plug-
in source code was written. The XPL-Format function in the example
plug-in displays the following configuration dialog box.