Компонент KlientServComConnect для Delphi5-7 (класс TKlientServComConnect) является не визуальным компонентом на базе класса TComponent. Компонент имеет мощные возможности по работе с Com-портами, модемами, позволяет создавать клиент-серверные приложения, взаимодействующие между собой по DualUp-соединению или по нуль-модему.
Возможности компонента KlientServComConnect:
- Настройка Com-порта.
- Запись в Com-порт.
- Чтение из Com-порта.
- Обработка событий Com-порта.
- Передача команд модему.
- Получение результатов команд модема.
- Автоматический набор номера модемом (набор номера определенное количество раз, установленное в соответствующем свойстве, с выводом результата набора).
- Установка соединения модемом, после набора номера вручную.
- Передача данных между приложениями через DualUp-соединение или нуль-модем (текст, файлы, буфер, команды).
- Параллельная передача данных. К примеру, одновременно можно передавать текст и файл.
- Одновременная передача данных в обе стороны. К примеру, с одной стороны приложение передает файл, а с другой текст или тоже файл.
Компонент имеет подробную справочную систему, а также реализовано 2 примера с исходным кодом - Klient и Server, представляющих собой полнофункциональные приложения клиента и сервера. Между приложениями
реализованы обмен текстом, файлами, причем это можно делать параллельно и одновременно. Также у клиентского приложения есть возможность получать структуру каталогов сервера, выбирать файл и закачивать его.
Компонент FreeWare, хотя в последующих версиях планируется сделать его платным. Надеюсь, что найдутся желающие тестировать компонент. Для тестировщиков все последующие версии будут бесплатны. Дистрибутив в присоединенном файле. Жду критики, советов, замечаний.
Barmutik
2:08:2005, 06:30
По описанию ничего .. жаль только что не по теме работы...
Цитата
жаль только что не по теме работы
К сожалению темы работ имеют свойство меняться
Barmutik
3:08:2005, 07:44
Это да ... особенно радует в компоненте что есть примеры использования ...
Пожалуйста подкиньте пример работы с компонентом KlientServComConnect. Мне необходимо считывать и записывать данные с Устройства подключенного к COM порту. Считывание и запись происходит по определенным адресам например 00F0.
Пожалуйста подкиньте пример работы с компонентом KlientServComConnect. Мне необходимо считывать и записывать данные с Устройства подключенного к COM порту. Считывание и запись происходит по определенным адресам например 00F0.
Конкретизируйте задачу. Где находится адрес 00F0, в пространстве I/O PC, или где? Обычно в устройство передаются байты данных и считываются по определенному протоколу.
к Com порту подсоединяется устройство в виде таблетки(как от домофонов) с этого устройства и необходимо считывать и записывать данные.
к Com порту подсоединяется устройство в виде таблетки(как от домофонов) с этого устройства и необходимо считывать и записывать данные.
Прежде всего вам надо знать протокол обмена данных между компьютером и устройством. Протокол обмена представляет собой набор команд - пакетов определенного формата и длины. То есть последовательность работы примерно такова:
1. Ваша программа посылает команду устройству, используя метод компонента KlientServComConnect1.WriteBuffer(buf, 100), где в переменной buf - пакет байт команды передаваемой устройству.
2. Устройство получив команду посылает ответ компьютеру, при этом в вашей программе должно возникнуть событие компонента OnReadPacket, где в параметре Packet должен появиться набор полученных байт от устройства, а в параметре Size количество полученных байт.
А куда вообще вводится конкретный адресс памяти в устройстве с которым хочеш работать(записывать и считывать инфу)?
Чтобы иметь доступ к памяти устройства, надо реализовывать обмен на уровне ядра системы, то есть к конкретному устройству надо писать драйвер этого устройства, а компонент KlientServComConnect тут не поможет - он позволяет осуществить обмен данными между вашей программой и внешним устройством через интерфейс RS232. Опишите подробнее, что за устройство, как оно работает, может смогу помочь. Можете написать в ПМ.
Это устройство iButton он подключается к Com порту через адаптер DS1402D-dr8.
Для того, чтобы записать или прочитать информацию в одной из ячеек памяти в вашей iButton, необходимо сделать примерно следующее: в порт, к которому подключен адаптер, сначала записать код команды (например, чтение памяти), затем адрес ячейки (например 2 байта, зависит от объема памяти микросхемы), затем читать байт(ы) данных из порта (это и будет содержимое ячейки(ек) памяти) детали смотрите в даташит для вашей микросхемы. У меня есть инфа по iButton DS1986, см. в присоединенном файле.Если нужна практическая помощь, за умеренную плату можно сделать.
Вышла новая версия компонента KlientServComConnect. Что нового:
- Удалены несколько выявившихся багов
- Добавлен дополнительный метод чтения при работе с COM-портом
- Добавлены 2 примера, демонстрирующие работу с COM-портом и модемом
Новая версия в присоединенном файле (см. 1-ый пост).
Цитата(zubr @ 2:09:2005, 06:34 )
Вышла новая версия компонента KlientServComConnect. Что нового:
- Удалены несколько выявившихся багов
- Добавлен дополнительный метод чтения при работе с COM-портом
- Добавлены 2 примера, демонстрирующие работу с COM-портом и модемом
Новая версия в присоединенном файле (см. 1-ый пост).
Извиняюсь за предыдущий пост -- случайно нажал Enter...
Цитата(zubr @ 2:09:2005, 06:34 )
Вышла новая версия компонента KlientServComConnect. Что нового:
Может ли компонент работать с нестандартными портами, образованными, скажем, сотовыми телефонами и т.д.???
У таких портов нет ни прерывания, ни адреса!
Что значит порты, образованные сотовыми телефонами?
Сотовые телефоны обычно подключаются к COM-портам, инфрокрасному порту, USB. Зачастую подключаются физически к USB, через программу эммулирующую COM-порт, в этом случае теоретически компонент должен работать, на практике не проверял.
Конкретный пример: под WinXP втыкаем телефон Motorola C350 в USB-порт. В панели управления в "Телефонах и модемах" появляется новый модем Motorola в свойствах которого указан COM3.
Досовые терминалки типа Term95 из Norton Commander обратиться к такому COM3 не могут. WinFossil его тоже не видит. Одна экзотическая виндовая тоже...
При этом, например, через стандартный виндовый Hyperterm к сотовому можно обращаться как к модему Motorola, и как к COM3.
Цитата
Конкретный пример: под WinXP втыкаем телефон Motorola C350 в USB-порт. В панели управления в "Телефонах и модемах" появляется новый модем Motorola в свойствах которого указан COM3.
Это как раз тот случай, когда подключение к USB эмулирует COM-порт. Как я уже отвечал в предыдущем посте: теоретически компонент KlientServComConnect должен работать, на практике не проверял (могут быть подводные камни). Попробуйте, буду очень благодарен за результаты тестирования.
У меня скомпилированные в Delphi 7 примеры (клиент и сервер) не работают под WinXP (клиент зависает на наборе номера)

, при этом клиент под Win98 звонит нормально. Я тебе отправил мэйл с описанием ситуации.
За обнаруженные баги спасибо, скоро выйдет новая версия, где они будут устранены.
Вышла новая версия компонента KlientServComConnect, устранены обнаруженные баги.
Вышла новая версия компонента KlientServComConnect. Что нового:
- Удалены несколько выявившихся багов
- Добавлена возможность выбора модема, в зависимости от установленного оборудования (см. свойство TModem.ModemName, метод TModem.EnumModems, что улучшило качество связи, так как инициализация модема и порта осуществляется в соответствии с inf-файлом выбранногог модема
- Добавилась возможность чтения любого объема данных передаваемых модемом порту в командном режиме (в предыдущей версии объем данных ограничивался размером буфера модема).
Новая версия в присоединенном файле (см. 1-ый пост).
По поводу примеров - я не нашел примеров работы с com портом в справке KlientServComConnect кроме етого текста:
Пример демонстрирует работу с Com-портом:
· Как открыть Com-порт
· Как записать в Com-порт
· Рассмотрены 5 вариантов чтения из Com-порта
Вообще мне нужно считать данные из com порта в двоичном виде т.е. так, как они приходят подскажите как это сделать с помощью KlientServComConnect.
Или какой другой способ.
И еще, регистрационный код можно получить?
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.