Einzelnen Beitrag anzeigen

lycaine

Registriert seit: 28. Jan 2007
2 Beiträge
 
#7

Re: Prozedur auf Knopfdruck?

  Alt 1. Feb 2007, 21:13
blackheart hatte im Prinzip Recht, ich habs einfach so reingeschrieben und nicht im OI eingestellt - na ja, bin halt nochn Delphi-Noob

aber irgendwie klappt das doch nicht ganz so recht, ich wollt nen Reaktionstest schreiben, der auf Mausklick oder Tastendruck reagiert - aber ich hab 4 mögliche ergebnisse. Ich hab den Quellcode/ .exe mal angefügt, damit ihr ne ungefähre Vorstellung davon habt.

PS: auch für anderweitige Verbesserungsvorschläge bin ich gerne offen

Delphi-Quellcode:
procedure TForm1.Panel1Click(Sender: TObject);
var zw: integer;
begin
timer1.Enabled:=false;
zw:=random(4);
CASE zw OF
0: labelchange.Color:=clred;
1: labelchange.Color:=clblue;
2: labelchange.Color:=cllime;
3: labelchange.Color:=clyellow;end;
time := Now;
end;

procedure TForm1.Button1Click(Sender: TObject);
var i: integer;
begin
labelchange.Color:=clsilver;
randomize;
timer1.Interval:= 1000 + random(4000);
timer1.Enabled:=true;
end;

procedure TForm1.Label1Click(Sender: TObject);
begin
  if (not Timer1.Enabled) and (time <> 0) and (labelchange.color=label1.color) then
  begin
    labelmillisek.caption:=FloatToStr(floor(MilliSecondSpan(time, Now)));
      IF StrToInt(labelmillisek.caption) < 1000 THEN
      gauge1.Progress:=100-(floor(StrToInt(labelmillisek.Caption)/10))
      ELSE gauge1.Progress:=0;
  timer2.enabled:=true;
  time := 0;
  end
  else
    IF not(labelchange.color=label1.color) THEN showmessage('Falsche Farbe!!!')
      ELSE
        IF timer1.enabled=true THEN showmessage('Ein wenig früh, oder?')
        ELSE showmessage('Bitte erst mal starten!');
end;

procedure TForm1.Label2Click(Sender: TObject);
begin
  if (not Timer1.Enabled) and (time <> 0) and (labelchange.color=label2.color) then
  begin
    labelmillisek.caption:=FloatToStr(floor(MilliSecondSpan(time, Now)));
      IF StrToInt(labelmillisek.caption) < 1000 THEN
      gauge1.Progress:=100-(floor(StrToInt(labelmillisek.Caption)/10))
      ELSE gauge1.Progress:=0;
  timer2.enabled:=true;
  time := 0;
  end
  else
    IF not(labelchange.color=label2.color) THEN showmessage('Falsche Farbe!!!')
      ELSE
        IF timer1.enabled=true THEN showmessage('Ein wenig früh, oder?')
        ELSE showmessage('Bitte erst mal starten!');
end;

procedure TForm1.Label3Click(Sender: TObject);
begin
  if (not Timer1.Enabled) and (time <> 0) and (labelchange.color=label3.color) then
  begin
    labelmillisek.caption:=FloatToStr(floor(MilliSecondSpan(time, Now)));
      IF StrToInt(labelmillisek.caption) < 1000 THEN
      gauge1.Progress:=100-(floor(StrToInt(labelmillisek.Caption)/10))
      ELSE gauge1.Progress:=0;
  timer2.enabled:=true;
  time := 0;
  end
  else
    IF not(labelchange.color=label3.color) THEN showmessage('Falsche Farbe!!!')
      ELSE
        IF timer1.enabled=true THEN showmessage('Ein wenig früh, oder?')
        ELSE showmessage('Bitte erst mal starten!');
end;

procedure TForm1.Label4Click(Sender: TObject);
begin
  if (not Timer1.Enabled) and (time <> 0) and (labelchange.color=label4.color) then
  begin
    labelmillisek.caption:=FloatToStr(floor(MilliSecondSpan(time, Now)));
      IF StrToInt(labelmillisek.caption) < 1000 THEN
      gauge1.Progress:=100-(floor(StrToInt(labelmillisek.Caption)/10))
      ELSE gauge1.Progress:=0;
  timer2.enabled:=true;
  time := 0;
  end
  else
    IF not(labelchange.color=label4.color) THEN showmessage('Falsche Farbe!!!')
      ELSE
        IF timer1.enabled=true THEN showmessage('Ein wenig früh, oder?')
        ELSE showmessage('Bitte erst mal starten!');
end;

procedure TForm1.Timer2Timer(Sender: TObject);
begin
gauge1.Progress:=0;
labelchange.color:=clsilver;
timer2.enabled:=false;
end;

procedure TForm1.Button1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
CASE key OF
81: TForm1.Label1Click(Sender: TObject);
65: TForm1.Label2Click(Sender: TObject);
87: TForm1.Label3Click(Sender: TObject);
83: TForm1.Label4Click(Sender: TObject);
end;
Angehängte Dateien
Dateityp: exe project1_964.exe (407,5 KB, 4x aufgerufen)
  Mit Zitat antworten Zitat