Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Вопрос про TEdit


Автор: JohnnY 10.3.2007, 00:15
Такой вопрос!
У меня создано, например 5 (пять) TEdit...
Мне нужно сделать проверку...
При нажатии на TButton проверялось, есть ли какие-нибудь символы в каждом из TEdit, если в каком-то TEdit нет символов, тогда должно высвечиваться сообщение, что, например один или более TEdit незаполнены...

Было бы ещё лучше если б в сообщении указавался тот TEdit, который незаполнен...

Спасибо...

Автор: _beginner_ 10.3.2007, 00:49
Попробуй так:

Код

procedure TForm1.Button1Click(Sender: TObject);
var
i:integer ;
begin
if edit1.Text='' then  showmessage('íåçàïîëíåí edit1')
else   i:=0 ;
if edit2.Text='' then  showmessage('íåçàïîëíåí edit2')
else  i:=0 ;
if edit3.Text='' then  showmessage('íåçàïîëíåí edit3')
else  i:=0 ;
if edit4.Text='' then  showmessage('íåçàïîëíåí edit4')
else  i:=0 ;
if edit5.Text='' then   showmessage('íåçàïîëíåí edit5')
else  i:=0 ;
end;
end.


Автор: VICTAR 10.3.2007, 01:40
Пользуйся поиском
http://forum.vingrad.ru/topic-14393.html

Автор: gambit 10.3.2007, 11:00
Код

var
i:integer ;
begin
if edit1.Text='' then  showmessage('íåçàïîëíåí edit1')
else   i:=0 ;
if edit2.Text='' then  showmessage('íåçàïîëíåí edit2')
else  i:=0 ;
if edit3.Text='' then  showmessage('íåçàïîëíåí edit3')
else  i:=0 ;
if edit4.Text='' then  showmessage('íåçàïîëíåí edit4')
else  i:=0 ;
if edit5.Text='' then   showmessage('íåçàïîëíåí edit5')
else  i:=0 ;
end;


 smile  smile  smile 

Автор: MetalFan 10.3.2007, 13:10
Цитата(JohnnY @  10.3.2007,  00:15 Найти цитируемый пост)
При нажатии на TButton проверялось, есть ли какие-нибудь символы в каждом из TEdit, если в каком-то TEdit нет символов, тогда должно высвечиваться сообщение, что, например один или более TEdit незаполнены...

Было бы ещё лучше если б в сообщении указавался тот TEdit, который незаполнен...

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

Автор: Sunvas 10.3.2007, 13:13
_beginner_, gambit, а если эдитов будет 100, тоже будете делать 100 проверок?  smile 

ИМХО надо так:
Код

var i:word;
    s:string;
begin
s:='';
for i:=0 to componentcount-1 do
  if (components[i] is tedit) then
    if length(trim((components[i] as tedit).Text))=0 then s:=s+(components[i] as tedit).Name+', ';
if s<>'' then showmessage('Ýäèòû '+s+'íå çàïîëíåíû!');



Добавлено @ 13:14 
Цитата(MetalFan @  10.3.2007,  13:10 Найти цитируемый пост)
при нажатии на кнопку определять, в какой первый едит не введены данные, переводить фокус ввода на него и выдавать хинт (можно балун) с сообщением, что неплохо бы ввести данные)

Хороший вариант, только реализация будет чуть труднее.

Автор: JohnnY 10.3.2007, 15:06
Большое всем спасибо! Очень помогло!

Автор: gambit 11.3.2007, 18:50
Цитата(Sunvas @  10.3.2007,  13:13 Найти цитируемый пост)
beginner_, gambit, а если эдитов будет 100, тоже будете делать 100 проверок? 

Sunvas, Вообщето я посмеялся над кодом.

Автор: Yanis 12.3.2007, 11:11
_beginner_, Sunvas
Это вы на какойном языке переписываетесь? smile
Цитата(Sunvas @  10.3.2007,  14:13 Найти цитируемый пост)
showmessage('Ýäèòû '+s+'íå çàïîëíåíû!');

Автор: Sunvas 12.3.2007, 13:00
Цитата(gambit @  11.3.2007,  18:50 Найти цитируемый пост)
Sunvas, Вообщето я посмеялся над кодом.

Сори, хотя бы в цитату его уже взял...

Цитата(Yanis @  12.3.2007,  11:11 Найти цитируемый пост)
Это вы на какойном языке переписываетесь?

Да. Чтобы никто не догадался. smile 

Автор: Alexeis 12.3.2007, 13:21
Прекращайте офтопить. smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)