Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.02.03;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.027 c
2-1199412191
Fantasy
2008-01-04 05:03
2008.02.03
Переменные окружения XP


2-1200078093
Макар
2008-01-11 22:01
2008.02.03
Свойство ListBox


15-1198677259
Ega23
2007-12-26 16:54
2008.02.03
поделитесь ссылкой


6-1179817108
Raptoridze
2007-05-22 10:58
2008.02.03
определение компов в сети


2-1200055537
buka
2008-01-11 15:45
2008.02.03
О визуализации большого текста





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский