C/C++
Способы интеграции C++
Создание объекта
Перед началом работы с устройством необходимо получить указатель на конкретный экземпляр объекта, который должен передаваться в каждую вызываемую функцию драйвера.
typedef void* libptr;
int create(libptr* handle);
Добавление и получение параметров
Добавление и получение параметров возможно через специальные функции, учитывающие тип данных этих параметров:
int set_int_param(libptr handle, int param_type, int64_t value);
int set_string_param(libptr handle, int param_type, std::string value);
int set_wstring_param(libptr handle, int param_type, std::wstring value);
int set_bytes_array_param(libptr handle, int param_type, std::vector<std::byte> value);
int get_int_param(libptr handle, int param_type, int64_t& param_value);
int get_string_param(libptr handle, int param_type, std::string& param_value);
int get_wstring_param(libptr handle, int param_type, std::wstring& param_value);
int get_bytes_array_param(libptr handle, int param_type, std::vector<std::byte>& param_value);
Подсказка
Список типов параметров приведён в разделе с общими принципами работы с драйвером.
Выполнение команд
Для отправки любой поддерживаемой команды на весы нужно воспользоваться универсальной функцией выполнения команды и указать в качестве аргумента числовой эквивалент нужной команды.
int execute_command(libptr handle, int command);
После успешного выполнения команды функция вернёт значение «0». В противном случае вернётся код ошибки.
Подсказка
Список всех поддерживаемых команд приведён в разделе с общими принципами работы с драйвером.
Пример работы
static int example(){
using namespace nativedriver;
libptr ptr;
create(&ptr);
set_string_param(ptr, 1, std::string("192.168.0.101"));
set_string_param(ptr, 2, std::string("1111"));
set_string_param(ptr, 3, std::string("1234"));
int connection_result = execute_command(ptr, CONNECT);
std::wstring shop_name_wstr;
std::string shop_name_str;
//Получение название магазина
set_int_param(ptr, StringNumber, 1);
int get_shop_name_result = execute_command(ptr, GET_NAME_SHOP);
get_wstring_param(ptr, ShopName, shop_name_wstr);
//Запись нового названия магазина
auto new_name = std::string("Назв. маг. 3");
set_int_param(ptr, StringNumber, 1);
set_string_param(ptr, ShopName, new_name);
int set_shop_name_result = execute_command(ptr, SET_NAME_SHOP);
//Получение нового названия магазина
set_int_param(ptr, StringNumber, 1);
get_shop_name_result = execute_command(ptr, GET_NAME_SHOP);
get_wstring_param(ptr, ShopName, shop_name_wstr);
return connection_result;
}
- 1. Подключение и настройки драйвера
- 1.1. Добавить IP в список для подключения
- 1.2. Подключение
- 1.3. Очистить список IP-адресов
- 1.4. Сменить язык драйвера
- 1.5. Получить текст ошибки
- 1.6. Получить результат последней команды для всех IP-адресов
- 1.7. Изменить корневой каталог драйвера
- 1.8. Получить версию драйвера
- 1.9. Получить версию схемы БД весов
- 1.10. Остановить выполнение текущей команды
- 2. Работа с товарами
- 2.1. Добавление категории к json-данным
- 2.2. Добавление сообщения к json-данным
- 2.3. Добавление партии товара к json-данным
- 2.4. Добавление рейтинга товара к json-данным
- 2.5. Добавление товара к json-данным
- 2.6. Удаление товара
- 2.7. Удаление товаров и связанных с ними данных
- 2.8. Получение данных фасовщика
- 2.9. Запись данных фасовщика
- 2.10. Удаление данных фасовщика
- 2.11. Запрос количества строк в сообщении
- 2.12. Удаление категории
- 3. Работа с файлами
- 4. Системные настройки весов
- 4.1. Задать время
- 4.2. Получить время
- 4.3. Задать дату
- 4.4. Получить дату
- 4.5. Задать формат даты
- 4.6. Изменить пароль администратора
- 4.7. Получить уровень логирования на весах
- 4.8. Задать уровень логирования на весах
- 4.9. Получить код выбранного на весах языка
- 4.10. Задать язык на весах
- 4.11. Отобразить сообщение на экране весов
- 5. Состояние весов
- 6. Штрихкод
- 7. Этикетка
- 7.1. Добавление текстового элемента в JSON-данные этикетки
- 7.2. Добавление штрихкода в JSON-данные этикетки
- 7.3. Добавление изображения в JSON-данные этикетки
- 7.4. Добавление графического элемента в JSON-данные этикетки
- 7.5. Отправка JSON-данных этикетки
- 7.6. Получение JSON-данных этикетки
- 7.7. Получить параметр «Формат этикетки» по-умолчанию
- 7.8. Задать параметр «Формат этикетки» по-умолчанию
- 7.9. Получить параметр «Формат итоговой этикетки» по-умолчанию
- 7.10. Задать параметр «Формат итоговой этикетки» по-умолчанию
- 7.11. Получить параметр «Итоговый формат этикетки корзины» по-умолчанию
- 7.12. Задать параметр «Итоговый формат этикетки корзины» по-умолчанию
- 7.13. Получить параметр «Формат этикетки для добавления товара в корзину» по-умолчанию
- 7.14. Задать параметр «Формат этикетки для добавления товара в корзину» по-умолчанию
- 7.15. Получить значение пользовательского текста в UTF-8 кодировке
- 7.16. Задать значение пользовательского текста в UTF-8 кодировке
- 7.17. Задать название магазина
- 7.18. Получить название магазина
- 7.19. Задать адрес магазина
- 7.20. Получить адрес магазина
- 7.21. Получить валюту
- 7.22. Задать валюту
- 7.23. Загрузка графического изображения
- 7.24. Получить размер изображения
- 7.25. Тестовая печать этикетки по-умолчанию
- 7.26. Печать файла
- 7.27. Задать номер весов
- 7.28. Печать этикетки конкретного товара
- 7.29. Получить значение угла поворота этикетки
- 7.30. Задать значение угла поворота этикетки
- 8. Работа с распознаванием
- 9. Устаревшие команды