Поле ввода

Элемент управления «Поле ввода» предназначен для ввода текстовой строки или числа с клавиатуры в графическом интерфейсе. Введенное значение передается в контроллер в соответствующее поле структуры 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);