Delphi World - это проект, являющийся сборником статей и малодокументированных возможностей  по программированию в среде Delphi. Здесь вы найдёте работы по следующим категориям: delphi, delfi, borland, bds, дельфи, делфи, дэльфи, дэлфи, programming, example, программирование, исходные коды, code, исходники, source, sources, сорцы, сорсы, soft, programs, программы, and, how, delphiworld, базы данных, графика, игры, интернет, сети, компоненты, классы, мультимедиа, ос, железо, программа, интерфейс, рабочий стол, синтаксис, технологии, файловая система...
Передача 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;
Проект Delphi World © Выпуск 2002 - 2004
Автор проекта: ___Nikolay