Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > COM Port - слушать


Автор: X-Vlad 23.12.2004, 14:36
ПРивет всем.

Значит вот такая вот штука:
Есть компьютер подключеный через com порт к Мини-АТС.
Когда на кладут трубку(после разговора) АТС генерирует отчет(куда(откуда)звонили, длительность разговора, внутренний номер, линия...и.т.д.).
Вопрос в чом:
Как мне написать хук что-бы через ком порт моя программа читала эти даные. (АТС посылает даные на ком порт)... Мне нужен хук который при наличии даных записывает все что пришло в файл.


Помогите плз.

Автор: _hunter 25.12.2004, 15:41
а зачем хук?
можно просто порт слушать.

Автор: X-Vlad 25.12.2004, 17:13
_hunter как? можно пример кода?


Зарание благодарен.

Автор: _hunter 25.12.2004, 17:25
поищи на MSDN
статья называлась типа serial communications on windows

Автор: Bes 27.12.2004, 15:35
Есть хороший примерчик. Куда выслать.

Автор: X-Vlad 27.12.2004, 16:56
Bes Vladimir@x-vlad.com

Автор: Bes 27.12.2004, 16:59
выслал.

Автор: X-Vlad 27.12.2004, 20:13
Bes у тебя нормальн окомпелировалось???.. у мя на Дельфях 6, и 7-ых вы дает ошибку:

на строке
Код

If Not ReadFile(hPort,MyBuff,SizeOf(MyBuff),ByteReaded,null) Then

Ошибка:
Цитата
[Error] ComPortUnit.pas(89): Types of actual and formal var parameters must be identical

подключил в Uses модуль Variants? все равно неработает..((( в чем проблема?

Автор: _hunter 27.12.2004, 20:19
а варианты тут при чем?
посмотри по справке что ожидает функция и сравни с передаваемыми типами.

Автор: Bes 28.12.2004, 09:18
2X-Vlad:
там в проседурах
Procedure TCommThread.QueryPort;
Var
ByteReaded надо поменять с integer на cardinal
и в процедуре
Procedure WriteStrToPort(Str:String);

ByteWritten тоже.

Думаю это было написано для Д4

Автор: X-Vlad 28.12.2004, 09:44
Bes большое спасибо - работает.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)