FORMalizer -- form printing utility

Peter Brigham MD pmbrig at gmail.com
Tue Apr 26 18:40:29 EDT 2011


As I just used this utility stack of mine again recently and was reminded of how much it streamlines a particular task, I thought I'd make it available to anyone who would like to use it.

In this age of electronic everything, there are still situations when you have to fill out a paper form for some reason. If you have to do this repeatedly it gets onerous, and it's particularly annoying if you are just rewriting information you have in a stack. FORMalizer allows you to print out a form with fields automagically filled in with data from a Rev stack. I use it because I have to print out and fax stuff to insurance companies, etc. I used to have to fill in all the fields by hand -- now I click a button and the form pops up with all the fields filled in for me, and I print it and send it out.

FORMalizer automates creating a built-in form as a substack of your mainstack. How it works: Open your data stack, then open the FORMalizer palette, then click a button to import a PNG or JPG of the form you need. (Multiple page forms are supported.) Adjust the rect of the image(s) if necessary. Next, click a button on the palette to create a field overlaying the form, name the field, move it to the correct position on the form, resize it if required, and repeat until all the fields you need are created. You can set the font and fontsize for the fields as desired. FORMalizer also makes it easy to create checkboxes (actually small locked square fields) and even groups of checkboxes that behave like radiobuttons (clicking one member of the group checks that "button" and unchecks the others in the group).

Then, click the "clone and attach..." button on the palette to clone the form stack and attach it as a substack of your data stack. Finally, click a button to put a pre-made script snippet on the clipboard, and paste the snippet into your data stack script (or wherever is appropriate in your message path). You can then edit the script, which will look something like this:

on emailReleasePrint
   set the label of btn "FMprint" of stack "emailRelease" to "print"
   put empty into fld id 1960 of card 1 of stack "emailRelease" -- clinName
   put empty into fld id 1961 of card 1 of stack "emailRelease" -- clinEmail
   put empty into fld id 1963 of card 1 of stack "emailRelease" -- anc1name
   put empty into fld id 1964 of card 1 of stack "emailRelease" -- anc1relp
   put empty into fld id 1965 of card 1 of stack "emailRelease" -- anc1phone
   put empty into fld id 1966 of card 1 of stack "emailRelease" -- anc1email
   put empty into fld id 1967 of card 1 of stack "emailRelease" -- anc2name
       etc.
   put "show" into tMode
   send "printForm" && quote & tMode & quote to stack "emailRelease"
end emailReleasePrint

Replace those "empty"s with anything you like -- fld "clinName", firstLast(ptName, true), item 3 of fld "ancillary" -- and when you call the handler the fields will be filled appropriately and the form will appear for review (and for filling in other fields by hand if you need to) and for printing.

This is a specialized need, to be sure, but if you have the need, here is a solution that will save you time and aggravation.

Download at:
http://home.comcast.net/~pmbrig/FORMalizer.rev.zip

-- Peter

Peter M. Brigham
pmbrig at gmail.com
http://home.comcast.net/~pmbrig






More information about the use-livecode mailing list