Ik wil een programma schrijven waarmee je wat met kleuren kunt 'spelen'. Code:
procedure TForm1.LinksClick(Sender: TObject);
begin
dec(teller);
if teller<1 then teller:=nKleuren;
UitvoerschermKleur.Color:=kleur[teller];
UitvoerschermKleurnummer.Text:=IntToStr(teller);
end;
procedure TForm1.RechtsClick(Sender: TObject);
begin
inc(teller);
if teller>nKleuren then teller:=1;
UitvoerschermKleur.Color:=kleur[teller];
UitvoerschermKleurnummer.Text:=IntToStr(teller);
end;Dit werkt.
Nu wil ik dat in een uitvoerveld alle mogelijke rgb combinaties worden weergegeven:
procedure TForm1.UpClick(Sender: TObject);
const max=255;
var R,G,B: Byte;
begin
for R:=1 to max do
begin
for G:=1 to max do
begin
for B:=1 to max do
begin
Canvas.Brush.Color := RGB(R,G,B);
Canvas.Rectangle(1,30,400,500);
Canvas.Brush.Color := clWhite;
Canvas.TextOut(430,100,'R: '+IntToStr(R)+' ');
Canvas.TextOut(430,120,'G: '+IntToStr(G)+' ');
Canvas.TextOut(430,140,'B: '+IntToStr(B)+' ');
UitvoerschermRoodWaarde.Text:=IntToStr(r);
UitvoerschermGroenWaarde.Text:=IntToStr(g);
UitvoerschermBlauwWaarde.Text:=IntToStr(b);
UitvoerschermKleur.Color:=RGB(r,g,b);
Sleep(0);
end;
end;
end;
end;
De Canvas opdrachten dienen ter controle en die werken goed. Maar ik wil ze vervangen door de uitvoeropdrachten. Maar die doen ogenschijnlijk niets. Alleen als de lus helemaal is afgerond worden de waarden van de r, g, en b variabelen in de Edit vensters geplaatst. Net zo als de kleur. Maar tijdens het uitvoeren gebeurt er niets. Hoe kan dat vraag ik me af. Ik ben hier al uren mee bezig en ik kom er niet uit.
Ook wil ik graag dat als ik op een muisknop klik de lus wordt onderbroken met exit. Dus iets als If MouseDown then Exit. Is er zoiets dat een muisklik een booleaanse waarde genereert? Ook hier heb ik naar gezocht maar ik ben net begonnen met Delphi en de hoeveelheid informatie is overweldigend.
Als iemand me kan helpen dan graag.
procedure TForm1.LinksClick(Sender: TObject);
begin
dec(teller);
if teller<1 then teller:=nKleuren;
UitvoerschermKleur.Color:=kleur[teller];
UitvoerschermKleurnummer.Text:=IntToStr(teller);
end;
procedure TForm1.RechtsClick(Sender: TObject);
begin
inc(teller);
if teller>nKleuren then teller:=1;
UitvoerschermKleur.Color:=kleur[teller];
UitvoerschermKleurnummer.Text:=IntToStr(teller);
end;Dit werkt.
Nu wil ik dat in een uitvoerveld alle mogelijke rgb combinaties worden weergegeven:
procedure TForm1.UpClick(Sender: TObject);
const max=255;
var R,G,B: Byte;
begin
for R:=1 to max do
begin
for G:=1 to max do
begin
for B:=1 to max do
begin
Canvas.Brush.Color := RGB(R,G,B);
Canvas.Rectangle(1,30,400,500);
Canvas.Brush.Color := clWhite;
Canvas.TextOut(430,100,'R: '+IntToStr(R)+' ');
Canvas.TextOut(430,120,'G: '+IntToStr(G)+' ');
Canvas.TextOut(430,140,'B: '+IntToStr(B)+' ');
UitvoerschermRoodWaarde.Text:=IntToStr(r);
UitvoerschermGroenWaarde.Text:=IntToStr(g);
UitvoerschermBlauwWaarde.Text:=IntToStr(b);
UitvoerschermKleur.Color:=RGB(r,g,b);
Sleep(0);
end;
end;
end;
end;
De Canvas opdrachten dienen ter controle en die werken goed. Maar ik wil ze vervangen door de uitvoeropdrachten. Maar die doen ogenschijnlijk niets. Alleen als de lus helemaal is afgerond worden de waarden van de r, g, en b variabelen in de Edit vensters geplaatst. Net zo als de kleur. Maar tijdens het uitvoeren gebeurt er niets. Hoe kan dat vraag ik me af. Ik ben hier al uren mee bezig en ik kom er niet uit.
Ook wil ik graag dat als ik op een muisknop klik de lus wordt onderbroken met exit. Dus iets als If MouseDown then Exit. Is er zoiets dat een muisklik een booleaanse waarde genereert? Ook hier heb ik naar gezocht maar ik ben net begonnen met Delphi en de hoeveelheid informatie is overweldigend.
Als iemand me kan helpen dan graag.