Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Problem mit panel farbe (https://www.delphipraxis.net/59759-problem-mit-panel-farbe.html)

smepal 28. Dez 2005 11:51


Problem mit panel farbe
 
hi habe foolgende proceduren
Delphi-Quellcode:
procedure Tform1.reaks;
var i, e, f: IntegeR;
begin
randomize;
i := random(6);
if einfach1.Checked then
begin
e := random(100)*100;
sleep (e);
panel1.Color := clred;
timer1.Enabled := true;
listbox2.items.add (inttostr(e));
end;

if mittel1.Checked then
begin
e := random(100)*100;
sleep (e);
panel1.Color := colors[i];
timer1.Enabled := true;
listbox2.items.add (inttostr(e));
end;

if schwer1.Checked then
begin
e := random(100)*100;
sleep (e);
panel1.Color := colors[i];
panel1.Height := random (4) *10+10;
panel1.width := random (6) *30+30;
timer1.Enabled := true;
listbox2.items.add (inttostr(e));
end;
end;


procedure TForm1.MKeyPress(Sender: TObject; var Key: Char);
begin
if (key = 's') then
begin
if (key = 's') and (panel1.Color = clred) and (einfach1.Checked) then
begin
  timer1.Enabled := false;
  listbox1.items.add (inttostr(ms));
end;

if (key = 's') and (mittel1.Checked) then
begin
  if not (panel1.Color = clbtnface) then
    begin
      timer1.Enabled := false;
     listbox1.items.add (inttostr(ms));
    end;
end;

if (key = 's') and (schwer1.Checked) then
begin
  if not (panel1.Color = clbtnface) then
    begin
      timer1.Enabled := false;
      listbox1.items.add (inttostr(ms));
    end;
end;
timer2.Enabled := true;
end;
end;


procedure TForm1.MClick(Sender: TObject);

begin

ms2 := 0;
ms := 0;
reaks;
end;



procedure TForm1.Timer2Timer(Sender: TObject);
begin
if strtoint(label6.Caption) > 0 then
begin
time := time - 1;
label6.Caption := inttostr (time);
timer2.Tag := 0;
end
else
begin

timer2.Enabled := false;
panel1.Color := clbtnface;
label6.Caption :='5';
reaks;
end;
end;
also es geht darum die reaktionsgeschwindigkeit zu messen. klappt auch wunderbar nur wollte ich jetzt das so machen , dass direkt mehrere messungen nacheinander durchgeführt werden. dabei soll tzwischen jeder messung in der timer2.ontimer von 5 runtergezählt werden. Das funktioniert auch einwandfrei nun soll aber die procedure wieder von vorne gestartet werden, was auch funktioniert. allerdings wird das panel nicht eingefärbt wie ich das verlange sondern es wird direkt wieder die procedure reaks gestartet. Komischer Weise wird die label6.caption dennoch wieder auf gesetzt- Wodran liegts???

Matze 28. Dez 2005 12:00

Re: Problem mit panel farbe
 
Hallo
Anstelle von Sleep würde ich DelayDelay nutzen, sonst friert deine ganze Anwendung ein.

Für das Panel kannst du evtl. mal

Delphi-Quellcode:
Panel1.refresh;
versuchen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:14 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