![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Здравствуйте, помогите пожалуйста!!!!
Вообщем нужно чтоб объект заменял 2 цвета, при чем время задержки цвета вбивается вручную..... Например лампочка включилась(жёлтый цвет) на десять секунд.... и выключилась(черный цвет) на 1 секунду... потом меняешь значение ... включилась на 1 секунду выключалась на 3 сек.... и т.д это нужно делать по нажатии кнопки на форме... |
|
#2
|
||||
|
||||
|
TTimer спасет гиганта мысли.
|
|
#3
|
||||
|
||||
|
Я те помогу.
Попробуй использовать sleep и StrToInt. Надеюсь ты разберёшься куда чего вставить? ![]() Цитата:
![]() Последний раз редактировалось ined, 29.08.2013 в 09:48. |
|
#4
|
||||
|
||||
|
Да и ещё. Тут получается, что 3 цвета. Жёлтый,чёрный и нейтральны.
ТЕ Жёлтый вкл на 10 сек => Чёрный на 1 сек => Нейтральный. |
|
#5
|
|||
|
|||
|
я и так с таймером делаю... есть два поля edit 1 и edit2 первому даешь значение сколько будет показываться желтый второму черный.... и по заданным значениям объект должен мигать.... как это написать то?
|
|
#6
|
|||
|
|||
|
у меня объект это panel1.... по умолчанию цвет черный, когда выставляешь значение в edit2 , например 5000, то через 5 сек становиться желтым... и стоит так))
|
|
#7
|
||||
|
||||
|
Значит задал вопрос не правильно 1ый раз. Точнее выражайся.!!
Так что тебе конкретно то надо? Опиши проблему подробнее. |
|
#8
|
||||
|
||||
|
Цитата:
|
|
#9
|
|||
|
|||
|
короче.... два поля edit1,и edit2.... нужно чтобы объект -panel1 меняла два цвета с периодом который задаешь в полях( при клике на кнопку).. Менять цвет должна без остановки, (как лампочка которая мигает беспрерывно, тока интервал между ВКЛ и ВЫКЛ задаешь самостоятельно) Так понятно надеюсь? Помогите пожалуйста !!!!
|
|
#10
|
||||
|
||||
|
Тебе нужно что то вроде :
Код:
type
TLamp = record
cvet: integer;
tik: integer;
end;
TMLamp = array[boolean] of TLamp; ![]() |
|
#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
|
||||
|
||||
|
Ты знаешь такую истину, что не всегда за тебя всё будут делать. А если и будут то что тогда у тебя в голове отложится. Ты должен сам достичь совершенства, а не с помощью других. Мы можем тебя направить в нужное русло.!!
А то что я тут на ваял, это просто от того, что я давно не програмил. Соскучился ![]() |