Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.5 MB
Время: 0.028 c
2-1199966099
E
2008-01-10 14:54
2008.02.03
Запустить EXE файла из Основного не прибегая к разрезанию и без..


2-1199874260
Ega23
2008-01-09 13:24
2008.02.03
Версия MSOffice


2-1199350168
Xmen
2008-01-03 11:49
2008.02.03
Error while posting updates


2-1199588278
Артем
2008-01-06 05:57
2008.02.03
IStorage и WebBrowser


2-1199798836
Kolan
2008-01-08 16:27
2008.02.03
При компиляции проекта компилируется еще и пакет&amp;#133