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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.02.2012, 10:59   #1
kta87
Форумчанин
 
Аватар для kta87
 
Регистрация: 22.02.2010
Сообщений: 912
По умолчанию Возможно ли упростить..?

Возможно ли упростить ниже представленный код, если да то каким образом мне это сделать?
Код:
if (LabeledEdit1.Text = '') or (LabeledEdit2.Text = '') or
    (LabeledEdit3.Text = '') or (LabeledEdit4.Text = '') or
    (LabeledEdit5.Text = '') or (LabeledEdit6.Text = '') or
    (LabeledEdit7.Text = '') or (LabeledEdit8.Text = '') or
    (LabeledEdit9.Text = '') or (LabeledEdit10.Text = '') then
    begin
      ShowMessage('Одно или несколько полей ввода заполнены не верно');
      LabeledEdit1.SetFocus;
      Exit;
    end;

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

Код:
function valid:boolean;
var
i:integer;
begin
for
i:=1 to 10 do 
if (Tedit as findcomponent('LabeledEdit'+inttostr(i))).text='' then begin
result:=false;
exit;
end;
result:=true;
end;
if valid=false then
    begin
      ShowMessage('Одно или несколько полей ввода заполнены не верно');
      LabeledEdit1.SetFocus;
      Exit;
    end;
Кольша вне форума Ответить с цитированием
Старый 05.02.2012, 12:19   #3
kta87
Форумчанин
 
Аватар для kta87
 
Регистрация: 22.02.2010
Сообщений: 912
По умолчанию

Undeclared identifier: 'findcomponent
Хотя использую findcomponent потом еще несколько раз! В чем может быть дело?
kta87 вне форума Ответить с цитированием
Старый 05.02.2012, 13:22   #4
Korben5E
Форумчанин
 
Аватар для Korben5E
 
Регистрация: 13.07.2010
Сообщений: 346
По умолчанию

поставить курсор на findcomponent, нажать F1
посмотреть в каком файле описаны,
добавить этот файл в раздел uses
Non est culpa vin, sed culpa bibentis
Korben5E вне форума Ответить с цитированием
Старый 05.02.2012, 13:49   #5
Alexan-Dwer
Форумчанин
 
Аватар для Alexan-Dwer
 
Регистрация: 20.04.2009
Сообщений: 136
По умолчанию

kta87, если я Вас правильно понял, у Вас программа – форма регистрации, и Вам нужно проверить все поля ввода данных при нажатии на кнопку.
И так, вот код:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
i: 1..10;
begin
for i:=1 to 10 do
if (FindComponent('LabeledEdit'+IntToStr(i)) as TEdit).Text='' then
  begin
ShowMessage('Одно или несколько полей ввода заполнены неверно!');
(FindComponent('LabeledEdit'+IntToStr(i)) as TEdit).SetFocus;
Exit;
  end;

ShowMessage('Регистрация завершена...');
end;
В нем происходит проверка циклом всех полей. Если хотя бы одно из них пустое – вывод сообщения об ошибке, установка фокуса на первый компонент, который не соответствует формату и выход из программы, иначе пользователь увидит сообщение об успешной регистрации…
Надеюсь, Вам это поможет

P.S. Можно улучшить программу, составив массив с названиями компонентов, которые заполнены не по образцу, и вывести его пользователю.

Последний раз редактировалось Alexan-Dwer; 05.02.2012 в 13:55. Причина: Поскриптум
Alexan-Dwer вне форума Ответить с цитированием
Старый 05.02.2012, 16:38   #6
kta87
Форумчанин
 
Аватар для kta87
 
Регистрация: 22.02.2010
Сообщений: 912
По умолчанию

Alexan-Dwer, не совсем так! Перечисленные поля ввода данных, расположенные в разных местах формы, в следствии чего не возможно использовать компоненты типа StringGrid и т.п. , Однако необходимо проверять при выполнении основного расчетного кода программы поля на неверные данные:
Код:
 if (LabeledEdit1.Text = '') or (LabeledEdit1.Text = '0') then
 begin
 .... при адеквате;
end else
 begin
  ShowMessage('Сообщение об ошибке');
  LabeledEdit.SetFocus;
  Exit;
 end;
kta87 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Возможно ли упростить макрос? KOSTIK1 Microsoft Office Excel 6 31.08.2011 14:01
как возможно упростить? monogramm Общие вопросы по Java, Java SE, Kotlin 3 01.06.2011 01:40
Упростить условие в си++ Ruzzl Помощь студентам 1 12.10.2010 20:30
Упростить SAS888 Microsoft Office Excel 4 25.08.2009 12:07
Упростить формулу Stif-rva Microsoft Office Excel 7 09.03.2009 11:03