3 / 3 / 0
Регистрация: 22.07.2010
Сообщений: 141
1

Нужно проверить Edit

14.10.2010, 09:56. Показов 10849. Ответов 34
Метки нет (Все метки)

У меня есть несколько Edit-в. Нужно их проверить на наличие введенной информации. Можно это сделать сразу для всех или нужно каждый отдельно?
Спасибо!
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.10.2010, 09:56
Ответы с готовыми решениями:

Задача. Нужно вывести на форму такое кол-во Edit, сколько будет введено в Edit
Нужно вывести на форму такое кол-во Edit'ов, сколько будет введено в Edit. Я сделал. Но на экране...

Проверить, пустой ли Edit
Итак вроде бы задача простая, но я не могу решить ее никак, нужно такое - если в эдите ничего не...

Как проверить Edit???
Как проверить Edit, чтобы там были одни цифры???

Проверить пустоту Edit-а
Подскажите пожалуйста, никак не могу вспомнить.:wall: If Edit.Text='' then Ok. Если Edit пуст...

34
4952 / 2416 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
14.10.2010, 10:44 2
Ну обычно для ввода информации желательно проверять по отдельности
C++
1
2
3
4
5
  if(Edit1->Text.IsEmpty())
   {
        ShowMessage("У вас пустое поле");
        return;  
   }
2
49 / 39 / 5
Регистрация: 30.06.2010
Сообщений: 1,191
14.10.2010, 11:36 3
Цитата Сообщение от amatorIP Посмотреть сообщение
Можно это сделать сразу для всех или нужно каждый отдельно?
как хзочешь... можно отдельно каждый, можно сразу все, если хочешь, можно и определенные Edit'ы
1
Покинул форум
3184 / 1363 / 109
Регистрация: 29.01.2010
Сообщений: 2,887
14.10.2010, 13:51 4
Лучший ответ Сообщение было отмечено как решение

Решение

amatorIP, расположенные Edit'ы должны иметь имена, типа "Edit" и порядковый номер:
C++
1
2
3
4
5
6
7
8
for(int i=1;i<99;i++){
 
if(((TEdit*)FindComponent("Edit"+String(i)))->Text!=""){
//Что-то
}
else { ShowMessage("Не все поля заполнены!"); break;}
 
}
3
3 / 3 / 0
Регистрация: 22.07.2010
Сообщений: 141
14.10.2010, 21:41  [ТС] 5
У меня есть еще один глупый вопрос. Как очистить содержимое Edit, а то я никак не найду чем это можно сделать.
0
Покинул форум
3184 / 1363 / 109
Регистрация: 29.01.2010
Сообщений: 2,887
14.10.2010, 21:42 6
C++
1
Edit1->Text="";
1
3 / 3 / 0
Регистрация: 22.07.2010
Сообщений: 141
14.10.2010, 21:45  [ТС] 7
Как все просто, когда знаешь!)))
0
37 / 41 / 3
Регистрация: 10.10.2010
Сообщений: 364
15.10.2010, 16:01 8
А куда писать, что бы не прописывать в каждой кнопке?
0
49 / 39 / 5
Регистрация: 30.06.2010
Сообщений: 1,191
15.10.2010, 18:28 9
Цитата Сообщение от tabber Посмотреть сообщение
А куда писать, что бы не прописывать в каждой кнопке?
чет я не понимаю вопроса. напиши по подробнее
1
3 / 3 / 0
Регистрация: 22.07.2010
Сообщений: 141
15.10.2010, 20:50  [ТС] 10
Мне тоже хотелось бы понять что прописывать в каждой кнопке?
0
22 / 22 / 5
Регистрация: 18.03.2010
Сообщений: 329
15.10.2010, 20:54 11
Цитата Сообщение от amatorIP Посмотреть сообщение
Мне тоже хотелось бы понять что прописывать в каждой кнопке?
В кнопке, так вроде про кнопки речь не шла! Какой вы результат ожидаете при событии "нажатие на кнопку"?
0
Эксперт С++
3944 / 1799 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
15.10.2010, 21:03 12
tabber, массивами указателями пользоваться.

Не по теме:

Интересно, когда же люди начнут задумываться о том, что кроме формоляпства нужно уметь и понимать основы работы с памятью?

0
3 / 3 / 0
Регистрация: 22.07.2010
Сообщений: 141
15.10.2010, 22:40  [ТС] 13
GaFBich это нас tabber, с толку сбил) Мне тоже стало интересно о каких кнопках идет речь.

Добавлено через 8 минут
У вот еще один вопросик!
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
void __fastcall TAddElement::AddToBDClick(TObject *Sender)
{
        bool choise = false;
        if (Edit1->Text.IsEmpty())
                {
                        choise = true;
                        return;
                }
        if (choise == true)
                {
                        ShowMessage("Enter value");
                        return;
                }
}
Если Edit пустой, то должно появится окошко с сообщением. Но оно не появляется.
chise не присваивает true.
Подскажите в чем проблема.
Сразу скажу почему так написал. У меня будет несколько Edit-в, если один из них пустой, то выскакивает сообщение.
Может кто подскажет как лучше реализовать.
Спасибо!
0
37 / 41 / 3
Регистрация: 10.10.2010
Сообщений: 364
15.10.2010, 23:02 14
Например калькулятор.
у меня был такой схемы -
2 поля Edit в которые вводятся числа и при нажатий на кнопку с каким либо действием(сложением, или вычитанием) происходит решение.
Но если пользователь не ввел туда числа, что выдавало ошибку.
Я решил это с помощью добавления в каждую кнопку
C++
1
2
3
4
5
6
7
8
9
if (LabeledEdit1->Text.IsEmpty()+
LabeledEdit2->Text.IsEmpty())
 
   {
        ShowMessage("Вы заполнили не все поля!");
        return;
   }
else
//blabla
А можно ли прописать это в форму или куда-то еще, что бы не писать во все кнопки...?

amatorIP, вот, я делал к двум сразу.
не знаю правильно ли, но работает=)
1
Эксперт С++
3944 / 1799 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
15.10.2010, 23:12 15
amatorIP, попробуйте так:
C++
1
2
3
4
5
6
7
bool Empty = false;
if (Edit1->Text.IsEmpty()) {
  Empty = true;
}
if (Empty) {
  ShowMessage("Enter a value!");
}
tabber, у вас ошибка.
Метод IsEmpty возвращает значение типа bool (логический нуль или единица).
В случае, когда один из компонентов пуст, а второй - содержит текст, проверка примет истинное значение (0 + 1 = 1).
Вместо оператора "+" необходимо использовать "&&".
1
3 / 3 / 0
Регистрация: 22.07.2010
Сообщений: 141
15.10.2010, 23:30  [ТС] 16
Спасибо за подсказку! Попробую оба варианта!

Вот сразу же еще вопрос!
Хочу при нажатии клавиши Enter в Edit переводить курсор на следующий Edit.
Вот пример кода.
C++
1
2
3
4
5
6
7
void __fastcall TAddElement::Edit1Change(TObject *Sender, char &Key)
{
        if (Key == VK_RETURN)
                {
                        Edit2->SetFocus();
                }
}
И вот ошибка.
Я так понимаю что-то не объявлено, но не знаю где смотреть(
Миниатюры
Нужно проверить Edit  
0
Эксперт С++
3944 / 1799 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
15.10.2010, 23:36 17
amatorIP, событие OnChange не возвращает нажатую клавишу.
Для анализа нажатой клавиши используйте событие OnKeyPress
1
37 / 41 / 3
Регистрация: 10.10.2010
Сообщений: 364
16.10.2010, 12:06 18
MikeSoft,
Не знаю, возможно вы правы.
Я вчера минут 30 наделял умом этот калькулятор и вроде как не крутил, выдавало ошибку если хоть одно поле не заполнено. (любое)

Вот теперь только как проверить на написание цифр?
а то получается такая картина -
В полях Edit у меня написано заранее слово Число.
При клике событие OnClick его стирает. Так вот, пользователь клацает на первое поле, слово стирается, он вводит первое число. Но он же не клацнул по второму полю, и там текст остался и оно считается не пустым. В итоге ошибка только критическая DD
0
Эксперт С++
3944 / 1799 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
16.10.2010, 20:21 19
Цитата Сообщение от tabber Посмотреть сообщение
Вот теперь только как проверить на написание цифр?
Использовать событие OnKeyPress.

Например,
C++
1
2
3
4
5
6
if (Key >= '0' && Key <= '9') {
  // действия
} else {
  Key = 0;
  return;
}
данный код позволит вводить только цифры от 0 до 9 и будет игнорировать все остальные. Если вам нужны дополнительные символы - добавьте их в область if.
0
37 / 41 / 3
Регистрация: 10.10.2010
Сообщений: 364
16.10.2010, 20:25 20
Это знаю, прочитайте внимательно прошлый пост=)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.10.2010, 20:25

Не могу проверить edit на незаполненость
Всем привет, в общем такая проблема: не могу проверить edit на незаполненость. Тоесть если что то...

Проверить edit на пустоту и покрасить
здравствуйте подскажите плиз делаю кнопку проверку на пустоту кучи edit чтобы если не пустая цвет...

Как проверить поле Edit
Общий код программы. Простенькая. Как проверить поле Edit. Нужно чтоб выходило второе диалоговое...

Проверить на заполненность множество Edit-ов
Плиз помогите ! Допустим у меня на form много edit-ов (ну до 500 допустим) Помогите пожалуйста...


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

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

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