|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
18.10.2010, 21:34 | #1 |
Регистрация: 18.10.2010
Сообщений: 8
|
Однокнопочный светофор на Delphi 7
Суть задания в том, чтобы сделать переключение цветов светофора одной кнопкой.
Имеем 3 объекта с заданными цветами (желтый, красный, зеленый) Суть "загорания лампочки" - смена Shape1.Brush.Style с bsDiagcross на bsSolid С 2мя лампочками сделал, используя условия. Надо как-то сделать с тремя в такой последовательности: 1. Изначально горит красная. Затем тухнет и загорается зеленая. 2. Тухнет зеленая, загорается желтая 3. Тухнет желтая, загорается красная 4. Снова в пункт 1. Не получается, хоть убей... помогите пожалуйста Вот наработка на 2х лампах: Код:
Последний раз редактировалось Final_ekb; 18.10.2010 в 21:37. |
18.10.2010, 22:24 | #2 |
Форумчанин
Регистрация: 01.02.2007
Сообщений: 785
|
Для небольшого количества "лампочек" (3) я бы сделал так:
Код:
Изо всей благодати
В руках крепко сжатых Я донесу только капли Последний раз редактировалось Roof; 18.10.2010 в 22:27. |
18.10.2010, 23:00 | #3 |
Участник клуба
Регистрация: 12.08.2008
Сообщений: 1,977
|
Следующий алгоритм:
Три объекта (лампочки) - Lamp1, Lamp2, Lamp3; Переменные - step (byte) ,начальное значение = 0; _color (integer); В обработчике нажатия кнопки (ButtonClick) применяем : Код:
оператор выбора: Код:
Кстати, небезизвестные Билл Гейтц и Питер Аллен свою первую коммерческую программу написали и продали именно для управления светофором.( на Бейсике).
И не сомневайся даже ... отдых - кайф, работа - лажа!
|
19.10.2010, 11:49 | #4 |
Регистрация: 18.10.2010
Сообщений: 8
|
roof, не работает: кнопка не выполняетдействий. и что должна выполнять процедура formcreate?
|
19.10.2010, 12:54 | #5 | |
Форумчанин
Регистрация: 01.02.2007
Сообщений: 785
|
2 Final_ekb -
Цитата:
Нну это можно и в инспекторе прописать. Я вот для большей ясности примера решил в событии OnCreate сделать. а ты создал собыитя соответствующие для кнопки и для формы? У меня все работает. Или я твое задание не так понял, или ты чего-то напутал. В общем так: 1) Создай новый проект 2) Кидаешь на форму Button1 3) Кидаешь на форму 3 штуки Shape (Shape1, Shape2, Shape3) 4) Создаешь в инспекторе объектов два события - одно для формы, другое для кнопки. 5) В события вставляешь соответсвующий код. Вот держи в архиве exe. Распакуй и запускай. Погляди как это работает.
Изо всей благодати
В руках крепко сжатых Я донесу только капли |
|
19.10.2010, 14:22 | #6 |
Участник клуба
Регистрация: 12.08.2008
Сообщений: 1,977
|
Вот программа.
И не сомневайся даже ... отдых - кайф, работа - лажа!
|
19.10.2010, 15:19 | #7 | |
Регистрация: 18.10.2010
Сообщений: 8
|
Цитата:
В инспекторе для форм ничего не вставлял, а весь предоставленный тобой код вставил в событие при нажатии кнопки. Я с делфи познакомился на прошлой неделе, поэтому пока с трудом ориентируюсь. Лабу сегодня сдал, сделав просто двойное ветвление с if, правильно расставив всяческие begin & end. Можешь свой проект полностью дать посмотреть? Разобраться всё-равно охото :-) спасибо) 2 Dekot: ваш способ мне слишком не понятен, наверное потому, что вы "профессионал", поэтому я не стал его брать) у нас азы) но все равно большое спасибо за помощь Последний раз редактировалось Final_ekb; 19.10.2010 в 15:21. |
|
19.10.2010, 15:47 | #8 |
Форумчанин
Регистрация: 01.02.2007
Сообщений: 785
|
Держи в архиве весь проект.
Изо всей благодати
В руках крепко сжатых Я донесу только капли |
27.12.2010, 18:38 | #9 |
Новичок
Джуниор
Регистрация: 27.12.2010
Сообщений: 2
|
у меня похожая задача,только с дополнениями,надо чтобы светофор растягивался и окно тоже,и еще чтобы было 2 режива автоматический и ручной(автоматический это как тут уже сделано,а ручной чтобы при нажатии на круг загарался соответствующий ему цвет)
это возможно сделать??помогите пожалуйста!! |
27.12.2010, 20:02 | #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 |