Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #5  
Старый 02.02.2015, 00:32
Аватар для Kailon
Kailon Kailon вне форума
Активный
 
Регистрация: 06.06.2010
Сообщения: 340
Версия Delphi: 11.3
Репутация: 429
Сообщение

Цитата:
Сообщение от 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;
__________________
Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете.
Ответить с цитированием
 


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 12:00.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025