Форум » GUI » Ввод Numeric данных в конструкции Dialog Window » Ответить

Ввод Numeric данных в конструкции Dialog Window

Tilman: Помогите разобратся. При вводе при помощи @...TEXTBOX в конструкции DEFINE DIALOG ....END DIALOG , (как я понял) допускается только ввод текстовых данных. Добавление ключей NUMERIC и INPUTMASK в @...TEXTBOX приводит к ошибке на этапе компиляции или вообще пропаданию элемента. Что я не правильно делаю. В примерах видел применение конструкций REDEFINE DIALOG и RESOURSE. Но как это применить не знаю. И поможет ли это. Среда xHarbour MiniGUi

Ответов - 4

Петр: Tilman пишет: При вводе при помощи @...TEXTBOX в конструкции DEFINE DIALOG ....END DIALOG , (как я понял) допускается только ввод текстовых данных. Нет. Добавление ключей NUMERIC и INPUTMASK в @...TEXTBOX приводит к ошибке на этапе компиляции Нет. Просто конструкции типа @...TEXTBOX чувствительны к порядку размещения предложений. С DEFINE проще ( или наоборот - уже не помню ). Т.е. хочу сказать внимательно посмотрите примеры. В примерах видел применение конструкций REDEFINE DIALOG и RESOURSE. Но как это применить не знаю. И поможет ли это. REDEFINE DIALOG применяется при использовании заранее созданных диалогов. Используйте какой нибудь ResEdit, создайте диалог, сохраните в виде файла ресурсов, прилинкуйте к программе и загрузите с помощью REDEFINE. Если для вас это в диковинку - используйте DEFINE WINDOW, MiniGUi полноценно с диалогами из файлов ресурсов работать не может (опять же - это только мое личное мнение, т.е. мнение человека не использующего MiniGUi ). А поможет - не поможет - это смотря на какой результат вы рассчитываете

Tilman: Проверил и попробовал после Вашего совета разные варианты ключевых слов. К положительному результату не привело. Добавлял другие предложения, которые согласно документации не обязательны. Привожу конкретный пример //*********************** Function ddd() Private x1:=0, X2:="qwerty" DEFINE DIALOG Test00 OF Form_00 AT 100, 100 WIDTH 200 HEIGHT 120 CAPTION "Test" @ 50,10 TEXTBOX Test_1 DIALOG Test00 HEIGHT 20 WIDTH 70 VALUE x1 NUMERIC INPUTMASK "9999.99" @ 80,10 TEXTBOX Test_2 DIALOG Test00 HEIGHT 20 WIDTH 70 VALUE x2 END DIALOG Вызов данной функции приводит к такому результату: Два слова о результате, который я хочу получить. Я уверено чувствую себя в Clipper. Написано много кода. В системе компании работает 150чел. На 32 разряда перевел.(консольный режим). Плавно хочу перейти под нормальный графический интерфейс. В конструкции "Define Dialog" меня очень заинтересовало ключевое слово DIALOGPROG. У меня похожие алгоритмы в моей системе. Один отработчик для всего диалога. Может я чего-то не то делаю. Направьте на путь истинный.

Петр: Tilman пишет: Добавление ключей NUMERIC и INPUTMASK в @...TEXTBOX приводит к ошибке на этапе компиляции или вообще пропаданию элемента. Проверил и попробовал после Вашего совета разные варианты ключевых слов. К положительному результату не привело. ??! Вы же получили работающую программку - пускай она работает и не так как бы вам хотелось. Сверили синтаксис, исправили и никакой "ошибки на этапе компиляции" не получили. Ваш пример компилируется ! Добавьте к @ 50,10 TEXTBOX Test_1 еще предложение INVISIBLE и попробуйте еще раз . Петр пишет: MiniGUi полноценно с диалогами из файлов ресурсов работать не может Беру свои слова назад - MiniGUi вообще полноценно с диалогами работать не может Баг на баге сидит, багом погоняет. И судя по всему, никто из пользователей MiniGUi возможность работы с диалогами не использует! А значит с чистой совестью Григорий Филатов может провести чистку исходников и еще уменьшить размер библиотеки на несколько байт Tilman пишет: Может я чего-то не то делаю. Направьте на путь истинный. Какие к вам могут быть претензии.. Петр пишет: (опять же - это только мое личное мнение, т.е. мнение человека не использующего MiniGUi ). Обращайтесь к людям реально использующим MiniGUi, опять же если такие на этом форуме имеются


Tilman: С сожалению пару дней пробовал с диалогами и пришел к тому же выводу что и Вы. MiniGUi вообще полноценно с диалогами работать не может. Ключевое слово "INVISIBLE" помогло, но работа не стабильная. И то только после того как поставил на все вложенные компоненты ключевое слово "ID xx". Кроме этого в ходе экспериментов обнаружил, что требуются в описании обьектов применять ключевые слова без которых по идее можно обойтись. Например "CAPTION" или "FONT". Разочарован. Какое свойство обьекта соответствует ключевому слову "INVISIBLE"? Переделал все на DEFINE WINDOW. Как-то стало веселее. С вводом все вроде нормально, но теперь после удаления этого временного окна ввода ("Release") не могу вернуться в то (уже дочернее окно) из которого вызывал свое временное окно ввода. Меня выкидывает в "MAIN". Хотя вызывал из "Browse"(атрибут родительского окна Browse->Child). Отзовитесь кто реально работает на MiniGui. У меня есть еще куча вопросов (наверно дурацких в т.ч.) Просто хочется быстро разобраться в этой теме. Переделать интерфейс. Документацию подробной не назовешь. В примерах встречаешь много того, чего в документации нет.



полная версия страницы