Dokument: FAXINTER.TXT
Datum: 25.12.97
Zweck: Verwendung von STarFax und Viewfax in eigenen Programmen.
Stand: Version 2.0-C

Definition von Schnittstellen und Aufrufkonventionen

Inhalt:

STarFax Parameter........................ 1
STarFax AES-Messages..................... 2
ViewFax Parameter........................ 3
ViewFax AES-Messages..................... 4
Erstellen von eigenen Fax-Treibern....... 5
Faxversand starten....................... 6


-0- Allgemeine Infos:
=====================
STarFax & Viewfax knnen mit einfachen Parametern durch eigene Programme
gesteuert werden.
1. Kommandozeilenparameter, z.B. fr Dateinamen
2. AES-Nachrichten per APPL_WRITE fr komplexere Aufgaben
Damit lassen sich z.B. komplette Faxe einfach erstellen und versenden.
Zum Empfang der AES-Bachricht muss das Programm natrlich bereits
gestartet sein, bzw. vorher gestartet werden (SHELL_WRITE, P_EXEC)

-1- STARFAX Parameter:
======================
Als Parameter kann der Name einer JOB-Datei angegeben werden.
Diese wird geladen und sofort ausgefhrt.
JOB-Dateien enthalten in je 4 Zeilen:           

-1- Name
-2- Fax-Nr.
-3- zu sendende FAX-Dateien
-4- Datum und Uhrzeit (optional, in Vorbereitung)

-2- STARFAX AES Messages:
========================= 
var msg=array[1..16] of integer (ACHTUNG C-Programmierer: Index hier 1 !)

msg[1]=$5346 (="SF")
msg[2]=eigene APP-Id
msg[4]="J"
msg[5]=Hi-Word Pointer auf Dateiname einer JOB-Datei
msg[6]=Lo-Word "

STarFax antwortet in [1]..[3] wie oben,

msg[5]=Hi-Word Pointer auf Fehler-Status als Klartext.
msg[6]=Lo
msg[4]="JS" JobStart : Empfangen, JOB wird jetzt ausgefhrt...
       "JE" JobError : Fehler bei Ausfhrung (z.B. besetzt...)
       "JO" JobOk    : Ohne Fehler beendet

-3- VIEWFAX Parameter:
======================
Als optionaler Parameter kann bei Programmstart ein
Name einer Faxdatei (.F* oder .I*) oder einer Kommandodatei (.CMD)
angegeben werden, evtl. zustzlich noch:
 -I  Suchpfad=Eingehendes Fax
 -O  Suchpfad=Ausgehendes Fax

Ohne Dateiname gibt's noch folgende Parameter:
 -P  automatisch alle neuen Faxe selektieren und ausdrucken
 -Q  Viewfax automatisch beenden

Viewfax kann mit Hilfe einer einfachen Kommandodatei auch
Folgen vom Befehlen ausfhren. Eine Kommandodatei
enthlt in jeder Zeile ein Kommandokrzel, evtl. gefolgt von einem
Leerzeichen und einem Dateinamen.

 Kommando  Zweck
-------------------
 L DATEI   Fax laden, Zeiger auf Dateiname in msg[5] und msg[6]
 S DATEI   Fax sichern als ...
 Q         Quit
 C         Close, Fenster schliessen
 N         Neue DIN A4-Seite erstellen und Cursor an Seitenanfang
 I DATEI   Importieren einer ASCII oder IMG Datei an aktueller Position

-4- VIEWFAX AES-Messages:
=========================
ber AES-Nachrichten kann Viewfax ebenfalls Kommandodateien ausfhren.

var msg=array[1..16] of integer
msg[1]=AES Funktionsnr, immer $5646  (="VF")
msg[2]=Eigene App-ID.
msg[4]="J"
msg[5]=Hi-Word Dateiname einer CMD-Datei
msg[6]=Lo-Word Dateiname
                
Weitere Vorschlge nehme ich gerne an.

-5- Faxtreiber erstellen
========================
Im Verzeichnis \FDDKIT\C bzw. \FDDKIT\GFA befinden sich
Librarys mit Funktionen zum erstellen eigener Faxe mit
GFA-Basic oder C (Die C-Variante geht auch in Pure Pascal)
Die Funktionen drften sich selbst erklren.
Wichtig: Die Pfade fr die Dateiablage werden in der Datei
C:\STARCALL.SET fesgelegt. Man sollte also STarFax installieren
oder selbst diese Datei anlegen und dort wie folgt festlegen:

SENDPATH E:\STARFAX\FAXE.OUT
RECPATH E:\STARFAX\FAXE.IN

-6- Faxversand starten
======================
Das Faxprogramm kann nach Erstellen der Faxe automatisch aktiviert
werden:
Dazu mu der Wert des Cookie-Jar "FAX!" nach Erstellung der Faxe
um die Seitenanzahl erhht werden.

Das Fax-Programm wartet in seiner Event-loop auf "FAX!">0,
durchsucht dann den Fax-Pfad nach den zuletzt erstellten n Seiten,
fragt nach der Faxnummer und sendet.

Ich hoffe, dieses Verfahren wird in Zukunft auch von anderen
Fax-Programmen untersttzt.

Cookie "FAX!":

Bit 0...7: Anzahl bereiter Fax-Seiten
Bit 8..31: reserviert.

Ingo Linkweiler

-eof-

