скрыть

скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Google  
 

Передача AT-команд модему на примере поднятия модемом трубки



Автор: Владимир

{ **** 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;





Copyright © 2004-2016 "Delphi Sources". Delphi World FAQ




Группа ВКонтакте   Ссылка на Twitter   Группа на Facebook