Delphi World - это проект, являющийся сборником статей и малодокументированных возможностей  по программированию в среде Delphi. Здесь вы найдёте работы по следующим категориям: delphi, delfi, borland, bds, дельфи, делфи, дэльфи, дэлфи, programming, example, программирование, исходные коды, code, исходники, source, sources, сорцы, сорсы, soft, programs, программы, and, how, delphiworld, базы данных, графика, игры, интернет, сети, компоненты, классы, мультимедиа, ос, железо, программа, интерфейс, рабочий стол, синтаксис, технологии, файловая система...
Функции набора номера модема

Молодой програмер, во сне ласкает свою жену, нежно поглаживая её, возбуждающе целует, доводя до оргазма. Та, проснувшись от неземного наслаждения, спрашивает: дорогой ты что делаешь? Тот во сне отвечает, модем сетаплю... :)


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;
  NumberWritten:=0;
  if WriteFile(hCommFile, PChar(PhoneNumber)^, Length(PhoneNumber),
  NumberWritten, nil) = false then
    ShowMessage('Unable to write to ' + CommPort);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  {Close the port}
  CloseHandle(hCommFile);
end;

А теперь теория

[AT-КОМАНДЫ МОДЕМА]:

  • A - Команда ответа (Answer Command)
  • Bn - Настройка связи (Communications Options)
  • D - Команда набора (Dial Command)
  • En - Команда выбора символа эха (Select Command Character Echo Option)
  • Hn - Управление Switchhook - эмуляция нажатия телефонного рычага (Control The Switchhook)
  • I0 - Идентификация кода продукта (Identify The Product Code)
  • I2 - Выполнение теста контрольной суммы ROM ( Perform ROM Checksum Test)
  • Ln - Выбор уровня громкости динамика (Select Speaker Volume Level)
  • Mn - Функция выбора опций динамика (Select Speaker Function Option)
  • Nn - Выбор опций для установления связи (Select Negotiate Handshake Option)
  • On - Переход к онлайновым командам (Go Online Command)
  • P - Выбор метода пульсового набора (Select Pulse Dialing Method)
  • Qn - Выбор опции результирующего кода (Select Result Code Option)
  • Sn= - Запись в S-регистр (Write To An S-Register)
  • Sn? - Чтение S-регистра (Read An S-Register)
  • T - Выбор метода тонового набора (Select Tone Dialing Method)
  • Vn - Выбор опции формата ответа (Select Response Format Option)
  • Wn - Выбор расширенного результирующего кода (Select Extended Result Code)
  • Xn - Выбор опции модемного вызова (Select Call Progress Option)
  • Yn - Выбор опции бездействия для разъединения (Select Long Space Disconnect Option)
  • Zn - Выполнение мягкого сброса (Perform Soft Reset)
  • &An - Выбор роли автоответчика (Select Originate/Answer Role For Autoanswer)
  • &Cn - Выбор опции определения передаваемых данных (Select Data Carrier Detect Option)
  • &Dn - Выбор опции готовности терминала данных (Select Data Terminal Ready Option)
  • &F - Загрузка заводских установок (Load Factory Default Profile)
  • &Gn - Выбор опции защиты тонового набора (Select Guard Tone Option)
  • &Kn - Выбор опций потока ConTDol (Select Flow ConTDol Option)
  • &Pn - Выбор параметров пульсового набора (Select Pulse Dialing Parameters)
  • &Qn - Выбор опций режима связи (Select Communications Mode Option)
  • &Rn - Выбор опций RTS/CTS (Select RTS/CTS Option)
  • &Sn - Выбор опций готовности передачи данных (Select Data Set Ready Option)
  • &T0 - Тест завершения в процессе (Terminate Test In Process)
  • &T1 - Инициирование локального аналога сетевой петли (Initiate Local Analog Loopback)
  • &T3 - Выполнение локальной цифровой сетевой петли (Perform Local Digital Loopback)
  • &T4 - Включение предоставления RDL-запросов (Enable Granting Of RDL Requests)
  • &T5 - Запрет предоставления RDL-запросов (Deny Granting Of RDL Requests)
  • &T6 - Инициирование удаленной цифровой сетевой петли (Initiate Remote Digital Loopback)
  • &T7 - Иниицирование внутреннего теста RDL (Initiate RDL With Self Test)
  • &T8 - Внутренний тест локальной сетевой петли (Local Loopback With Self Test)
  • &T19 - Выполнение теста RTS/CTS кабеля (Perform RTS/CTS Cable Test)
  • &Un - Отмена TDellis кодирования (Disable TDellis Coding)
  • &V - Просмотр профилей конфигурации (View Configuration Profiles)
  • &Wn - Сохранение активного профиля (Store Active Profile)
  • &Xn - Выбор источника синхронизации времени TDansmit (Store Active Profile)
  • &Yn - Выбор сохранения профиля для аппаратного перезапуска (Select Stored Profile For Hard Reset)
  • &Zn= - Сохранение телефонного номера (Store Telephone Number)
  • , - Пауза (Perform Pause)
  • = - Запись в S-регистр (Write To An S-Register)
  • ? - Чтение S-регистра (Read An S-Register)
  • P - Выбор пульсового набора (Select Pulse Dialing)
  • Т - Тоновый набор (Tone)

S-регистры модема

[РЕГИСТРЫ МОДЕМА]

  • S0 - Звонок, на который необходимо ответить (Ring After Which To Answer)
  • S1 - Количество звонков (Ring Count)
  • S2 - Символ отмены (Hayes Escape Character)
  • S3 - Символ перевода строки (Carriage Return Character)
  • S4 - Символ пропуска строки (Line Feed Character)
  • S5 - Символ пробела (Backspace Character)
  • S6 - Ожидание перед вызывом (Wait Before Blind Dialing)
  • S7 - Ожидание ответа (Wait For Carrier)
  • S8 - Время паузы для запятой (Pause Time For Comma)
  • S9 - Время восстановления (Carrier Recovery Time)
  • S10 - Время задержки для поднятия трубки после потери соединения (Lost Carrier Hang Up Delay)
  • S11 - Время DTMF соединения (DTMF Dialing Speed)
  • S12 - Время защиты отмены (Hayes Escape Guard Time)
  • S16 - Выполнение теста (Test in Progress)
  • S18 - Тест таймера модема (Modem Test Timer)
  • S19 - Настройки автосинхронизации (AutoSync Options)
  • S25 - Обнаружено изменение DTD (Detect DTD Change)
  • S26 - Интервал задержки RTS для CTS (RTS To CTS Delay Interval)
  • S30 - Неактивное время ожидания (Inactivity Timeout)
  • S31 - Символ XON (XON Character)
  • S32 - Символ XOFF (XON Character)
  • S36 - Ошибка согласования TDeatment (Negotiation Failure TDeatment)
  • S37 - Ускорение DCE линии (Desired DCE Line Speed)
  • S38 - Время ожидания снятия трубки (Hang-up Timeout)
  • S43 - Текущая скорость линии (Current Line Speed)
  • S44 - Техническая конструкция (Framing Technique)
  • S46 - Выбор протокола/компрессии (Protocol/Compression Selection)
  • S48 - Действие характеристики согласования (Feature Negotiation Action)
  • S49 - Низкий предел буфера (Buffer Low Limit)
  • S50 - Высокий предел буфера (Buffer High Limit)
  • S70 - Максимальное число ReTDansmissions (Maximum Number of ReTDansmissions)
  • S73 - Неактивное время ожидания (No Activity Timeout)
  • S82 - Выбор прерывания (Break Selection)
  • S86 - Код причины неудачной связи (Connection Failure Cause Code)
  • S91 - Выбор уровня TDansmit коммутируемой линии (Select Dial-up Line TDansmit Level)
  • S95 - Расширенный результат кода битовой карты (Extended Result Code Bit Map)
  • S108 - Селектор качества сигнала (Signal Quality Selector)
  • S109 - Селектор скорости соединения (Carrier Speed Selector)
  • S110 - Селектор V.32/V.32 bis (V.32/V.32 bis Selector)
  • S113 - Тональный вызов ConTDol (Calling Tone ConTDol)
  • S121 - Использование DTD (Use of DTD)
  • S141 - Таймер фазы обнаружения (Detection Phase Timer)
  • S142 - Онлайновый формат символов (Online Character Format)
  • S144 - Выбор скорости автобода (Autobaud Speed Group Selection)
Проект Delphi World © Выпуск 2002 - 2004
Автор проекта: ___Nikolay