unit Kleuren;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TFormKleuren = class(TForm)
KnopRandomStart: TButton;
UitvoervensterR: TEdit;
UitvoervensterB: TEdit;
UitvoervensterG: TEdit;
UitvoervensterK: TMemo;
ScrollBarG: TScrollBar;
ScrollBarB: TScrollBar;
ScrollBarRGB: TScrollBar;
PanelR: TPanel;
PanelG: TPanel;
PanelB: TPanel;
PanelK: TPanel;
Panel1: TPanel;
Panel2: TPanel;
CheckBox1: TCheckBox;
CheckBoxR: TCheckBox;
CheckBoxG: TCheckBox;
CheckBoxB: TCheckBox;
KnopRandomStop: TButton;
ScrollBarSleep: TScrollBar;
procedure KnopRandomStartClick(Sender: TObject);
procedure ScrollBarRScroll(Sender: TObject;
ScrollCode: TScrollCode; var p: Integer);
procedure FormActivate(Sender: TObject);
procedure ScrollBarGScroll(Sender: TObject;
ScrollCode: TScrollCode; var p: Integer);
procedure ScrollBarBScroll(Sender: TObject;
ScrollCode: TScrollCode; var p: Integer);
procedure ScrollBarRGBScroll(Sender: TObject;
ScrollCode: TScrollCode; var p: Integer);
procedure CheckBox1Click(Sender: TObject);
procedure CheckBoxRClick(Sender: TObject);
procedure CheckBoxGClick(Sender: TObject);
procedure CheckBoxBClick(Sender: TObject);
procedure KnopRandomStopClick(Sender: TObject);
procedure ScrollBarSleepScroll(Sender: TObject;
ScrollCode: TScrollCode; var p: Integer);
private
{ Private declarations }
public
{ Public declarations }
end;
const max=255;
var
FormKleuren : TFormKleuren;
s : integer;
r,g,b,i : byte;
Rood,Groen,Blauw : boolean;
CheckBox : boolean;
CheckBoxRood : boolean;
CheckBoxGroen : boolean;
CheckBoxBlauw : boolean;
MetLusDoorgaan : boolean;
implementation
{$R *.dfm}
procedure TFormKleuren.CheckBox1Click(Sender: TObject);
begin
If CheckBox=True then CheckBox:=False else
CheckBox:=True;
FormKleuren.Color:=RGB(235,235,235);
end;
procedure TFormKleuren.CheckBoxRClick(Sender: TObject);
begin
If CheckBoxRood=True then CheckBoxRood:=False else
CheckBoxRood:=True;
end;
procedure TFormKleuren.CheckBoxGClick(Sender: TObject);
begin
If CheckBoxGroen=True then CheckBoxGroen:=False else
CheckBoxGroen:=True;
end;
procedure TFormKleuren.CheckBoxBClick(Sender: TObject);
begin
If CheckBoxBlauw=True then CheckBoxBlauw:=False else
CheckBoxBlauw:=True;
end;
procedure TFormKleuren.KnopRandomStartClick(Sender: TObject);
begin
REPEAT
Randomize; r:=Random(max)+1; g:=Random(max)+1; b:=Random(max)+1;
UitvoervensterR.Text:=IntToStr(r);
UitvoervensterG.Text:=IntToStr(g);
UitvoervensterB.Text:=IntToStr(b);
UitvoervensterK.Color:=RGB(r,g,b);
If CheckBox then Formkleuren.Color:=RGB(r,g,b);
application.processmessages;
sleep(s);
UNTIL Not MetLusDoorgaan;
MetLusDoorgaan:= Not MetLusDoorgaan;
Rood:=true; Groen:= true; Blauw:=true;
end;
procedure TFormKleuren.KnopRandomStopClick(Sender: TObject);
begin
MetLusDoorgaan:=false;
end;
procedure TFormKleuren.ScrollBarSleepScroll(Sender: TObject;
ScrollCode: TScrollCode; var p: Integer);
begin s:=p; end;
procedure TFormKleuren.ScrollBarRScroll(Sender: TObject;
ScrollCode: TScrollCode; var p: Integer);
begin if Rood then p:=r;
UitvoervensterR.Text:=IntToStr(p);
UitvoervensterG.Text:=IntToStr(g);
UitvoervensterB.Text:=IntToStr(b);
UitvoervensterK.Color:=RGB(r,g,b);
If CheckBox then Formkleuren.Color:=RGB(r,g,b);
r:=p; Rood:=not Rood;
end;
procedure TFormKleuren.ScrollBarGScroll(Sender: TObject;
ScrollCode: TScrollCode; var p: Integer);
begin if Groen then p:=g;
UitvoervensterR.Text:=IntToStr(r);
UitvoervensterG.Text:=IntToStr(p);
UitvoervensterB.Text:=IntToStr(b);
UitvoervensterK.Color:=RGB(r,g,b);
If CheckBox then Formkleuren.Color:=RGB(r,g,b);
g:=p; Groen:= not Groen;
end;
procedure TFormKleuren.ScrollBarBScroll(Sender: TObject;
ScrollCode: TScrollCode; var p: Integer);
begin if Blauw then p:=b;
UitvoervensterR.Text:=IntToStr(r);
UitvoervensterG.Text:=IntToStr(g);
UitvoervensterB.Text:=IntToStr(p);
UitvoervensterK.Color:=RGB(r,g,b);
If CheckBox then Formkleuren.Color:=RGB(r,g,b);
b:=p; Blauw:= not Blauw;
end;
procedure TFormKleuren.ScrollBarRGBScroll(Sender: TObject;
ScrollCode: TScrollCode; var p: Integer);
begin
if CheckBoxRood then
begin r:=p;
UitvoervensterK.Color:=RGB(r,g,b);
if CheckBox then FormKleuren.Color:=RGB(r,g,b);
end;
if CheckBoxGroen then
begin g:=p;
UitvoervensterK.Color:=RGB(r,g,b);
if CheckBox then FormKleuren.Color:=RGB(r,g,b);
end;
if CheckBoxBlauw then
begin b:=p;
UitvoervensterK.Color:=RGB(r,g,b);
if CheckBox then FormKleuren.Color:=RGB(r,g,b);
end;
UitvoervensterR.Text:=IntToStr(r);
UitvoervensterG.Text:=IntToStr(g);
UitvoervensterB.Text:=IntToStr(b);
end;
procedure TFormKleuren.FormActivate(Sender: TObject);
begin
r:=1; g:=1; b:=1; s:=0;
Rood :=false;
Groen :=false;
Blauw :=false;
CheckBox :=false;
CheckBoxRood :=false;
CheckBoxGroen :=false;
CheckBoxBlauw :=false;
MetLusDoorgaan:=true;
UitvoervensterR.Text:=IntToStr(r);
UitvoervensterG.Text:=IntToStr(g);
UitvoervensterB.Text:=IntToStr(b);
UitvoervensterK.Color:=RGB(r,g,b);
end;
end.