Mac OS X beinhaltet eine Fax-Software zur Nutzung des internen Mac Modems. Für diese Fax-Software gibt es keine API, die Apple Dokumentation besagt "not supported yet".
Allerdings gibt es eine Möglichkeit direkt über Unix Befehle, indem man zuerst als Postscript File druckt und dieses Dokument mit dem Befehl "lp" an das interne Modem schickt.
4D 2004 erlaubt direkt Unix Befehle aufzurufen...
Die nachfolgende Methode druckt eine Rechnung als Postscript file auf die Festplatte (in den Temporary Ordner). Dann wird dieses File an die unter [Contacts]Fax gespeicherte Fax-Nummer geschickt. Für den Endanwender erfolgt dies "unsichtbar" im Hintergrund.
$temp:=Temporary folder+"fax.ps"
SET PRINT OPTION(Destination option ;2;$temp) ` drucke als PostScript
OUTPUT FORM([Invoices];"Invoice")
PRINT RECORD([Invoices];>)
SET PRINT OPTION(Destination option ;1) ` Drucker wieder zurückschalten
$unixtemp:=Replace string($temp;":";"/") ` Pfad muß Unix Format sein...
$unixtemp:=Substring($unixtemp;Position("/";$unixtemp))
$shellCommand:="/usr/bin/lp -d Internal_Modem -o phone="+
[Contacts]Fax+" "+$unixtemp
$input:=""
$lpResult:=""
$error:=""
LAUNCH EXTERNAL PROCESS($shellCommand;$input;$lpResult;$error)
"Internal_Modem" ist der Geräte-Name des internen Modems, sowohl auf G5 wie PowerBook.
Damit der Name verwendet werden kann, muß das Fax eingerichtet sein. Am einfachsten dazu mit TextEdit ein Testfax schicken, dadurch wird das Gerät bei Bedarf automatisch installiert. Der Terminal-Befehl macht das auf einem neu installiertem System nicht selbständig.
Gibt es das Gerät noch nicht, enthält $error einen entsprechenden Fehlertext.
Ob es das Gerät - oder andere - gibt, kann man im Terminal Fenster (oder mit LAUNCH EXTERNAL PROCESS) mit dem Befehl "lpstat -p -d" abfragen.
Bei einem Powerbook erhält man dann zusätzlich noch das Gerät "Bluetooth-Modem". Beachten Sie die unterschiedliche Schreibweise zu "Internal_Modem" ("-" bzw "_"). Der Name des Geräts hängt von der Installation ab, er kann je nach verwendete Version/Sprache des Systems unterschiedlich sein. Übliche Namen:
Internal_Modem Internes_Modem Modem_interne External_Modem
Einmal installiert ändert sich der Name nicht, entscheidend ist (zumindesten 10.2, 10.3 und 10.4) die erste Nutzung.