Цитата:
Сообщение от schuher
... с проверкой на пустой ввод:
Код:
begin
try
if Edit1.Text = '' then
begin
ShowMessage('Введите данные');
Edit1.SetFocus;
end else if DM.ADOQuery2.Locate('name', Edit1.Text, []) = True
then begin
ShowMessage('Введите данные');
Edit1.Clear;
Edit1.SetFocus;
end else
if ComboBox1.Text = '' then
begin
ShowMessage('Введите данные');
ComboBox1.SetFocus;
end else
begin
if Edit4.Text = '' then
begin
ShowMessage('Введите данные');
Edit4.SetFocus;
end else if ComboBox2.Text = '' then
begin
ShowMessage('Введите данные');
ComboBox2.SetFocus;
end else
begin
//ShowMessage('dfkz'); -это я так, проверял на работоспособность условий
|
Я представляю если еще потребуется добавить несколько полей. Это же твоя проверка сколько ступеней будет иметь?
Вот тебе универсальный код. Проверит все компоненты Edit и ComboBox, вне зависимости от имени, где отличительное свойство Tag = 1.
Код:
procedure Tfrm_Test.btn_CheckingClick(Sender: TObject);
var
I: Integer;
begin
for I := 0 to ComponentCount - 1 do
if (Components[i] is TEdit) and ((Components[i] as TEdit).Tag = 1) and ((Components[i] as TEdit).Text = '') or
(Components[i] is TComboBox) and ((Components[i] as TComboBox).Tag = 1) and ((Components[i] as TComboBox).Text = '')
then
begin
MessageBox(Handle, 'Введите данные', 'Информация', mb_IconInformation);
try
(Components[i] as TEdit).SetFocus
except
(Components[i] as TComboBox).SetFocus;
end;
Exit;
end;
end;
__________________
Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете.
|