|
Передача AT-команд модему на примере поднятия модемом трубки --------------------------------------------------------------------------------
Автор: Владимир WEB-сайт: http://delphibase.endimus.com
{ **** UBPFD *********** by delphibase.endimus.com **** >> Передача AT-команд модему на примере поднятия модемом трубки
Данная процедура показывает как передавать AT команды модему. Передача команд осуществляется через файл . В данном примере передается команда 'ATH1' поднять трубку (можно послушать разговор на линии ) Переменная hCommFile объявляется на уровне модуля.
Ограничением к применению является активные программы держущие порт модема открытым (факс,некоторые терминальные программы )
Зависимости: Messages, SysUtils Автор: Владимир, P.V@inetcomm.ru Copyright: Компакт диск неизвестного происхождения Дата: 8 июня 2002 г. ***************************************************** }
procedure upmodem; var PhoneCommand: string; CommPort: string; NumberWritten: cardinal; begin PhoneCommand := 'ath1' + #13 + #10; //Поднять трубку CommPort := 'COM1';
//-------------------Открыть порт как файл}
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;
//-------------Выполнить команду по средству записи в файл
NumberWritten := 0; if WriteFile(hCommFile, PChar(PhoneCommand)^, Length(PhoneCommand), NumberWritten, nil) = false then begin ShowMessage('Unable to write to ' + CommPort); end; end; Пример использования:
procedure TForm1.Button1Click(Sender: TObject); begin upmodem; end;
procedure TForm1.Button2Click(Sender: TObject); begin CloseHandle(hCommFile); //закрыть файл end;
|