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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.02.2010, 13:19   #1
kta87
Форумчанин
 
Аватар для kta87
 
Регистрация: 22.02.2010
Сообщений: 912
Восклицание Условия и их выполнение

Подскажите написание данного процедуры:
Условие:
Код:
if (ComBoBox1.ItemIndex = -1) and (ComBoBox1.Enabled = True) then showMessage('Текст...');
 if (ComBoBox2.ItemIndex = -1) and (ComBoBox2.Enabled = True) then showMessage('Текст...');
 if (ComBoBox3.ItemIndex = -1) and (ComBoBox3.Enabled = True) then showMessage('Текст...');
 if (ComBoBox4.ItemIndex = -1) and (ComBoBox4.Enabled = True) then showMessage('Текст...');
 if (ComBoBox5.ItemIndex = -1) and (ComBoBox5.Enabled = True) then showMessage('Текст...');
 if (Edit1.Enabled = True) and (Edit1.Text = '') then showMessage('Текст...');
 if (Edit2.Enabled = True) and (Edit2.Text = '') then showMessage('Текст...);
 if (Edit3.Enabled = True) and (Edit3.Text = '') then showMessage('Текст...');
 if (Edit4.Enabled = True) and (Edit4.Text = '') then showMessage('Текст...');
 if (Edit5.Enabled = True) and (Edit5.Text = '') then showMessage('Текст...');
 if (Edit6.Enabled = True) and (Edit6.Text = '') then showMessage('Текст...');
 if Edit7.Text = '' then showMessage('Текст...');
begin
а дальше идет действие типа if хотя бы одно из перечисленного истина , then вернуться к форме1 else
begin

Код основной программы

end;
kta87 вне форума Ответить с цитированием
Старый 28.02.2010, 13:37   #2
Marsel737
Форумчанин
 
Аватар для Marsel737
 
Регистрация: 09.11.2009
Сообщений: 669
По умолчанию

Код:
var
  FReturn: boolean = false;

...

if (ComBoBox1.ItemIndex = -1) and (ComBoBox1.Enabled = True) then 
begin
  showMessage('Текст...');
  FReturn := true;
end;

if (ComBoBox2.ItemIndex = -1) and (ComBoBox2.Enabled = True) then 
begin
  showMessage('Текст...');
  FReturn := true;
end;

...

if FReturn = true then
begin
  Form1.Show;
  Form2.Hide;
end;
или в цикле:
Код:
var
  FReturn: boolean = false;
...
for i := 1 to 5 do
begin
  if ((FindComponent('ComboBox' + IntToStr(i)) as TComboBox).ItemIndex = -1)  and
     ((FindComponent('ComboBox' + IntToStr(i)) as TComboBox).Enabled = true) then
    begin
      showMessage('Текст...');
      FReturn := true;
    end;
end;

for i := 1 to 5 do
begin
  if ((FindComponent('Edit' + IntToStr(i)) as TEdit).Enabled = true) and
     ((FindComponent('Edit' + IntToStr(i)) as TEdit).Text = '') then
    begin
      showMessage('Текст...');
      FReturn := true;
    end;
end;

if FReturn = true then
begin
  Form1.Show;
  Form2.Hide;
end;
Я не всегда знаю, о чем говорю, но знаю, что прав. © Мухаммед Али.
К чёрту обстоятельства. Я создаю возможности. © Брюс Ли
Marsel737 вне форума Ответить с цитированием
Старый 28.02.2010, 13:54   #3
kta87
Форумчанин
 
Аватар для kta87
 
Регистрация: 22.02.2010
Сообщений: 912
По умолчанию

У меня нет Form2
Код:
...
Form2.Hide;
...
Или я чего то недопонимаю?

Последний раз редактировалось kta87; 28.02.2010 в 13:58.
kta87 вне форума Ответить с цитированием
Старый 28.02.2010, 14:06   #4
Marsel737
Форумчанин
 
Аватар для Marsel737
 
Регистрация: 09.11.2009
Сообщений: 669
По умолчанию

Цитата:
Сообщение от kta87 Посмотреть сообщение
а дальше идет действие типа if хотя бы одно из перечисленного истина , then вернуться к форме1 else
begin

Код основной программы

end;
Как тогда это понимать? Я так понял, что нужно с одной формы перейти на другую. Поэтому какой вопрос - такой и ответ. Чётче вопрос формулировать нужно.
Я не всегда знаю, о чем говорю, но знаю, что прав. © Мухаммед Али.
К чёрту обстоятельства. Я создаю возможности. © Брюс Ли
Marsel737 вне форума Ответить с цитированием
Старый 28.02.2010, 14:15   #5
kta87
Форумчанин
 
Аватар для kta87
 
Регистрация: 22.02.2010
Сообщений: 912
По умолчанию

Marsel737, вот так
Код:
...
FReturn := true;
 end;
 if FReturn = true then Form1.Show else
begin
тут формулы для расчета;
end;
Все компилируется, но при нажатии кнопки вот эта часть
Код:
begin
тут формулы для расчета;
end;
не работает! ?
kta87 вне форума Ответить с цитированием
Старый 28.02.2010, 14:21   #6
Marsel737
Форумчанин
 
Аватар для Marsel737
 
Регистрация: 09.11.2009
Сообщений: 669
По умолчанию

Код:
FReturn := true;
 end;
 if FReturn = true then Form1.Show else
begin
тут формулы для расчета;
end;
Сам присваиваеш к FReturn true, а потом удивляешся. У тебя формуля для расчёта будут выполняться толко когда FReturn = false;

Кинь исходник (без экзешника), я подправлю
Я не всегда знаю, о чем говорю, но знаю, что прав. © Мухаммед Али.
К чёрту обстоятельства. Я создаю возможности. © Брюс Ли
Marsel737 вне форума Ответить с цитированием
Старый 28.02.2010, 15:01   #7
kta87
Форумчанин
 
Аватар для kta87
 
Регистрация: 22.02.2010
Сообщений: 912
По умолчанию

Ну так как исправить то ?
kta87 вне форума Ответить с цитированием
Старый 28.02.2010, 15:06   #8
Marsel737
Форумчанин
 
Аватар для Marsel737
 
Регистрация: 09.11.2009
Сообщений: 669
По умолчанию

Код:
var
  FReturn: boolean = false;
...
begin
for i := 1 to 5 do
begin
  if ((FindComponent('ComboBox' + IntToStr(i)) as TComboBox).ItemIndex = -1)  and
     ((FindComponent('ComboBox' + IntToStr(i)) as TComboBox).Enabled = true) then
    begin
      showMessage('Текст...');
      FReturn := true;
    end;
end;

for i := 1 to 5 do
begin
  if ((FindComponent('Edit' + IntToStr(i)) as TEdit).Enabled = true) and
     ((FindComponent('Edit' + IntToStr(i)) as TEdit).Text = '') then
    begin
      showMessage('Текст...');
      FReturn := true;
    end;
end;

if FReturn = true then 
  Form1.Show 
else
  begin
    тут формулы для расчета;
  end;
end;
Я не всегда знаю, о чем говорю, но знаю, что прав. © Мухаммед Али.
К чёрту обстоятельства. Я создаю возможности. © Брюс Ли
Marsel737 вне форума Ответить с цитированием
Старый 28.02.2010, 15:37   #9
kta87
Форумчанин
 
Аватар для kta87
 
Регистрация: 22.02.2010
Сообщений: 912
По умолчанию

+10 Marsel737
kta87 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
условия в ComboBox Dotha Компоненты Delphi 4 26.12.2009 11:20
условия( if ) на запросе mavlon_m SQL, базы данных 6 20.10.2009 15:38
условия glupayastudentka Помощь студентам 7 25.06.2009 09:43
условия combobox Mihailhome Общие вопросы Delphi 3 12.06.2009 20:09
Оператор условия [Smarik] Помощь студентам 8 22.02.2008 18:49