Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Компонент Klientservcomconnect
Форум программистов > Hard & Soft > Авторское ПО
zubr
Компонент KlientServComConnect для Delphi5-7 (класс TKlientServComConnect) является не визуальным компонентом на базе класса TComponent. Компонент имеет мощные возможности по работе с Com-портами, модемами, позволяет создавать клиент-серверные приложения, взаимодействующие между собой по DualUp-соединению или по нуль-модему.
Возможности компонента KlientServComConnect:
- Настройка Com-порта.
- Запись в Com-порт.
- Чтение из Com-порта.
- Обработка событий Com-порта.
- Передача команд модему.
- Получение результатов команд модема.
- Автоматический набор номера модемом (набор номера определенное количество раз, установленное в соответствующем свойстве, с выводом результата набора).
- Установка соединения модемом, после набора номера вручную.
- Передача данных между приложениями через DualUp-соединение или нуль-модем (текст, файлы, буфер, команды).
- Параллельная передача данных. К примеру, одновременно можно передавать текст и файл.
- Одновременная передача данных в обе стороны. К примеру, с одной стороны приложение передает файл, а с другой текст или тоже файл.

Компонент имеет подробную справочную систему, а также реализовано 2 примера с исходным кодом - Klient и Server, представляющих собой полнофункциональные приложения клиента и сервера. Между приложениями
реализованы обмен текстом, файлами, причем это можно делать параллельно и одновременно. Также у клиентского приложения есть возможность получать структуру каталогов сервера, выбирать файл и закачивать его.

Компонент FreeWare, хотя в последующих версиях планируется сделать его платным. Надеюсь, что найдутся желающие тестировать компонент. Для тестировщиков все последующие версии будут бесплатны. Дистрибутив в присоединенном файле. Жду критики, советов, замечаний.
Barmutik
По описанию ничего .. жаль только что не по теме работы...
zubr
Цитата
жаль только что не по теме работы

К сожалению темы работ имеют свойство меняться cool.gif
Barmutik
Это да ... особенно радует в компоненте что есть примеры использования ...
E]
Пожалуйста подкиньте пример работы с компонентом KlientServComConnect. Мне необходимо считывать и записывать данные с Устройства подключенного к COM порту. Считывание и запись происходит по определенным адресам например 00F0.
Evgen
Пожалуйста подкиньте пример работы с компонентом KlientServComConnect. Мне необходимо считывать и записывать данные с Устройства подключенного к COM порту. Считывание и запись происходит по определенным адресам например 00F0.
zubr
Конкретизируйте задачу. Где находится адрес 00F0, в пространстве I/O PC, или где? Обычно в устройство передаются байты данных и считываются по определенному протоколу.
Guest
к Com порту подсоединяется устройство в виде таблетки(как от домофонов) с этого устройства и необходимо считывать и записывать данные.
Evgen
к Com порту подсоединяется устройство в виде таблетки(как от домофонов) с этого устройства и необходимо считывать и записывать данные.
zubr
Прежде всего вам надо знать протокол обмена данных между компьютером и устройством. Протокол обмена представляет собой набор команд - пакетов определенного формата и длины. То есть последовательность работы примерно такова:
1. Ваша программа посылает команду устройству, используя метод компонента KlientServComConnect1.WriteBuffer(buf, 100), где в переменной buf - пакет байт команды передаваемой устройству.
2. Устройство получив команду посылает ответ компьютеру, при этом в вашей программе должно возникнуть событие компонента OnReadPacket, где в параметре Packet должен появиться набор полученных байт от устройства, а в параметре Size количество полученных байт.
Evgen
А куда вообще вводится конкретный адресс памяти в устройстве с которым хочеш работать(записывать и считывать инфу)?
zubr
Чтобы иметь доступ к памяти устройства, надо реализовывать обмен на уровне ядра системы, то есть к конкретному устройству надо писать драйвер этого устройства, а компонент KlientServComConnect тут не поможет - он позволяет осуществить обмен данными между вашей программой и внешним устройством через интерфейс RS232. Опишите подробнее, что за устройство, как оно работает, может смогу помочь. Можете написать в ПМ.
Evgen
Это устройство iButton он подключается к Com порту через адаптер DS1402D-dr8.
zubr
Для того, чтобы записать или прочитать информацию в одной из ячеек памяти в вашей iButton, необходимо сделать примерно следующее: в порт, к которому подключен адаптер, сначала записать код команды (например, чтение памяти), затем адрес ячейки (например 2 байта, зависит от объема памяти микросхемы), затем читать байт(ы) данных из порта (это и будет содержимое ячейки(ек) памяти) детали смотрите в даташит для вашей микросхемы. У меня есть инфа по iButton DS1986, см. в присоединенном файле.Если нужна практическая помощь, за умеренную плату можно сделать.
zubr
Вышла новая версия компонента KlientServComConnect. Что нового:
- Удалены несколько выявившихся багов
- Добавлен дополнительный метод чтения при работе с COM-портом
- Добавлены 2 примера, демонстрирующие работу с COM-портом и модемом
Новая версия в присоединенном файле (см. 1-ый пост).
Alt
Цитата(zubr @ 2:09:2005, 06:34 )
Вышла новая версия компонента KlientServComConnect. Что нового:
- Удалены несколько выявившихся багов
- Добавлен дополнительный метод чтения при работе с COM-портом
- Добавлены 2 примера, демонстрирующие работу с COM-портом и модемом
Новая версия в присоединенном файле (см. 1-ый пост).
*
Alt
Извиняюсь за предыдущий пост -- случайно нажал Enter... sad.gif
Цитата(zubr @ 2:09:2005, 06:34 )
Вышла новая версия компонента KlientServComConnect. Что нового:

Может ли компонент работать с нестандартными портами, образованными, скажем, сотовыми телефонами и т.д.???
У таких портов нет ни прерывания, ни адреса!
zubr
Что значит порты, образованные сотовыми телефонами?
Сотовые телефоны обычно подключаются к COM-портам, инфрокрасному порту, USB. Зачастую подключаются физически к USB, через программу эммулирующую COM-порт, в этом случае теоретически компонент должен работать, на практике не проверял.
Alt
Конкретный пример: под WinXP втыкаем телефон Motorola C350 в USB-порт. В панели управления в "Телефонах и модемах" появляется новый модем Motorola в свойствах которого указан COM3.

Досовые терминалки типа Term95 из Norton Commander обратиться к такому COM3 не могут. WinFossil его тоже не видит. Одна экзотическая виндовая тоже...
При этом, например, через стандартный виндовый Hyperterm к сотовому можно обращаться как к модему Motorola, и как к COM3.
zubr
Цитата
Конкретный пример: под WinXP втыкаем телефон Motorola C350 в USB-порт. В панели управления в "Телефонах и модемах" появляется новый модем Motorola в свойствах которого указан COM3.

Это как раз тот случай, когда подключение к USB эмулирует COM-порт. Как я уже отвечал в предыдущем посте: теоретически компонент KlientServComConnect должен работать, на практике не проверял (могут быть подводные камни). Попробуйте, буду очень благодарен за результаты тестирования.
Alt
У меня скомпилированные в Delphi 7 примеры (клиент и сервер) не работают под WinXP (клиент зависает на наборе номера) sad.gif , при этом клиент под Win98 звонит нормально. Я тебе отправил мэйл с описанием ситуации.
zubr
За обнаруженные баги спасибо, скоро выйдет новая версия, где они будут устранены.
zubr
Вышла новая версия компонента KlientServComConnect, устранены обнаруженные баги.
zubr
Вышла новая версия компонента KlientServComConnect. Что нового:
- Удалены несколько выявившихся багов
- Добавлена возможность выбора модема, в зависимости от установленного оборудования (см. свойство TModem.ModemName, метод TModem.EnumModems, что улучшило качество связи, так как инициализация модема и порта осуществляется в соответствии с inf-файлом выбранногог модема
- Добавилась возможность чтения любого объема данных передаваемых модемом порту в командном режиме (в предыдущей версии объем данных ограничивался размером буфера модема).
Новая версия в присоединенном файле (см. 1-ый пост).
shigo
По поводу примеров - я не нашел примеров работы с com портом в справке KlientServComConnect кроме етого текста:
Пример демонстрирует работу с Com-портом:

· Как открыть Com-порт

· Как записать в Com-порт

· Рассмотрены 5 вариантов чтения из Com-порта

Вообще мне нужно считать данные из com порта в двоичном виде т.е. так, как они приходят подскажите как это сделать с помощью KlientServComConnect.
Или какой другой способ.
И еще, регистрационный код можно получить?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2009 IPS, Inc.