Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.02.2012, 13:07   #11
kta87
Форумчанин
 
Аватар для kta87
 
Регистрация: 22.02.2010
Сообщений: 912
По умолчанию

Ну тогда уж видимо так
Код:
for NComp:= 0 to Form1.ComponentCount -1 do
   begin
    if (Components[NComp] is TLabeledEdit) then
     begin
      if  (Components[NComp] as TLabeledEdit).Enabled then
      begin
      for IndexLE:=1 to 10 do
      if ((Components[NComp] as TLabeledEdit).Text='') or
      ((Components[NComp] as TLabeledEdit).Text='0') then
        begin
         ShowMessage('Одно или несколько полей ввода заполнены неверно!');
         (FindComponent('LabeledEdit'+IntToStr(IndexLE)) as TLabeledEdit).SetFocus;
         Exit;
        end;
      end;
     end;
   end;
kta87 вне форума Ответить с цитированием
Старый 06.02.2012, 13:08   #12
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Код:
for NComp:= 0 to Form1.ComponentCount-1 do 
  if (Components[NComp] is TLabeledEdit) and 
     TLabeledEdit(Components[NComp]).Enabled and
     ((TLabeledEdit(Components[NComp]).Text='') or
      (TLabeledEdit(Components[NComp]).Text='0')) then begin
    ShowMessage('Одно или несколько полей ввода заполнены неверно!');
    TLabeledEdit(Components[NComp]).SetFocus;
    Exit;
  end;
Только цель проверки не понятна. А что будет если в Text пробел или два, или 00, или ЯЯЯ или еще нечто похожее?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 06.02.2012, 13:15   #13
Silver_S
Форумчанин
 
Регистрация: 14.03.2011
Сообщений: 104
По умолчанию

Неплохо было бы завести переменную типа TLabeledEdit для повышения читаемости

Код:
var
  LE: TLabeledEdit;
  
for NComp:= 0 to Form1.ComponentCount - 1 do
if (Components[NComp] is TLabeledEdit) then
begin
  LE := TLabeledEdit(Components[NComp]);
  if LE.Enabled and ((LE.Text='') or (LE.Text='0')) then
  begin
    ShowMessage('Одно или несколько полей ввода заполнены неверно!');
    LE.SetFocus;
    exit;
  end;
end;

Последний раз редактировалось Silver_S; 06.02.2012 в 14:34.
Silver_S вне форума Ответить с цитированием
Старый 06.02.2012, 13:19   #14
kta87
Форумчанин
 
Аватар для kta87
 
Регистрация: 22.02.2010
Сообщений: 912
По умолчанию

Цитата:
Только цель проверки не понятна. А что будет если в Text пробел или два, или 00, или ЯЯЯ или еще нечто похожее?
Все это учтено если значение переменных равны 0 то там другие действия , а так называемые "ЯЯЯ" - исключены в процедурах KeyPress
kta87 вне форума Ответить с цитированием
Старый 06.02.2012, 13:23   #15
Кольша
Далеко не
Участник клуба
 
Аватар для Кольша
 
Регистрация: 11.08.2011
Сообщений: 1,512
По умолчанию

Код:
for NComp:= 0 to Form1.ComponentCount-1 do 
  if (Components[NComp] is TLabeledEdit) and 
     (TLabeledEdit(Components[NComp]).Enabled) then begin
if (TLabeledEdit(Components[NComp]).text in ['','0'] then ///в квад.скобки можно дописать еще что нибудь
    ShowMessage('Одно или несколько полей ввода заполнены неверно!');
    TLabeledEdit(Components[NComp]).SetFocus;
    Exit;
  end;
Кольша вне форума Ответить с цитированием
Старый 06.02.2012, 13:29   #16
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Кольша, прежде чем давать рекомендации, у себя проверьте работоспособность того, что подсказуете

Цитата:
лень мне делфи запускать, пишу на память
Что-то с памятью моей стало?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 06.02.2012 в 17:52.
Аватар вне форума Ответить с цитированием
Старый 06.02.2012, 17:49   #17
Кольша
Далеко не
Участник клуба
 
Аватар для Кольша
 
Регистрация: 11.08.2011
Сообщений: 1,512
По умолчанию

лень мне делфи запускать, пишу на память =D
там просто еще один begin end; добавить надо

Последний раз редактировалось Кольша; 06.02.2012 в 17:52. Причина: _
Кольша вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
сделать item of combobox enabled saltonik Общие вопросы Delphi 1 09.03.2011 23:40
Задержка с помощью timer.Enabled tisha077 Мультимедиа в Delphi 12 14.12.2009 02:33
Фокус и св-во enabled megachuhancer Общие вопросы Delphi 4 09.09.2009 11:59
Перехват изменения Enabled kinderproc Компоненты Delphi 4 22.06.2009 15:21
SpeedButton, glyph, enabled ScorpioN_T Общие вопросы Delphi 8 27.04.2009 19:14