Главная страницаОбратная связьКарта сайта

Передача 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;

Обсудить статью на форуме


Если Вас заинтересовала или понравилась информация по разработке на Delph - "Передача AT-команд модему на примере поднятия модемом трубки", Вы можете поставить закладку в социальной сети или в своём блоге на данную страницу:

Так же Вы можете задать вопрос по работе этого модуля или примера через форму обратной связи, в сообщение обязательно указывайте название или ссылку на статью!
   


Copyright © 2008 - 2024 Дискета.info