![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 18.10.2010
Сообщений: 8
|
![]()
Суть задания в том, чтобы сделать переключение цветов светофора одной кнопкой.
Имеем 3 объекта с заданными цветами (желтый, красный, зеленый) Суть "загорания лампочки" - смена Shape1.Brush.Style с bsDiagcross на bsSolid С 2мя лампочками сделал, используя условия. Надо как-то сделать с тремя в такой последовательности: 1. Изначально горит красная. Затем тухнет и загорается зеленая. 2. Тухнет зеленая, загорается желтая 3. Тухнет желтая, загорается красная 4. Снова в пункт 1. Не получается, хоть убей... помогите пожалуйста Вот наработка на 2х лампах: Код:
Последний раз редактировалось Final_ekb; 18.10.2010 в 21:37. |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 01.02.2007
Сообщений: 785
|
![]()
Для небольшого количества "лампочек" (3) я бы сделал так:
Код:
Изо всей благодати
В руках крепко сжатых Я донесу только капли Последний раз редактировалось Roof; 18.10.2010 в 22:27. |
![]() |
![]() |
![]() |
#3 |
Участник клуба
Регистрация: 12.08.2008
Сообщений: 1,977
|
![]()
Следующий алгоритм:
Три объекта (лампочки) - Lamp1, Lamp2, Lamp3; Переменные - step (byte) ,начальное значение = 0; _color (integer); В обработчике нажатия кнопки (ButtonClick) применяем : Код:
оператор выбора: Код:
Кстати, небезизвестные Билл Гейтц и Питер Аллен свою первую коммерческую программу написали и продали именно для управления светофором.( на Бейсике).
И не сомневайся даже ... отдых - кайф, работа - лажа!
|
![]() |
![]() |
![]() |
#4 |
Регистрация: 18.10.2010
Сообщений: 8
|
![]()
roof, не работает: кнопка не выполняетдействий. и что должна выполнять процедура formcreate?
|
![]() |
![]() |
![]() |
#5 | |
Форумчанин
Регистрация: 01.02.2007
Сообщений: 785
|
![]()
2 Final_ekb -
Цитата:
Нну это можно и в инспекторе прописать. Я вот для большей ясности примера решил в событии OnCreate сделать. а ты создал собыитя соответствующие для кнопки и для формы? У меня все работает. Или я твое задание не так понял, или ты чего-то напутал. В общем так: 1) Создай новый проект 2) Кидаешь на форму Button1 3) Кидаешь на форму 3 штуки Shape (Shape1, Shape2, Shape3) 4) Создаешь в инспекторе объектов два события - одно для формы, другое для кнопки. 5) В события вставляешь соответсвующий код. Вот держи в архиве exe. Распакуй и запускай. Погляди как это работает.
Изо всей благодати
В руках крепко сжатых Я донесу только капли |
|
![]() |
![]() |
![]() |
#6 |
Участник клуба
Регистрация: 12.08.2008
Сообщений: 1,977
|
![]()
Вот программа.
И не сомневайся даже ... отдых - кайф, работа - лажа!
|
![]() |
![]() |
![]() |
#7 | |
Регистрация: 18.10.2010
Сообщений: 8
|
![]() Цитата:
В инспекторе для форм ничего не вставлял, а весь предоставленный тобой код вставил в событие при нажатии кнопки. Я с делфи познакомился на прошлой неделе, поэтому пока с трудом ориентируюсь. Лабу сегодня сдал, сделав просто двойное ветвление с if, правильно расставив всяческие begin & end. Можешь свой проект полностью дать посмотреть? Разобраться всё-равно охото :-) спасибо) 2 Dekot: ваш способ мне слишком не понятен, наверное потому, что вы "профессионал", поэтому я не стал его брать) у нас азы) но все равно большое спасибо за помощь ![]() Последний раз редактировалось Final_ekb; 19.10.2010 в 15:21. |
|
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 01.02.2007
Сообщений: 785
|
![]()
Держи в архиве весь проект.
Изо всей благодати
В руках крепко сжатых Я донесу только капли |
![]() |
![]() |
![]() |
#9 |
Новичок
Джуниор
Регистрация: 27.12.2010
Сообщений: 2
|
![]()
у меня похожая задача,только с дополнениями,надо чтобы светофор растягивался и окно тоже,и еще чтобы было 2 режива автоматический и ручной(автоматический это как тут уже сделано,а ручной чтобы при нажатии на круг загарался соответствующий ему цвет)
это возможно сделать??помогите пожалуйста!! |
![]() |
![]() |
![]() |
#10 |
Форумчанин
Регистрация: 21.10.2010
Сообщений: 130
|
![]()
Алексия, да, возможно.
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Светофор | junkie | Паскаль, Turbo Pascal, PascalABC.NET | 7 | 23.12.2010 19:22 |
Светофор | Porsche | Общие вопросы C/C++ | 2 | 15.05.2010 00:13 |
Светофор. Графика. Паскаль. | Серафимий Долговяз | Помощь студентам | 5 | 10.10.2009 10:38 |
исправить компонент под делфи 2007 | Roof | Компоненты Delphi | 1 | 31.08.2008 09:09 |
Иконка приложения в Делфи 2007 | Roof | Общие вопросы Delphi | 2 | 22.08.2008 23:15 |