iup.GetParam в LUA: проверка данных в функции обратного вызова
Новичок LUA, экспериментирующий с использованием GUI iup.GetParam
с помощью LUA 5.1
,
У меня есть простое использование iup.GetParam
(которая отлично работает с простой функцией обратного вызова, проверяющей OK & Cancel), и я пытаюсь добавить некоторую простую проверку данных для параметров (например, проверка параметра на наличие буквенно-цифровых символов), но не уверена в правильности подхода.
Я искал справочное руководство (и для примеров кода), но пока вычеркнул пробел.
- Используя пример проверки строки, если я хочу отклонить введенный пользователем символ и отобразить старое значение параметра, я просто
return 0
из функции обратного вызова, или я также должен сбросить значение параметра до его предыдущего значения до возврата? Или правильный подход - это нечто совершенно другое? - В любом случае, я должен
refresh
/update
графический интерфейс с отдельнымiup
звонить или делаетGetParam
справиться с этим для меня?
Какую бы комбинацию я ни попробовал, она не работает (параметр, к счастью, отображает не алфавитно-цифровые символы). Отладка показывает проверочный тест и возвращает работу в кодированном виде, поэтому я ищу совет получить подтверждение правильного подхода. Делиться простым рабочим примером было бы здорово.
1 ответ
просто верните 0
Нет, IUP сделает все за вас, в этом случае
Загрузите "getparam.wlua" из папки примеров, затем добавьте к его обратному вызову следующее:
elseif (param_index == 1) then
return 0
Вы заметите, что целочисленное значение теперь доступно только для чтения.