|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
смена цвета по интервалам времени
Здравствуйте, помогите пожалуйста!!!!
Вообщем нужно чтоб объект заменял 2 цвета, при чем время задержки цвета вбивается вручную..... Например лампочка включилась(жёлтый цвет) на десять секунд.... и выключилась(черный цвет) на 1 секунду... потом меняешь значение ... включилась на 1 секунду выключалась на 3 сек.... и т.д это нужно делать по нажатии кнопки на форме... |
#2
|
||||
|
||||
TTimer спасет гиганта мысли.
Некоторые программисты настолько ленивы, что сразу пишут рабочий код. Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты. |
#3
|
||||
|
||||
Я те помогу.
Попробуй использовать sleep и StrToInt. Надеюсь ты разберёшься куда чего вставить? Цитата:
11011111 INED Home code VK Последний раз редактировалось ined, 29.08.2013 в 09:48. |
#4
|
||||
|
||||
Да и ещё. Тут получается, что 3 цвета. Жёлтый,чёрный и нейтральны.
ТЕ Жёлтый вкл на 10 сек => Чёрный на 1 сек => Нейтральный. 11011111 INED Home code VK |
#5
|
|||
|
|||
я и так с таймером делаю... есть два поля edit 1 и edit2 первому даешь значение сколько будет показываться желтый второму черный.... и по заданным значениям объект должен мигать.... как это написать то?
|
#6
|
|||
|
|||
у меня объект это panel1.... по умолчанию цвет черный, когда выставляешь значение в edit2 , например 5000, то через 5 сек становиться желтым... и стоит так))
|
#8
|
||||
|
||||
Цитата:
11011111 INED Home code VK |
#9
|
|||
|
|||
короче.... два поля edit1,и edit2.... нужно чтобы объект -panel1 меняла два цвета с периодом который задаешь в полях( при клике на кнопку).. Менять цвет должна без остановки, (как лампочка которая мигает беспрерывно, тока интервал между ВКЛ и ВЫКЛ задаешь самостоятельно) Так понятно надеюсь? Помогите пожалуйста !!!!
|
#10
|
||||
|
||||
Тебе нужно что то вроде :
Код:
type TLamp = record cvet: integer; tik: integer; end; TMLamp = array[boolean] of TLamp; 11011111 INED Home code VK |
#11
|
||||
|
||||
можно так:
Код:
const t1=1000;//таймер желтого t2=5000;//таймер зелёного t3=10000;//таймер нейтрали var counter:integer; //счетчик begin panel1.Color:=clBlack; //стартовый цвет counter:=0; //обнуление счетчика While true do begin //запуск бесконечного цикла case counter of //начала блока условий t1: panel1.Color:=clYellow; t2: panel1.Color:=clgreen; t3: begin panel1.Color:=clBlack; counter:=0; end; end; sleep(1); //пауза. если в таймере делать то не нужно эту строку inc(counter); //прибавляем к счетчику application.ProcessMessages;// чтобы не зависало end; end; но лучше делать не в бесконечном цикле а в TTimer с interval = 1 Програмистами не рождаются, ими становятся! |
Этот пользователь сказал Спасибо ined за это полезное сообщение: | ||
Nikilay_88 (29.08.2013)
|
#13
|
|||
|
|||
Цитата:
|
#14
|
|||
|
|||
а как теперь сделать так, что бы еще можно было посчитать сколько раз сменил цвет квадрат за заданный промежуток времени))))
|
#15
|
||||
|
||||
Ты знаешь такую истину, что не всегда за тебя всё будут делать. А если и будут то что тогда у тебя в голове отложится. Ты должен сам достичь совершенства, а не с помощью других. Мы можем тебя направить в нужное русло.!!
А то что я тут на ваял, это просто от того, что я давно не програмил. Соскучился 11011111 INED Home code VK |