Создаю форму. На ней пара текстовых полей TextField и кнопк?...

Автор ForumOOo (бот), 6 ноября 2016, 15:23

0 Пользователи и 1 гость просматривают эту тему.

ForumOOo (бот)

Компонент: Basic
Версия продукта: 5.x
Сборка: 5.2.2
ОС: Windows 7

Создаю форму. На ней пара текстовых полей TextField и кнопка. Как сделать так, если текстовые поля пустые, то кнопку нажать не получится или при
нажатии будет выскакивать сообщение, что нужно ввести данные в эти поля.
Лучше всего пример.
Спасибо

--
Подпись: Alosha

rami

Цитата: ForumOOo (бот) от  6 ноября 2016, 13:23Создаю форму. На ней пара текстовых полей TextField и кнопка. Как сделать так, если текстовые поля пустые, то кнопку нажать не получится или при
нажатии будет выскакивать сообщение, что нужно ввести данные в эти поля.
Если кнопка используется для записи данных, нужно назначить этим полям свойство "Обязательное" в настройке полей таблицы. См. снимки

Если кнопка не для записи данных в базу, нужно проверять сами поля.

vTanke


economist

"в Calc в диалоге" - то же самое, что написано выше для Base.

Но ёшкин кот - зачем в Calc программировать диалоги для ввода данных? Только для красоты?

Ведь сам Calc - практически готовый "диалог", с удобными и простыми "фишками":
- Проверка данных
- Условное форматирование
- Вычисления формулами
- Зависимые ячейки, контекстные списки
- 0 (ноль) строк программного кода  
- защита любого уровня
- доступ к любым базам данных
- возможность нагрузить работой не-программистов.

Я как-то сравнивал программирование пошагового визарда на диалогах+StarBasic и то же самое на Листах Calc, с двумя кнопками Вперед и Назад. На Диалогах все заняло 10 часов, на Листах - 1 час.

Опаментайтесь, друже!
Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...

kompilainenn

форма ввода данных нужна, чтобы пользователь не терялся в ячейках, а вводил то, что от него требуется и видел подсказку перед глазами
Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут

economist

kompilainenn - ну здесь хотят "подсказку" поверх "подсказки".

Ничто не мешает повторить "форму" прямо в центре листа.
Даже "модальность" её можно реализовать без программирования.

Впрочем..., я уже зарекался отговаривать людей от поедания кактусов, хотя чую - во многих случаях люди в итоге бросают затею, как только осознают сложность учета всех взаимозависимых событий в диалоге/форме.

К тому же 3/4 диалогов примерно такие по сложности:
Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...

vTanke

Цитата: kompilainenn от  7 ноября 2016, 09:12форма ввода данных нужна, чтобы пользователь не терялся в ячейках
Именно для этого, уровень пользователей в мире же различный к сожалению:(
Цитата: economist от  7 ноября 2016, 10:55ну здесь хотят "подсказку" поверх "подсказки"
Хочу, подскажете? В Base знаю, в диалоге в Calc нет.

economist

Чтобы пользователь не терялся в ячейках и тут же мог что-то ввести в "псевдо"-диалог (иллюстрация вложена)
Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...

economist

ТС - а что за "форма" в Calc имеется ввиду?

а) Данные - Форма

б) Alt+F11 - ИмяФайла - Standаrd - Dialog1

в) Слой "формы": ПКМ по элементу управления - Форма...

Проверить значение можно макросом, указанным в нужном Событии для контрола. Проверка как-то так:


' прочтем текстове поле по событию
Sub DrugayaSumma(oEvent as object)
oControl=oEvent.source  ' нашли где изменилось
newSumma=oControl.text ' считали что изменилось

Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...

vTanke