- Правда, что внешние модемы устойчивее внутренних?
- Конечно! Ведь у внешних - четыре ножки и низко расположенный центр тяжести!
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;
{Dial the phone}
NumberWritten := 0;
if WriteFile(hCommFile,
PChar(PhoneNumber)^,
Length(PhoneNumber),
NumberWritten,
nil) = falsethenbegin
ShowMessage('Unable to write to ' + CommPort);
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin{Close the port}
CloseHandle(hCommFile);
end;
Программа на Delphi для дозвонка по телефону с помощью модема!
Давайте разберемся, что это код делает:
Открытие порта общения
Процедура Button1Click вызывается, когда пользователь кликнет первый кнопку. Она открывает файл под именем COM2 (обычное имя для порта серийной связи) в режиме записи с помощью функции CreateFile. Если операция неудачна, она отображает сообщение об ошибке и выходит.
Дзвонок по телефону
Программа затем пишет команду дозвона в открытый порт. Команда хранится в переменной PhoneNumber: ATDT 1-555-555-1212 (фейковое число для иллюстрационных целей). Символы #13 и #10 представляют собой возврат каретки и перенос строки соответственно.
Функция WriteFile пишет команду дозвона в порт. Если операция неудачна, она отображает сообщение об ошибке.
Закрытие порта
Когда пользователь кликнет вторую кнопку, процедура Button2Click вызывается, которая закрывает файловый обработчик с помощью функции CloseHandle.
Теперь по поводу вашего вопроса: "Более надежны ли внешние модемы, чем внутренние?"
Она не связана с шуткой о четырех ногах и низком центре тяжести. В реальности оба внутренних и внешних модема имеют свои сильные и слабые стороны. Внутренние модемы часто интегрируются в ноутбуки или материнских платах, что может сделать их более удобными, но также более уязвимыми для проблем с аппаратурой. Внешние модема, с другой стороны, могут быть легко заменены или обновлены, если это необходимо.
В отношении надежности она ultimately зависит от различных факторов, таких как качество модема himself, тип соединения (например, дозвон, DSL и т.д.) и окружающие условия (например, шум, помехи). Оба внутренних и внешних модема могут быть надежными, если они правильно обслуживаются и настраиваются.
Статья описывает, как использовать внешний модем для набора номера с помощью программного кода на языке Delphi.
Комментарии и вопросы
Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS