Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.10.2009, 20:41   #1
Stranger333
Пользователь
 
Аватар для Stranger333
 
Регистрация: 19.05.2009
Сообщений: 98
По умолчанию Смена цвета.

Задание такое на одной панели надо выводить час, а на второй каждую секунду изменять цвет. Смена должна быть сделана таким путем (цифры это любой цет): 0123456789 9876543210 0123456789...
вот часть кода программы
Код:
var
  Form1: TForm1;
  a,b:integer;
implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  a := $000000;
  b := 0;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
var c:integer;
begin
  Timer1.Interval := 1000;
  Panel1.Caption := TimeToStr(Time);
  Label1.Caption := IntToStr(a);
  a := a + ($FFFFFF - $000000) div 5;
  Panel2.Color := a;
  b := b+1;
  form1.Caption := form1.Caption + ' ' + IntToStr(b);
end;
у меня че то не получается, тоесть в даном коде в конце черный цвет повторяется 5 раз и потом все сначала. Помогите
Stranger333 вне форума Ответить с цитированием
Старый 06.10.2009, 20:48   #2
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,742
По умолчанию

ошибка с типами во-первых...

а во-вторых как вы хотите, чтоб менялся цвет? с какого по какой и с каким градиентом?
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 07.10.2009, 17:33   #3
Stranger333
Пользователь
 
Аватар для Stranger333
 
Регистрация: 19.05.2009
Сообщений: 98
По умолчанию

Цитата:
Сообщение от raxp Посмотреть сообщение
как вы хотите, чтоб менялся цвет? с какого по какой и с каким градиентом?
цвет должен менятся каждую секунду, от белого до черного, тоесть за 1 минуту должно быть 60 цветов, а за вторую минуту теже цвета только в обратном порядке.

Типы должы какимы быть??
Stranger333 вне форума Ответить с цитированием
Старый 07.10.2009, 17:39   #4
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Код:
 a := a + ($FFFFFF - $000000) div 5;
Как вы думаете, если из 16 млн отнять 0, сколько будет?
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 07.10.2009, 18:36   #5
Stranger333
Пользователь
 
Аватар для Stranger333
 
Регистрация: 19.05.2009
Сообщений: 98
По умолчанию

Знаю что будет так
Код:
$FFFFFF div 5
, но я сделал так что можна было бы $000000 заменить например на $00FF00
впринципе это не важно, но мне надо помочь.
Stranger333 вне форума Ответить с цитированием
Старый 07.10.2009, 20:57   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Stranger333, поигрался я с Вашим кодом..
забавно.. можно ещё функцию RGB() зайдействовать...
а можно спросить:
а что собственно Вам в вашем коде не нравится?
если набор цветов, так я бы предложил простое (и кардинальное решение - заполняете изначально массив [0..59] массив цветами (какими хотите, хоть randomize, хоть константами,
а потом выводите цвет из массива.
примерно так:
Код:
  if Reverse then dec(i) else inc(i);
  if i<0 then begin i:=0; Reverse := false end;
  if i>0 then begin i:=59; Reverse := true end;
  Panel2.Color := ColorSeq[i];
Serge_Bliznykov вне форума Ответить с цитированием
Старый 07.10.2009, 21:14   #7
Stranger333
Пользователь
 
Аватар для Stranger333
 
Регистрация: 19.05.2009
Сообщений: 98
По умолчанию

спс за подсказку.
Цитата:
а что собственно Вам в вашем коде не нравится?
в моем коде там черный цвет повторяется 5 раз, и не знаю как мне сделать цвета в обратном порядке.
Цитата:
можно ещё функцию RGB() зайдействовать
я думал над этим, но сначало хотел сделать таким способом.

P.S. если не сложна можна подсказку как делать с RGB(). Кода не надо просто сам алгоритм сказать! Заранние спс.
Stranger333 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Смена цвета в ListCtrl assasin Общие вопросы C/C++ 0 22.08.2009 01:13
смена цвета строки dbgrid - ? Evgenii БД в Delphi 3 04.07.2009 07:57
Смена цвета текста или фона строки относительно возвращённого значения abdumanon Microsoft Office Excel 1 07.04.2009 02:10
цвета Toxa Общие вопросы Delphi 3 20.04.2007 12:03
смена цвета ячейки если... zetrix Microsoft Office Excel 0 30.10.2006 19:06