Светомузыка - используя монитор (Delphi)




В данной статье описывается создание светомузыкальной "установки" на вашем компьютере.
Роль разноцветных, моргающих лампочек будет играть ваш собственный монитор!
Для того, чтобы всё это работало, необходимо вынести на форму компонент - таймер - Timer (закладка - System).
С его помощью монитор попеременно будет окрашиваться в различные цвета, которые мы ему укажем, что в темноте будет давать неплохой результат.
Произведём небольшие настройки компонента таймер и приступим непосредственно к самому программированию.
Для того, чтобы монитор мигал интенсивнее, нужно свойство таймера - Interval выставить в значение, равное 100.
Теперь приступаем непосредственно к программированию. Для того, чтобы наше окно было на весь экран, и без рамки окна, необходимо в процедуру OnCreate() формы (Form1) прописать следующий код:

form1.BorderStyle:=bsNone; // убрать рамку (границы) окна
form1.WindowState:=wsMaximized; // развернуть окно программы на весь экран

Для того, чтобы окно программы попеременно меняло свой цвет, обработчик событий - OnTimer() компонента Timer, должен иметь следующий вид:
procedure TForm1.Timer1Timer(Sender: TObject);
var ColorIndex:integer;
begin
randomize;
ColorIndex:=random(10);
case (ColorIndex) of
0: form1.Color:=clred;
1: form1.Color:=clgreen;
2: form1.Color:=clblue;
3: form1.Color:=clyellow;
4: form1.Color:=clMaroon;
5: form1.Color:=clTeal;
6: form1.Color:=clSilver;
7: form1.Color:=clLime;
8: form1.Color:=clFuchsia;
9: form1.Color:=clBackground;
end;
end;

Рассмотрим отдельно каждую строчку кода, для того, чтобы было понятно что она делает.
var ColorIndex:integer; // объявляем переменную, которая будет отвечать за текущий цвет окна
ColorIndex:=random(10); // присваиваем переменной ColorIndex значение, которое в дальнейшем определит цвет заливки окна приложения

case (ColorIndex) of
0: form1.Color:=clred;
1: form1.Color:=clgreen;
2: form1.Color:=clblue;
3: form1.Color:=clyellow;
4: form1.Color:=clMaroon;
5: form1.Color:=clTeal;
6: form1.Color:=clSilver;
7: form1.Color:=clLime;
8: form1.Color:=clFuchsia;
9: form1.Color:=clBackground;
end;

Данный кусок кода окрашивает окно программы в цвет, который определяется значением переменной ColorIndex. В данном случае цвета соответствуют следующим значениям:
0 = red
1 = green
2 = blue
3 = yellow
4 = Maroon
5 = Teal
6 = Silver
7 = Lime
8 = Fuchsia
9 = Background

Вы можете сами задать цвета каждому из значений, по вашему усмотрению.
Всё. Светомузыка готова! Запускайте, наслаждайтесь! Сильный эффект программа будет иметь, если её запускать в помещении с выключенным светом!

Источник: createcode.ru - Создание сайтов, программирование, SEO
Copyright c 2007 ООО "ЦЕНТРОПЛАСТ И К"