Поле ввода
Элемент управления «Поле ввода» предназначен для ввода текстовой строки или числа с клавиатуры в графическом интерфейсе. Введенное значение передается в контроллер в соответствующее поле структуры RemoteXY. Поле ввода поддерживает ввод произвольного текста, ввод целого числа, ввод вещественного числа.
Структура данных
Данные | Тип | Значение |
Для произвольного текста | ||
Введенная строка | char[x] | Введенная текстовая строка UTF8 оканчивающаяся нулем, под строку выделено x байт |
Для вещественного числа | ||
Введенное число | float (32 бит) | Введенное значение числа |
Для целого числа | ||
Введенное число | int16_t (16 бит) | Введенное значение числа |
Описание
Элемент управления «Поле ввода» позволяет ввести произвольную текстовую информацию или числовую информацию с экрана графического интерфейса. Поле ввода поддерживает три режима работы: ввод текста, ввод целого числа, ввод вещественного числа с плавающей точкой.
При вводе текста количество байт, выделяемых под строку задается в свойствах элемента. Используется кодировка UTF8, по этому необходимо учитывать, что под некоторые символы выделяется по 2 байта на символ.
При вводе вещественного числа необходимо указать количество разрядов после запятой, отображаемых в поле ввода.
Поддержка типа вводимого значения так же осуществляется на этапе ввода значения путем предоставления пользователю соответствующей клавиатуры для ввода. Поле ввода может содержать кнопку очистки введенного значения. Поддерживается центрирование введенного текста влево, вправо и по центру.
Свойства элемента
Свойство | Значение |
Имя переменной | Имя переменной в структуре RemoteXY по правилам языка C++ |
Цвет | Цвет поля ввода |
Тип вводимых данных | Определяет тип вводимых данных. Доступные значения: текстовая строка, вещественное число, целое число. |
Символов | Количество байт, выделяемых под строку. Система автоматически добавит 1 байт для завершающего нуля. Свойство задается только для текстовой строки. Необходимо учитывать, что в кодировке UTF8 некоторые символы занимают 2 байта. |
Десятичных знаков | Количество знаков после запятой, отображаемых в поле ввода. Свойство задается только для вещественных чисел. |
Выравнивание | Горизонтальное выравнивание введенного текста. Доступные значения: слева, центр, справа. |
Показывать фон | Признак отображения фона поля ввода. |
Кнопка очистки | Признак отображения кнопки очистки поля ввода. |
Примеры программирования Arduino IDE
Для проверки введенного в поле ввода текста на соответствие определенной строке, можно использовать следующий код:
if (strcmp (RemoteXY.edit_1, "OK")==0) {
// TODO entered “OK”
}
Пример, как преобразовать введенную строку в числовой тип данных, в случае если для ввода данных используется произвольный текст:
Для целого числа:
int value = atoi (RemoteXY.edit_1);
Для вещественного числа:
float value = atof (RemoteXY.edit_1);