Текущий архив: 2008.02.03;
Скачать: CL | DM;
ВнизShape.Brush.Color... + Timer Найти похожие ветки
← →
Stepper (2008-01-03 21:39) [0]Как в одним таймером (TTimer) замутить следующее: 500 мс - Shape.Brush.Color := clLime и последующие 500 мс - Shape.Brush.Color := clRed ?
← →
engine © (2008-01-03 21:42) [1]var Check : Boolean;
begin
if check then
Shape.Brush.Color := clLime else
Shape.Brush.Color := clRed;
Check := not Check;
end;
← →
Stepper (2008-01-03 21:51) [2]
> engine © (03.01.08 21:42) [1]
мне надо чтоб моргал то зеленым (500 мс) потом красным (500 мс) goto то :)
← →
{RASkov} © (2008-01-03 23:15) [3]> [2] Stepper (03.01.08 21:51)
См [1]
Ставишь интервал таймеру в 500..... вместо глобальной переменной Check можно "заюзать" Тэг таймера...
Так и не въехал? :)
← →
Германн © (2008-01-04 01:14) [4]
> {RASkov} © (03.01.08 23:15) [3]
А из примера как раз и не видно, что переменная Check глобальная. Так что простой перенос сего кода в процедуру таймера даёт почти всегда зелёный :)
← →
{RASkov} © (2008-01-04 02:08) [5]> [4] Германн © (04.01.08 01:14)
> А из примера как раз и не видно, что переменная Check глобальная.
Ну... это.... я ..."тонко" намекнул про глобальную :)
> даёт почти всегда зелёный
Хм.... а с первого взгляда кажется, что должен быть - красный) переменная check инициализироваться (False) вроде должна....
...ан нет) Она же локальная и "почемуто" Тру :)
> [2] Stepper (03.01.08 21:51)
Вот без переменных тоже самоеTimer.Interval=500;
procedure TForm.TimerOnTimer();
begin
if Timer.Tag=0 then Shape.Brush.Color:=clRed
else Shape.Brush.Color;=clLime;
Timer.Tag:=not Timer.Tag;
end;
Кстати... вот еще вариант:if Shape.Brush.Color<>clRed then Shape.Brush.Color := clRed
else Shape.Brush.Color := clLime;
Вообще все просто)
:)
← →
Германн © (2008-01-04 02:32) [6]
> Хм.... а с первого взгляда кажется, что должен быть - красный)
> переменная check инициализироваться (False) вроде должна.
> ...
> ...ан нет) Она же локальная и "почемуто" Тру :)
Не ну. Неужели теперь и локальные переменные "инициализируются"?
← →
{RASkov} © (2008-01-04 02:38) [7]> [6] Германн © (04.01.08 02:32)
> Неужели теперь и локальные переменные "инициализируются"?
Не ну.... У меня в голове эта переменная сразу была глобальной хоть и написан кусок кода "криво", но между бегин и эндом код говорит как раз о ее глобальности а не локальности.... вот поэтому и было сказано, что "а с первого взгляда каж...." ...Иногда нужно думать не как "копипастер" :)
← →
{RASkov} © (2008-01-04 02:41) [8]> ...Иногда нужно думать не как "копипастер" :)
Это было сказано, по большему счету, не [6] Германн ©, а конечно же автору вопроса, т.е. [2] Stepper (03.01.08 21:51)
:о)
← →
Германн © (2008-01-04 02:45) [9]
> {RASkov} © (04.01.08 02:38) [7]
>
> > [6] Германн © (04.01.08 02:32)
> > Неужели теперь и локальные переменные "инициализируются"?
>
>
> Не ну.... У меня в голове эта переменная сразу была глобальной
> хоть и написан кусок кода "криво", но между бегин и эндом
> код говорит как раз о ее глобальности а не локальности..
> .. вот поэтому и было сказано, что "а с первого взгляда
> каж...." ...Иногда нужно думать не как "копипастер" :)
>
Хм.
Между бегин и эндом как раз говорит о локальности.
← →
Германн © (2008-01-04 02:49) [10]Хм. См. [4]
← →
{RASkov} © (2008-01-04 02:50) [11]> [9] Германн © (04.01.08 02:45)
> Хм.
> Между бегин и эндом как раз говорит о локальности.
Ну наверное все по разному смотрят на мир :)
Смысл в конце кода подпрограммы с локальной переменной делать:
> Check := not Check;
т.е. инвертировать локальную переменную и выйти, зачем???
Или в начале - непроинициализировав проверять переменную....
Это мне говорит сразу о ее глобальном характере, а не о локальном.)
← →
{RASkov} © (2008-01-04 02:51) [12]> [10] Германн © (04.01.08 02:49)
> Хм. См. [4]
Ну дык иногда и подумать не вредно :)
← →
{RASkov} © (2008-01-04 03:00) [13]> [12] {RASkov} © (04.01.08 02:51)
> Ну дык иногда и подумать не вредно :)
Сергей, это опять не про тебя.... сорри :) Все... пора спать)
← →
Германн © (2008-01-04 03:10) [14]
> {RASkov} © (04.01.08 03:00) [13]
>
> > [12] {RASkov} © (04.01.08 02:51)
> > Ну дык иногда и подумать не вредно :)
>
> Сергей, это опять не про тебя.... сорри :) Все... пора спать)
>
А я и не подумал, что это про меня :)
← →
MBo © (2008-01-04 08:53) [15]можно еще так попробовать:
ColorMask : = clRed xor clLime;
исходный цвет - один из clRed, clLime
в обработчике
Shape.Brush.Color : = Shape.Brush.Color xor ColorMask;
← →
Stepper (2008-01-04 09:52) [16]
> Кстати... вот еще вариант:
>
> if Shape.Brush.Color<>clRed then Shape.Brush.Color := clRed
> else Shape.Brush.Color := clLime;
>
> Вообще все просто)
Спс Огромное Всем! Проверил все, но остановился на данной реализации Сабжа!
Страницы: 1 вся ветка
Текущий архив: 2008.02.03;
Скачать: CL | DM;
Память: 0.48 MB
Время: 0.046 c