На этом по поводу использования
На этом по поводу использования потоков для считывания данных из Com-порта, пожалуй, все.
Следуя правилам хорошего тона, прикладываю ко всему написанному работающий пример.
В примере используется самое доступное устройство для пользователей интернет - модем (на Com-порту). В качестве "примочек" я использовал лампочки, которые включаются (или выключаются) при изменении статуса модема. Можно было прикрутить лампочки-детекторы входящих-выходящих сигналов, но вместо них используются счетчики байтов.
Реализация кода включения-выключения не самая лучшая: можно было бы использовать TImageList для хранения изображений лампочек. Но почему-то ??? (кто знает почему - напишите) использование ImageList.GetBitmap при наличии запущенного потока "подвешивает" приложение насмерть. Причем это происходит под Windows'98, если тоже самое делать под Windows'95, то все в порядке.
Для проверки работоспособности примера попробуйте понабирать AT-команды - ATZ - инициализировать модем
- ATH - положить трубку
- ATH1 - поднять трубку
- ATS0=1 - включить автоподнятие трубки на первый сигнал
- ATS0=0 - выключить автоподнятие трубки
- ATDP_номер_телефона_интернет_провайдера - мне нравится больше всего :)
- ATDP - набор в импульсном режиме, ATDT - набор в тоновом режиме
Да, еще. Проект написан под
Delphi3, при использовании
Delphi более свежих версий возможны ошибки "несовпадения типов".
В этом случае поменяйте типы "ошибочных" переменных с
Integer на
Cardinal.
Скачать проект —
(17K)
архив обновлен
Другие небольшие статьи,
примеры и программы можете найти на
Смотрите также :
Содержание Назад Вперед