Показать сообщение отдельно
  #2  
Старый 22.11.2016, 23:51
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,015
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Проблема, похоже, в этом коде (ну, если код представлен правильно):
Код:
procedure TForm4.Panel2Click(Sender: TObject);
begin
if Image2.Left<800 then
if Image3.Left<800 then
...
if Image23.Left>587 then
begin
Panel3.Visible:=True;
Panel3.Color:=clGreen;
Panel3.Caption:='Да!'
end
else
Panel3.Visible:=True;
Panel3.Color:=clRed;
Panel3.Caption:='Не-а'
end;
...
Надо не отдельные if-ы, а комбинированное условие. Типа:
Код:
if (Image2.Left<800) and (Image3.Left<800) and ... and (Image23.Left>587)
then
...
else
...
А у тебя получается, что блок else относиться только к последнему if-у, что, как я понимаю, не првильно. Он должен выполняться когда любое из условий неверно.
Ответить с цитированием