Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Aus eigener Anwendung faxen??? (https://www.delphipraxis.net/45440-aus-eigener-anwendung-faxen.html)

romber 6. Mai 2005 12:50


Aus eigener Anwendung faxen???
 
Hallo!

Ich habe einen Fritz! Card ISDN Adapter. Ich habe mitgelieferte Software installiert. Dabei wurde einen Fritz!Fax Drucker erstellt, mit dem man direkt Faxe senden kann. Ich möchte dieses Feature in meinem Programm nutzen. Geht ganz einfach, indem ich den Befehl übergebe, die Seite auszudrucken und als Zieldrucker Fritz!Fax Drucker wähle. Dann muss man jedoch noch die Faxnummer eingeben und aus "Senden" klicken. Das ist ein bisschen unbequem. Kann man den Fritz!Fax Drucke irgendwie direkt ansteuern, ich meine Rufnummer direkt aus dem eigenen Programm übergeben?

Danke!

rwachtel 6. Mai 2005 13:10

Re: Aus eigener Anwendung faxen???
 
Zitat:

Zitat von romber
[Faxen machen mit Fritz!Card]

Als Framework kann ich folgenden Code anbieten:

Wichtig: Funktioniert nur ab Fritz! Version 3.0a (oder so).

Delphi-Quellcode:
//******************* SendFax ************************* 
// Bild (TGraphic) faxen

procedure SendFax(Bild: TGraphic; FaxNummer: string);
const DokumentTitel = 'FritzMcCoy Test';
       FaxDruckerName = 'FRITZfax Drucker';
begin
// Zuerst den Titel und die Nummer des zu druckenden
// Dokuments in die Registry schreiben
// (Fritz!Fax schaut dort wohl vor Abfrage
// einer Nummer nach ;-)
with TRegistry.Create do
  try
    RootKey := HKEY_CURRENT_USER;
    if OpenKey('\Software\VB and VBA Program Settings\FRITZ!fax\Print', True) then
      WriteString(DokumentTitel, FaxNummer);
  finally
    CloseKey;
    Free;
   end;
// Nun das Bild auf den Faxdrucker drucken
with Printer do begin
  SetPrinter(FaxDruckerName, '', '', 0);
  Title := DokumentTitel; // und hier bitte auch den Titel setzen
  BeginDoc;
  Canvas.Draw((PageWidth - Bild.Width) div 2,
        (PageHeight - Bild.Height) div 2,
        Bild);
  EndDoc;
  PrinterIndex := -1; // Standarddrucker zuruecksetzen end;
end;
Btw: äusserst simpel, oder?

Zeitversetzt senden kann man unter Zuhilfenahme der Fritz!Fax-Version ab
3.02.1 oder so mit folgender Zeile z.B.:

Delphi-Quellcode:
if OpenKey('\Software\VB and VBA Program Settings\FRITZ!fax\SendTime', True) then
  WriteString(DokumentTitel, '11.02.2002 21:00');
(Jetzt bitte nicht von wegen mangelnder Fehlerüberprüfung und so reden, das ist ein QDF (Quick'n'Dirty Fax) :mrgreen:

hth

romber 6. Mai 2005 16:44

Re: Aus eigener Anwendung faxen???
 
:thumb: Danke! Geht!

rtv 5. Dez 2005 17:17

Re: Aus eigener Anwendung faxen???
 
:wink:
Danke geht!

Leider ist der Server nicht immer angemeldet und FRITZ!Fax muß immer gestartet sein - hat einer ne Idee dazu?

kattleya 13. Sep 2007 10:05

Re: Aus eigener Anwendung faxen???
 
Hallo,

sorry das ich so einen alten Beitrag ausgrabe, aber bin gerade dabei auch über Delphi heraus Faxe zu schicken und bin dadurch auf diesen Eintrag gestoßen.

Funktioniert auch super (vom Öffnen des FritzFax Fensterns mal abgesehen ;) ), mein Problem ist eigentlich, das hier nur ein Bitmap mitgegeben wird.

Funktioniert ja über diesen Befehl

Delphi-Quellcode:
Canvas.Draw((PageWidth - Bild.Width) div 2,
        (PageHeight - Bild.Height) div 2,
        Bild);
Würde aber gerne damit ein Word oder noch besser, ein OpenOffice Dokument mitgeben.
Habe es erstmal so versucht:

Delphi-Quellcode:
Canvas.TextRect(Rect(200,200,PageWidth-200,PageHeight-200),
                    200, 200, Dateiname);
D.h. ich gebe bei Dateiname den Pfad zur OpenOffice-Datei mit. Klappt leider nicht so ganz, denn ich bekomme dann einfach den String (also Pfad) auf dem Fax ..

Kennt da jemand ne Möglichkeit?
Evtl. auch ne Umwandlung von OpenOffice in ne Bitmap?

Danke schonmal

LG, Nina

mkinzler 13. Sep 2007 10:11

Re: Aus eigener Anwendung faxen???
 
In diesem Fall musst du dann OpenOffice sagen, daß es das Dokumnet auf dem Faxdrucker ausgeben soll.
Dein Code schreibt ja nur den String in ein Bitmap.


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:51 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz