Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Panel mit zufälliger Farbe (https://www.delphipraxis.net/161274-panel-mit-zufaelliger-farbe.html)

madddin 25. Jun 2011 22:26

Panel mit zufälliger Farbe
 
Hallo, ich versuche gerade einige Panels mit einer beliebigen Farbe zu füllen (Rot, Blau, Grün, Gelb oder Schwarz). Ich weiß aber echt nicht wie ich es anstellen soll. Mein Ansatz funktioniert nicht, hat jemand eine bessere Idee?

Delphi-Quellcode:
var
  Form1: TForm1;
  a,b,c,d,e:tcolor;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
farbe:string;
begin
farbe:='abcde';
a:=clred;
b:=clblue;
c:=clyellow;
d:=clgreen;
e:=clblack;



panel1.Color:=stringtocolor(copy(farbe,random(5)+1,1));

end;

himitsu 25. Jun 2011 22:51

AW: Panel mit zufälliger Farbe
 
Zitat:

Zitat von madddin (Beitrag 1108315)
Ich weiß aber echt nicht wie ich es anstellen soll. Mein Ansatz funktioniert nicht,

Wieso funktionier der denn nicht?

Wie lautet denn die Fehlermeldung? (vorallem bei den a:=-Zuweisungen :stupid: )
Und StringToColor kennt deine Variablen sowieso nicht, also ist es dem egal, was du darun speicherst.
Abgesehn davon, daß in der EXE keine Namen deiner variablen mehr drinstehn und man sowieso keinen Zuzammenhang zwischen dem String 'a' und der Variable mehr fassen könnte.
Delphi ist nunmal keine Interpreter-/Scriptsprache, wo sowas eventuell möglich wäre.


Entweder legst in deinem "farbe" die kompletten Farbnamen (als String) ab,
oder du verwendest eine Datentyp, welcher mit Farben zurechtkommt (z.B. TColor anstatt String)
oder du berechnest die gewünschten Farbwerte, aus deinem Zufallswert.


Delphi-Quellcode:
const MeineFarben: array[0..4] of TColor = (clred, clblue, clyellow, clgreen, clblack);

madddin 26. Jun 2011 11:02

AW: Panel mit zufälliger Farbe
 
Bei den a:= zuweisungen kam kein Fehler.
Aber mit dem Array funktioniert es und ist wesentlich einfacher, danke!

Rakshasa 26. Jun 2011 14:21

AW: Panel mit zufälliger Farbe
 
Ab Windows Vista wird bei einem Standard-Panel ja u.U. keine Farbe mehr dargestellt (solange die Designs aktiv sind). Da hilft dann nur, ein eigenes Panel abzuleiten.

Neutral General 26. Jun 2011 14:45

AW: Panel mit zufälliger Farbe
 
Zitat:

Zitat von Rakshasa (Beitrag 1108349)
Ab Windows Vista wird bei einem Standard-Panel ja u.U. keine Farbe mehr dargestellt (solange die Designs aktiv sind). Da hilft dann nur, ein eigenes Panel abzuleiten.

ParentBackground auf false und dann ist das kein Problem ;)

gast5 26. Jun 2011 14:56

AW: Panel mit zufälliger Farbe
 
Du setzt einen TPanel auf Form1. Dann klickst du auf Panel1 und dann im Objektinspektor auf Eigenschaften und dann kannst du unter Color die Farbe ändern.


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:59 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz