2013-02-24 1 views
4

누구나 Windows 8 Fax true Delphi에서 팩스를 보낼 수있는 방법을 알고 있습니다. Windows 팩스를 번호 및 PDF 첨부 파일로 시작해야한다는 것을 알고 있습니다. 그것에 관한 자습서가 있습니까? thnx.델파이에서 Windows로 팩스

답변

7

예를 들어 Fax Service COM Interfaces을 사용할 수 있습니다. 간단한 조작의 경우, fxscomex.dll 라이브러리의 형식 라이브러리를 가져오고 (this example 기준)이 같은 코드를 사용할 수 있습니다

uses 
    ComObj, ActiveX, FAXCOMEXLib_TLB; 

procedure TForm1.Button1Click(Sender: TObject); 
var 
    I: Integer; 
    JobIDs: OleVariant; 
    FaxServer: IFaxServer2; 
    FaxDocument: IFaxDocument2; 
begin 
    try 
    FaxServer := CoFaxServer.Create; 
    FaxServer.Connect(''); 
    FaxDocument := CoFaxDocument.Create; 
    FaxDocument.Body := 'd:\Document.pdf'; 
    FaxDocument.DocumentName := 'Document name'; 
    FaxDocument.Recipients.Add('+1 (425) 555-4567', 'Bill'); 
    FaxDocument.Sender.Name := 'Bob'; 
    FaxDocument.Sender.BillingCode := '23A54'; 
    FaxDocument.Sender.Department := 'Accts Payable'; 
    FaxDocument.Sender.FaxNumber := '+972 (4) 555-9070'; 
    JobIDs := FaxDocument.ConnectedSubmit(FaxServer); 

    for I := VarArrayLowBound(JobIDs, 1) to VarArrayHighBound(JobIDs, 1) do 
     ShowMessage('Job ID: ' + VarArrayGet(JobIDs, [I])); 
    except 
    on E: EOleSysError do 
     ShowMessage(
     Format('Sending of the fax failed! %s [%d]', [E.Message, E.ErrorCode]) 
    ); 
    end; 
end; 

또는 형식 라이브러리없이 같은 :

procedure TForm1.Button1Click(Sender: TObject); 
var 
    I: Integer; 
    JobIDs: OleVariant; 
    FaxServer: OleVariant; 
    FaxDocument: OleVariant; 
begin 
    try 
    FaxServer := CreateOleObject('FaxComEx.FaxServer'); 
    FaxServer.Connect(''); 
    FaxDocument := CreateOleObject('FaxComEx.FaxDocument'); 
    FaxDocument.Body := 'd:\Document.pdf'; 
    FaxDocument.DocumentName := 'Document name'; 
    FaxDocument.Recipients.Add('+1 (425) 555-4567', 'Bill'); 
    FaxDocument.Sender.Name := 'Bob'; 
    FaxDocument.Sender.BillingCode := '23A54'; 
    FaxDocument.Sender.Department := 'Accts Payable'; 
    FaxDocument.Sender.FaxNumber := '+972 (4) 555-9070'; 
    JobIDs := FaxDocument.ConnectedSubmit(FaxServer); 

    for I := VarArrayLowBound(JobIDs, 1) to VarArrayHighBound(JobIDs, 1) do 
     ShowMessage('Job ID: ' + VarArrayGet(JobIDs, [I])); 
    except 
    on E: EOleSysError do 
     ShowMessage(
     Format('Sending of the fax failed! %s [%d]', [E.Message, E.ErrorCode]) 
    ); 
    end; 
end; 
+0

믿을 수 있습니다. . 고정해야합니다. gazillion 번 감사드립니다. – Sardukar

+0

여러분을 환영합니다! – TLama

+0

질문이 하나 더 있습니다. 스크립트를 테스트하기 위해 팩스 모뎀을 얻고 있습니다. 모뎀이 있는지 어떻게 확인할 수 있습니까? – Sardukar