Kotlin
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Способы интеграции Kotlin
.. |br| raw:: html
**Создание объекта**
.. code:: Kotlin
val driver = MertechPrintScalesDriver()
**Добавление и получение параметров**
Добавление и получение параметров возможно через специальные функции, учитывающие тип данных этих параметров:
.. code:: Kotlin
fun setIntParam(paramType: DriverParams, value: Int): Int
fun setStringParam(paramType: DriverParams, value: String): Int
fun setUTF8StringParam(paramType: DriverParams, value: String): Int
fun setBytesArrayParam(paramType: DriverParams, value: ByteArray): Int
fun getIntParam(paramType: DriverParams, value: ArrayList): Int
fun getStringParam(paramType: DriverParams, value: ArrayList): Int
fun getBytesArrayParam(paramType: DriverParams, value: ArrayList): Int
.. hint:: Список типов параметров приведён в разделе с общими принципами работы с драйвером.
**Выполнение команд**
Для отправки любой поддерживаемой команды на весы нужно воспользоваться универсальной функцией выполнения команды
и указать в качестве аргумента значение DriverCommands, соответствующее команде.
.. code:: Kotlin
fun executeCommand(commandType: DriverCommands): Int
После успешного выполнения команды функция вернёт значение "0". В противном случае вернётся код ошибки.
**Пример работы**
.. code:: Kotlin
fun main(){
val driver = MertechPrintScalesDriver()
//Подключение
driver.setStringParam(DriverParams.IP, "192.168.1.111")
driver.setStringParam(DriverParams.PORT, "1111")
driver.setStringParam(DriverParams.PASSWORD, "0000")
driver.setIntParam(DriverParams.CONNECT_TIMEOUT, 4)
driver.executeCommand(DriverCommands.CONNECT)
//Получение названия магазина
driver.setIntParam(DriverParams.STRING_NUMBER, 1)
var result = driver.executeCommand(DriverCommands.GET_NAME_SHOP)
if(result == 0){
val shopName = arrayListOf()
result = driver.getStringParam(DriverParams.SHOP_NAME, shopName)
}
//Запись нового названия магазина
driver.setIntParam(DriverParams.STRING_NUMBER, 1)
driver.setStringParam(DriverParams.SHOP_NAME, "Пример названия")
driver.executeCommand(DriverCommands.SET_NAME_SHOP)
}
.. toctree::
:maxdepth: 2
:caption: Команды
:numbered:
Kotlin/Подключение_и_настройки_драйвера
Kotlin/Работа_с_товарами
Kotlin/Работа_с_файлами
Kotlin/Системные_настройки_весов
Kotlin/Состояние_весов
Kotlin/Штрихкод
Kotlin/Этикетка
Kotlin/Работа_с_распознаванием
Kotlin/Устаревшие_команды