- - * - WhiteUnicorn - * - -




* #WhiteUnicorn/ StartPage/ Documentation/DelphiFAQ >


Frequently Asked Questions

How can I dial out through the modem under Win32?

Question:

How can I dial out through the modem under Win32?

Answer:

You can use the Windows API function CreateFile() to get a handle
to the com port, and use standard file I/O to communicate with the
given port.

Example:

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;



* #WhiteUnicorn/ StartPage/ Documentation/DelphiFAQ >



- - * - Anastasija aka WhiteUnicorn - * - - LJLiveJournal
PFPhotoFile