Молодой програмер, во сне ласкает свою жену, нежно поглаживая её, возбуждающе целует, доводя до оргазма. Та, проснувшись от неземного наслаждения, спрашивает: дорогой ты что делаешь? Тот во сне отвечает, модем сетаплю... :)
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 thenbegin
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)
S142 - Онлайновый формат символов (Online Character Format)
S144 - Выбор скорости автобода (Autobaud Speed Group Selection)
Функции набора номера модема: в статье описываются комманды, которые используются для управления модемом, а также сведения о S-регистрах модема.
Комментарии и вопросы
Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.