Ranko Bojanic, Pascal Developer
14 May 1998
This is a demo of how to utilize the FAXstf Pascal interfaces to create a program to send faxes. Included in this demo package is a running application (requires the FAXstf library), CW Pro project file, and source code files.
Click here to download the package (562k)
This SendFax Demo shows how a fax can be sent from within a Pascal program. To use this program to send a fax, you must have a modem and the FAXstf library. The FAXstf library is available from STF Technologies, Inc. for $69.95, but a competitive upgrade is available for $49.50. FAXstf software is different from any other similar software in the sense that the interface files are provided for Pascal, C and several other languages (i.e., commands can be sent to the FAXstf program from these languages). The interface files are in the FaxSTF˘ Developers Kit which can be found on CodeWarrior Pro 3 (CW Pro 3 Tools:Cool Demos, SDKs,&Tools:SDKs & Libraries:STF Developers Kit.sit). It can be also downloaded from http://www.stfinc.com/devkit.html.
The interface files used in this project are two libraries, FaxSTFLib68K1 and FaxSTFLib68K1, from the STF Developers Kit folder (C Libraries:Metrowerks:68K:A5 relative), and the Pascal interface file is FaxSTFIntf.p. The PPC libraries did not work on my Power Macintosh 7500/100 - so this is a 68K project. The interface file provides a long list of Pascal functions and procedures which can be used to control the FAXstf software. To keep this project as simple as possible, we have not attempted to provide here all the commands available in the FAXstf program. So, before using this program, some of the options must be set manually. First, go to the Chooser, select FaxPrint and set the Background Imaging to Off. Then select Fax Settings from the FaxMenu, find Fax Software item and set the Fax Software button On. Also check FaxStatus DA.
If you are sending out only a small number of faxes with a standard cover page, you probably do not need this program. You can use instead the fax program that usually comes bundled with a modem. These programs usually allow you to use a few edit fields in the cover sheet, with data from the address book. You can move these edit fields left or right, up or down, and you can even add a picture to the cover page, but you cannot change or edit what what these edit fields display. There is also a limit on the number of faxes you can send at one time.
If you have to send 5000 faxes to 5000 people and each fax should be a form letter, without a cover sheet, with each individual's address, salutations, etc., then you need custom faxing software. This program is only the first step in that direction. Right now, there is a HyperCard program, eLetter, which can create merged letters by reading a FileMaker data base and can send all letters automatically to FAXstf. Unfortunately, eLetter cannot at the present time include any graphics, unless it is a part of the cover page. A very nice program, eLetter is a shareware application available from Laser Point Software for $35. A demo version of eLetter can be downloaded from http://www.laserpoint.com/macsw.html.
The Macintosh Pascal - a Hobbyist's Guide to Programming the Mac OS in Pascal, by Koryn Grant and K.J. Bricknell, and the Pascal programs provided there, were used extensively during the writing of this program. I learned to write a print loop from PrintingPascal (Chapter 13), and to insert a picture resource into a text resource from TextPascal (Chapter 17). The PICT resource (131) and the TEXT resource (129) are borrowed from that chapter to show how the content of resource files can be sent by fax. Another PICT resource is borrowed from the original Mac OS System 1.0 (128). I am indebted also to Mr. Steve Kirk from the STF Developper Support for a lot of help and advice
Turn off background imaging- Open Chooser , select FaxPrint and set Background Imaging to OFF Open Fax Settings from the FaxMenu and click on Fax Software icon. Set Faxt software to ON and check FaxStatus DA. All settings in Fax Settings can be controlled from the program, but in this demo we have provided only support for Page Header and Cover Page options.