Форум программистов, компьютерный форум, киберфорум
Наши страницы
Lazarus
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
berkut_174
2 / 2 / 11
Регистрация: 17.01.2013
Сообщений: 316
#1

Проверка сразу нескольких Edit

20.01.2015, 17:01. Просмотров 745. Ответов 8
Метки нет (Все метки)

Всем привет!

Есть порядка 10 Edit-ов на форме и кнопка ОК.
При нажатии на ОК информация и Edit-ов заносится в БД.
Нужно чтобы некоторые из Edit-ов обязательно были не пустыми!
Как это красиво написать ?

Я вот так только представляю:
Delphi
1
2
3
if Edit1.Text <> '' then
  if Edit2.Text <> '' then
    if...
Какие ещё есть варианты ?
Потому что 5-10 условий писать...

Заранее спасибо.

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.01.2015, 17:01
Ответы с готовыми решениями:

Проверка данных в Edit
Я сделал фильтрацию в БД, и мне нужно, чтобы когда я вводил числа в Edit, он...

Проверка ввода в Edit.
ребят, помощь срочно ваша требуется(( как сделать чтоб когда мы вводим в...

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

Проверка в нескольких Edit
У меня есть код if processExists(Edit1.text) then ...

Проверка сразу нескольких компьютеров на вирусы
Скажите как можно проверить сразу не сколько компьютеров(разом) либо live cd...

8
romkds
1 / 1 / 1
Регистрация: 20.01.2015
Сообщений: 22
20.01.2015, 17:04 #2
Можно и так If (Edit1.Text <> '') and (if Edit2.Text <> '') then или так
If (Edit1.Text <> '') or (if Edit2.Text <> '')
0
berkut_174
2 / 2 / 11
Регистрация: 17.01.2013
Сообщений: 316
20.01.2015, 17:08  [ТС] #3
Цитата Сообщение от romkds Посмотреть сообщение
If (Edit1.Text <> '') or (if Edit2.Text <> '')
Блин, хочется как-то всё сократить... это-то понятно.
Как например с case ... of.
Есть какие-то хитрости ?

Или как-то так:

Delphi
1
2
if (Edit1,Edi2,Edit3).Text <> '' then
...
0
romkds
1 / 1 / 1
Регистрация: 20.01.2015
Сообщений: 22
20.01.2015, 17:54 #4
Через case врядли будет короче
Можно попробовать через цикл. Примерно такой код.

Delphi
1
2
3
4
5
6
7
for i:=0 to ComponentCount-1 do
if Components[i] is TEdit then
if TEdit(Components[i]).Text <> '' then
 
Здесь что нужно сделать
 
end
0
berkut_174
2 / 2 / 11
Регистрация: 17.01.2013
Сообщений: 316
20.01.2015, 18:35  [ТС] #5
Ну да ладно, пока так оставил.

У меня ещё вопрос.
Открываю модальную форму, на ней расположена ButtonPanel.
При нажатии на ОК выполняется проверка того, что нужные edit-ы заполнены.
Если что-то не заполнено, то форма не должна закрываться.
А у меня при любом раскладе закрывается.
Как подавить закрытие модальной формы после нажатия на ОК, если что-то не заполнено ?
0
romkds
1 / 1 / 1
Регистрация: 20.01.2015
Сообщений: 22
20.01.2015, 19:25 #6
Можно воспользоваться методом onClose код в нем будет примерно такой
Action := caNone;
0
volvo
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
25738 / 17292 / 6867
Регистрация: 22.10.2011
Сообщений: 30,500
Записей в блоге: 6
20.01.2015, 19:37 #7
berkut_174, модальная форма закрывается, если по нажатию кнопки ее свойству ModalResult будет присвоено любое значение, кроме mrNone. При mrNone форма не закроется.

То есть, тебе достаточно в конце проверки в зависимости от того, надо ли закрывать форму, присвоить этому свойству либо mrNone (не закрывать форму), либо, скажем, mrOk (и форма тут же закроется)
1
berkut_174
2 / 2 / 11
Регистрация: 17.01.2013
Сообщений: 316
20.01.2015, 19:44  [ТС] #8
romkds
volvo

Спасибо.

Я уже через CanClose начал делать)
mrNone конечно предпочтительней.
0
shyub
344 / 144 / 39
Регистрация: 11.07.2013
Сообщений: 791
25.01.2015, 11:43 #9
Если вам приходится часто обращаться последовательно к десяти и более Edit-ам, то целесообразно создать массив Edit-ов и обращение производить в цикле. Подобный вопрос уже рассматривался в теме "Как сделать кроссворд в Лазарус".
0
25.01.2015, 11:43
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.01.2015, 11:43

Проверка checked сразу нескольких checkbox
Нужно сразу проверить несколько checkbox, которые идут по порядку, выполняя...

Проверка нескольких Edit на пустоту и нули
Доброй ночи всем! На форме размещено несколько полей Edit. При наведении мыши...

Чтение текста сразу из всех полей Edit сразу
Всем привет. У меня на форме есть 6 текстовых полей. Вот файл .h class...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru