[Delphi] Farbmischer zeigt weder Farbe noch Zahlen an
Ich habe ein kleines Problem. Bin ganz neu mit Delphi zu Gange und wollte Heute einen Farbmischer Programmieren, der mir sowohl die RGB Werte&Farbe, als auch Hex-Code der Farbe ausgibt. Jedoch werden mir beim Schieben der Regler weder Zahlen NOCH die Farbe, die er eigentlich ausgeben sollte gezeigt.
Hier mal der Code, der hoffentlich nachzuvollziehen ist:
Code:
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls, ExtCtrls;
type
TForm1 = class(TForm)
SFarbe: TShape;
ERot: TEdit;
EGruen: TEdit;
EBlau: TEdit;
EHex: TEdit;
RotBar: TScrollBar;
GruenBar: TScrollBar;
BlauBar: TScrollBar;
procedure RotBarWert(Sender: TObject);
procedure GruenBarWert(Sender: TObject);
procedure BlauBarWert(Sender: TObject);
private
{ Private declarations }
procedure FarbeEinstellen;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FarbeEinstellen;
Var Farbe : integer;
begin
Farbe := RotBar.Position*256*256 + GruenBar.Position*256 + BlauBar.Position;
SFarbe.Brush.Color := Farbe;
EHex.Text:= '$' + IntToHex (Farbe, 6);
end;
procedure TForm1.RotBarWert(Sender: TObject);
begin
FarbeEinstellen;
ERot.Text := IntToStr (RotBar.Position);
end;
procedure TForm1.GruenBarWert(Sender: TObject);
begin
FarbeEinstellen;
EGruen.Text := IntToStr (GruenBar.Position);
end;
procedure TForm1.BlauBarWert(Sender: TObject);
begin
FarbeEinstellen;
EBlau.Text := IntToStr (BlauBar.Position);
end;
end.
Erkennt jemand vielleicht meinen Fehler? Wäre super dankbar, wenn ihr mir weiterhelfen könntet!
MfG
edit// Habe den Fehler gefunden und das Programm ein wenig verbessert :) Stelle euch den Code hier mal rein:
Code:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls, ExtCtrls, jpeg;
type
TForm1 = class(TForm)
SFarbe: TShape;
ERot: TEdit;
EGruen: TEdit;
EBlau: TEdit;
EHex: TEdit;
RotBar: TScrollBar;
GruenBar: TScrollBar;
BlauBar: TScrollBar;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
EndeBtn: TButton;
ResetBtn: TButton;
procedure RotBarWert(Sender: TObject);
procedure GruenBarWert(Sender: TObject);
procedure BlauBarWert(Sender: TObject);
procedure EndeBtnClick(Sender: TObject);
procedure ResetBtnClick(Sender: TObject);
private
{ Private declarations }
Farbe: LongInt;
public
{ Public declarations }
procedure uebernehmen;
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.uebernehmen;
begin
Farbe := RotBar.Position*256*256 + GruenBar.Position*256 + BlauBar.Position;
SFarbe.Brush.Color := RGB(RotBar.Position,GruenBar.Position,BlauBar.Position);
EHex.Text:= '#' + IntToHex (Farbe, 6);
end;
procedure TForm1.RotBarWert(Sender: TObject);
begin
uebernehmen;
ERot.Text := IntToStr(RotBar.Position);
end;
procedure TForm1.GruenBarWert(Sender: TObject);
begin
uebernehmen;
EGruen.Text := IntToStr(GruenBar.Position);
end;
procedure TForm1.BlauBarWert(Sender: TObject);
begin
uebernehmen;
EBlau.Text := IntToStr(BlauBar.Position);
end;
procedure TForm1.EndeBtnClick(Sender: TObject);
begin
close;
end;
procedure TForm1.ResetBtnClick(Sender: TObject);
begin
RotBar.Position := 0;
GruenBar.Position := 0;
BlauBar.Position := 0;
end;
end.
|