Набор компонентов для Delphi

Общие компоненты

  • KRBluetooth.pas – работа с блютуз устройством
  • KRBoundLabel.pas – метка, которую можно прикрепить к любому визуальному компоненту
  • KRCheckBox.pas – модифицированный TCheckBox
  • KRCheckGroupBox – модифицированный TCheckGroupBox
  • KRComboBox – модифицированный TComboBox
  • KRComponentCollection – коллекция из TComponent
  • KRImageList – модифицированный TImageList
  • KRIniConfig – набор компонентов для работы с ini-файлом
  • KRListView – модифицированный TListView
  • KRNormalArray – компоненты для потокового расчета среднеарифметического значения
  • KRProgressBar – модифицированный TProgressBar
  • KRRadioButton – модифицированный TRadioButton
  • KRThreadQueue – синхронизированная очередь
  • KRThread – модифицированный TThread
  • KRTimer – таймер
  • KRValueEdit – поле для ввода числового значения

Работа с файловой системой

  • KRDriveComboBox – выпадающий список дисковых накопителей
  • KRFileList – список файлов
  • KROpenFolderDlg – диалоговое окно выбора папки

Сеть

  • KRBTSocketClient – сокет клиент для передачи данных по bluetooth
  • KRBTSocketServer – сокет сервер для передачи данных по bluetooth
  • KRParser – класс для создания потоковых парсеров
  • KRParserCfg – конфигурационные данные для KRParser
  • KRSockets – набор компонентов для работы с сокетами
  • KRTCPSocketClient – сокет клиент для передачи данных по протоколу TCP/IP
  • KRTCPSocketServer – сокет сервер для передачи данных по протоколу TCP/IP

Автоматизация

  • KRBTConnector – клиент для передачи данных по bluetooth в потоке
  • KRBtnVarUpdate – кнопка обновления переменной TKRVariable
  • KRBTServer – сервер для передачи данных по bluetooth в потоке
  • KRCOMPort – класс для работы с COM-портом
  • KRCOMPortSets – форма настройки COM-порта
  • KRCOMPortConnector – клиент для передачи данных через COM-порт в потоке
  • KRConnector – набор классов для потоковых клиентов
  • KRConStackBar – компонент на основе TKRProgressBar, отображающий уровень заполнения стеков коннектора
  • KRField – поле для мониторинга и установки значения переменной TKRVariable
  • KRIndicator – индикатор
  • KRMBRegIndex – компонент настройки Modbus регистра, устанавливает индекс
  • KRMBRegInterval – компонент настройки Modbus регистра, устанавливает интервал обновления
  • KRMBRegReadFunc – компонент настройки Modbus регистра, устанавливает функцию чтения
  • KRMBRegWriteFunc – компонент настройки Modbus регистра, устанавливает функцию записи
  • KRModbus – компонент для работы по протоколу Modbus
  • KRModbusMaster – набор стандартных функций Modbus и инструментов для построения и обработки результата
  • KRModbusClient – набор инструментов для управления удаленными переменными, связь с которыми осуществляется по средствам протокола Modbus
  • KRNMEA0183 – компонент для работы по протоколу NMEA0183
  • KRPlcIO – компонент для работы с файлами контроллеров ОВЕН
  • KRServer – сервер для передачи данных в потоке
  • KRSpeedInfo – компонент для отображения скорости
  • KRTCPConnector – клиент для передачи данных по протоколу TCP/IP в потоке
  • KRTCPServer – сервер для передачи данных по протоколу TCP/IP в потоке
  • KRVariables – переменные, используются при сетевой передачи данных
  • KRVarLabel – компонент для мониторинга значения переменной TKRVariable
  • KRVButton – кнопка для установки значения переменной TKRVariable
  • KRVCheckBox – checkbox для включения/выключения бита в переменной TKRVariable
  • KRVComboBox – выпадающий список для установки значения переменной TKRVariable по индексу выбранного элемента

Утилиты

  • funcs – набор функция
  • KRCRC – функции расчета crc-суммы
  • KRHTMLParseUtils – набор функция для поиска в HTML коде
  • KRStreamCoder – кодировка потока относительно кодового слова
  • KRStrUtils – набор функций для работы со строками
  • lgop – логические операции

Версия Delphi должна быть не ниже XE.

Для установки набора компоненто понадобятся библиотеки JEDI Windows API. В настройках Delphi нужно добавить путь к следующим папкам:

  • \JEDI\jwa\branches\2.3\Win32API
  • \Kandiral\Utils
  • \Kandiral\Common
  • \Kandiral\Automation
  • \Kandiral\File
  • \Kandiral\Net
  • \Kandiral\Media


Скачать:
Набор компонентов для Delphi от 15.01.2017 г.
Старые версии
 
Поделиться:
0
Ruslan Tomak
26.01.2019 15:04
 
А есть пример работы с KRCOMPortConnector?
Просто мне MODBUS не нужен, у меня свой протокол.
Я так понял, нужно с KRCOMPortConnector.Send разобраться?
Показать полностью
5
Руслан Кандирал
26.01.2019 22:30
Ruslan Tomak
 
KRCOMPortConnector - наследник класса KRConnector.
Задача класса KRConnector отправить запрос, получить ответ и вернуть его при помощи callback функции.
Классы KRCOMPortConnector, KRTCPConnector и KRBTConnector определяют способ передачи данных.

Пример работы с KRConnector есть в файле KRModbusMaster.pas

В двух словах:

procedure Send(APack: PKRBuffer; ALength: integer; ACallBack: TKRConnectorCallBack;
AData: Pointer = nil; AWaitResult: boolean = true; ARecvLen: integer = 0;
ADelimiter: Cardinal = 0; ADelimiterLen: integer = 0);

отправляет запрос в очередь на обработку коннектором.

APack: PKRBuffer - указатель на буфер с отправляемыми данными
ALength: integer - длинна пакета данных
ACallBack: TKRConnectorCallBack - callback функция, которая будет вызвана после обработки запроса
AData: Pointer = nil - указатель на дополнительные данные. Указатель будет передан в callback функции.
AWaitResult: boolean = true - ждать ответ на запрос
ARecvLen: integer = 0 - если мы знаем длину ответа, то указываем тут
ADelimiter: Cardinal = 0 - если есть разделитель между пакетами ответа, то указываем тут. Например в текстовой версии modbus есть разделитель <CR><LF>
ADelimiterLen: integer = 0 - количество байт в разделителе (1-4)


функция, которая будет вызвана после обработки запроса
procedure Callback(AError: integer; APack: PKRBuffer; ALength: integer; AData: Pointer) ;

AError: integer - код ошибки (0 - нет ошибок)
APack: PKRBuffer - указатель на буфер с ответом. Это тот-же буфер который использовался при отправке пакета. Если вы его создавали при помощи функции GetMem или New, то в callback функции нужно освободить память буфера. Так сделано в KRModbusMaster.pas
ALength: integer - количество байт данных в ответе
AData: Pointer - указатель на дополнительные данные


Возможные ошибки:

'Нет ошибок.',
ceOK = TKRConnectorError(0);

'Очередь коннектора переполнена.',
ceQueueOverflowed = TKRConnectorError(1);

'Соединение не установлено.',
ceNotConnection = TKRConnectorError(2);

'Не удалось отправить данные.',
ceDataNotSended = TKRConnectorError(3);

'Ответ не получен.',
ceNoResponse = TKRConnectorError(4);

'Истекло время ожидания при отправке данных.',
ceRequestTimeout = TKRConnectorError(5);

'Истекло время ожидания при получении данных.',
ceResponseTimeout = TKRConnectorError(6);

'Соединение не активно.'
ceNotActive = TKRConnectorError(7);
Показать полностью
0
Ruslan Tomak
25.01.2019 22:25
 
Привет. Вопрос про KRCOMPortSets.
Добавил его на форму, при создании формы делаю KRCOMPortSets.Init
Затем по нажатию кнопки делаю KRCOMPortSets.Execute
Но ничего не происходит. Это я понял из примера с сайта. Или я что-то упустил?
Как я понял, должно открыться окно с настройками порта?
Показать полностью
5
Руслан Кандирал
25.01.2019 22:52
Ruslan Tomak
 
У компонента KRCOMPortSets есть свойство COMPort. В нём нужно указать объект который будет настраиваться. Добавляются только объекты соответствующие интерфейсу IKRCOMPortSets
Показать полностью
0
Алексей Никанов
12.01.2019 22:47
 
Руслан, проект поражает объёмом... Но при компиляции, в юните KRIniConfig, была обнаружена не объявленная переменная в процедуре "TKRIniCfgParam.SetDefaultValue(const Value: String);". Строка 326:- "_fs:=FormatSettings;"
Показать полностью
5
Руслан Кандирал
12.01.2019 23:03
Алексей Никанов
 
У меня когда-то тоже такая ошибка вылетала. Уже не помню в чем точно была причина. Но скорее всего у вас версия Delphi ниже XE или попробуйте новее версию компонентов
https://kandiral.ru/o_sajte.html#comment...
Показать полностью
0
Денис Яковлев
11.10.2018 01:37
 
Есть ли версия данных компонентов подходящая для Delphi 7?
Показать полностью
5
Руслан Кандирал
11.10.2018 06:13
Денис Яковлев
 
Нет. Компоненты изначально разрабатывались под Delphi XE.
Можно попробовать поставить на Delphi 7, но как минимум точно будет проблема со строками, так как код заточен под двухбайтовые строки, а в седьмой версии используются одно байтовые. По этому, я думаю, проще Вам перейти на Delphi XE.
Показать полностью

Новости сайта

06.02.2018 15:53
Добавлена программа SimpleADB
Программа SimpleADB разработана в среде Delphi XE для отладки Android устройств через утилиту adb
07.10.2017 23:57
Оптимизация библиотек Modbus для контроллеров Arduino
Сделал оптимизированный вариант библиотек Modbus под Arduino, с целью снизить размер занимаемой памяти для скетча
28.03.2017 23:51
Modbus Slave RTU/ASCII для микроконтроллеров Arduino
Реализация клиентской части протокола Modbus RTU и Modbus ASCII для контроллеров Arduino и пример использования с видео обзором

Популярные статьи

Пример передачи данных по протоколу Modbus на Delphi
Пример передачи данных с контроллера ОВЕН ПЛК100 в программу на Delphi по протоколу Modbus
Modbus Slave на Arduino
Реализация клиентской части протокола Modbus RTU и Modbus ASCII для контроллеров Arduino
Набор компонентов для Delphi
Набор компонентов для Delphi включает в себя компонент для работы с файловой системой, сетью, автоматизацией и другие.