谁有用modem拨号的例子或拨号程序的源代码可不可以发给我?
如果有控件也要加上哦
[email protected]

解决方案 »

  1.   

    var
      hCommFile : THandle;procedure TForm1.Button1Click(Sender: TObject);
    var
      PhoneNumber : string;
      CommPort : string;
      NumberWritten : LongInt;
    begin
      PhoneNumber := 'ATDT 1-555-555-1212' + #13 + #10;
      CommPort := 'COM2';
     {Open the comm port}
      hCommFile := CreateFile(PChar(CommPort),
                              GENERIC_WRITE,
                              0,
                              nil,
                              OPEN_EXISTING,
                              FILE_ATTRIBUTE_NORMAL,
                              0);
      if hCommFile=INVALID_HANDLE_VALUE then
      begin
        ShowMessage('Unable to open '+ CommPort);
        exit;
      end; {Dial the phone}
      NumberWritten:=0;
      if WriteFile(hCommFile,
                   PChar(PhoneNumber)^,
                   Length(PhoneNumber),
                   NumberWritten,
                  nil) = false then begin
        ShowMessage('Unable to write to ' + CommPort);
      end;
    end;procedure TForm1.Button2Click(Sender: TObject);
    begin
     {Close the port}
      CloseHandle(hCommFile);
    end;
      

  2.   

    拨号控件:
    unit Dialer;interfaceuses
      SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
      Forms, Dialogs;type  TComPort = (dpCOM1,dpCOM2,dpCOM3,dpCOM4);
      TMethod  = (dmTone,dmPulse);  TDialer = class(TComponent)
      private
        { Private declarations }
        FComPort : TComPort;
        FNumberToDial : string;
        FConfirm : boolean;
        FMethod : TMethod;
      protected
        { Protected declarations }
      public
        { Public declarations }    procedure Execute;
      published
        property ComPort : TComPort read FComPort
                     write FComPort;
        property Confirm : boolean read FConfirm
                     write FConfirm;
        property Method  : TMethod read FMethod
                     write FMethod;
        property NumberToDial : string read FNumberToDial
                     write FNumberToDial;
        { Published declarations }
      end;procedure Register;implementationprocedure Register;
    begin  RegisterComponents('Samples', [TDialer]);
    end;procedure TDialer.Execute;
    var
      s : string;
      CId : Integer;
      Status : Integer;
      Buf : array[1..32] of Char;
    begin
      if FConfirm then
      begin
       if MessageDlg('About to dial the number '+FNumberToDial+'. Are you sure?',
          mtConfirmation, [mbYes,mbNo], 0)=mrNo then Exit;
      end;
      {Create a string to send to modem}
      s:=Concat('ATDT',FNumberToDial,^M^J);
      if FMethod=dmPulse then s[4]:='P';
      {Open Com Port}  StrPCopy(@Buf,'COM ');
      Buf[4]:=Chr(49+Ord(FComPort));
      CId:=OpenComm(@Buf,512,512);
      if CId<0 then
      begin
        MessageDlg('Unable to open '+StrPas(@Buf),mtError,
                    [mbOk], 0);
        Exit;
      end;
      {Send phone number to modem}
      StrPCopy(@Buf,s);
      Status:=WriteComm(CId,@Buf,StrLen(@Buf));
      if Status>=0 then
      begin
        MessageDlg('Pick up the phone',mtInformation,
                    [mbOk], 0);
        WriteComm(CId,'ATH'^M^J,5);
      end
      else    MessageDlg('Unable to dial number',mtError,
                    [mbOk], 0);
      {Close communication port}
      CloseComm(CId);
    end;end.
    使用举例:
    procedure TForm1.Button1Click(Sender: TObject);
    var
      TempDialer : TDialer;
    begin
      TempDialer:=TDialer.Create(Self);
      with TempDialer do
      begin
        ComPort:=dpCom4;
        Confirm:=true;
        Method:=dmTone;
        NumberToDial:='1(222)333-4444';
        Execute;
        Free;
      end;
    end;
      

  3.   

    做这方面的东西建议用TurboPower的Async Professional系列控件。
      

  4.   

    用ras api吧,例子已发到你的邮件
    你要这是不是这个?
      

  5.   

    以上的控件有三个函数不能通过编译:
     OpenComm
     CloseComm
     WriteComm
     有新的吗?
     
    能否给我一个ras api 
       [email protected]  谢谢 
      

  6.   

    就发到   [email protected] 或[email protected]  谢谢
      

  7.   

    各位走过的,路过的,有源代码的,给我发一份吧,正晕这呢,我的Email:[email protected]