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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.12.2010, 17:50   #11
gadilla_cs
Пользователь
 
Регистрация: 05.12.2010
Сообщений: 25
По умолчанию

думаю переместить картинку на другие координаты, если это нелогично то объясните где логика, а то другого решения я не нахожу
gadilla_cs вне форума Ответить с цитированием
Старый 06.12.2010, 19:48   #12
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,543
По умолчанию

вы реализовали движение картинки с управлением от кнопки.
После того как картинка займет нужное положение кнопка отключается.
пока все логично
Но теперь(пост 1) говорите
Цитата:
а когда картинка перейдет к другим координатам то кнопка возвращалась в активное состояние.
НО Чтобы она перешла к новым координатам нужно снова нажать кнопку, которую мы успешно заблокировали
Каким образом она может занять новые координаты если кнопка отключена. как ее возможно(как задумывалось) ее передвигать из правильного положения.
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 06.12.2010, 19:59   #13
shanluu
Пользователь
 
Аватар для shanluu
 
Регистрация: 05.10.2010
Сообщений: 53
По умолчанию

Цитата:
if (Horse1.top=56) and (Horse1.Left=48) then button1.Enabled:=false
else
button1.Enabled:=true;
в компонент OnMove картинки можно закинуть наверное этот код и все должно работать, или я не до конца понял проблему
shanluu вне форума Ответить с цитированием
Старый 07.12.2010, 02:36   #14
gadilla_cs
Пользователь
 
Регистрация: 05.12.2010
Сообщений: 25
По умолчанию

стоп стоп
Цитата:
НО Чтобы она перешла к новым координатам нужно снова нажать кнопку, которую мы успешно заблокировали
Каким образом она может занять новые координаты если кнопка отключена. как ее возможно(как задумывалось) ее передвигать из правильного положения.
Я не договорил случайно, кнопки четыре: вверх, вниз, влево, вправо.
Нажму допустим я вниз и кнопка вверх снова доступна.
gadilla_cs вне форума Ответить с цитированием
Старый 07.12.2010, 08:46   #15
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,543
По умолчанию

Цитата:
Я не договорил случайно, кнопки четыре: вверх, вниз, влево, вправо.
В коде ВСЕХ кнопок управления (вверх, вниз и т.д.) должны быть проверки условий доступности ВСЕХ кнопок.
Код:
button1.enabled:=not ( (Horse1.top=56) and (Horse1.Left=48) );
button2.enabled:=....;
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 07.12.2010 в 08:57.
evg_m вне форума Ответить с цитированием
Старый 07.12.2010, 09:18   #16
gadilla_cs
Пользователь
 
Регистрация: 05.12.2010
Сообщений: 25
По умолчанию

Вон как... Сейчас попробуем

Может быть я не правильно понял код, и записал все не так
Код:
button1.enabled:=( (Horse1.top=56) and (Horse1.Left=48) );
button1.enabled:=not ( (Horse1.top=56) and (Horse1.Left=48) );
после вот этого все равно не работает как слеудет

Последний раз редактировалось Stilet; 09.12.2010 в 17:29.
gadilla_cs вне форума Ответить с цитированием
Старый 09.12.2010, 12:12   #17
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,543
По умолчанию

Цитата:
Код:
button1.enabled:=( (Horse1.top=56) and (Horse1.Left=48) );
button1.enabled:=not ( (Horse1.top=56) and (Horse1.Left=48) );
Сказано было ВЕЗДЕ и ВСЕХ кнопок.
Гда в приведенном коде ВСЕ кнопки.

P.S.
Код:
 buton1.enabled:=not (что-там );
это упрощенная (без if then else ) форма записи вашего условия проверки
Код:
if (что-то там) then 
  button1.enabled:=false
else 
  button1.enabled:=true;
или как было почти в вашем первоначальном варианте
Код:
if (что-то там) then button1.enabled:=else 
if not (что-то там) then  button1.enabled:=true;
мы СРАЗУ присваиваем результат вычисления логического(имеющего занчения true|false) выражения (что-то там) нашему свойству (enabled). принимающему такие же по типу значения.
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 09.12.2010 в 12:28.
evg_m вне форума Ответить с цитированием
Старый 09.12.2010, 16:45   #18
gadilla_cs
Пользователь
 
Регистрация: 05.12.2010
Сообщений: 25
По умолчанию

Работает! Спасибо вам

Так, возник еще вопрос, когда я подхожу к координатам справа, то не блокируется не одна из кнопок, а когда снизу блок идет только на кнопку отвечающюю за поднятие наверх...

Все напутал блин еще и нафлудил, не заметил что забыл проверку, спасибо за помощь

Последний раз редактировалось Stilet; 09.12.2010 в 17:30.
gadilla_cs вне форума Ответить с цитированием
Старый 09.12.2010, 17:35   #19
gadilla_cs
Пользователь
 
Регистрация: 05.12.2010
Сообщений: 25
По умолчанию

Возникла проблема опять:
Код:
if ((Horse1.top=56) and (Horse1.Left=48)
  or (Horse1.Left=96)
  or (Horse1.Left=144)
  or (Horse1.Left=192)
  or (Horse1.Left=240)
Блокирует все значения TOP не знаю как избежать

Последний раз редактировалось gadilla_cs; 09.12.2010 в 18:03.
gadilla_cs вне форума Ответить с цитированием
Старый 09.12.2010, 19:33   #20
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,543
По умолчанию

расставить правильно скобки (приведенный код нельзя даже скомпилировать).
Что-такое TOP и причем здесь оно никому кроме вас неизвестно.
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Блокировка zmey31313 Помощь студентам 4 25.04.2010 14:16
Блокировка( alco84 Microsoft Office Access 1 13.03.2010 21:51
Разблокировка макроса Deni55 Microsoft Office Excel 4 18.04.2009 17:58
Разблокировка RAR-архива... Терминатор Софт 3 14.04.2009 17:01