![]() |
Prozedur auf Knopfdruck?
wie kann ich eine Prozedur auf Knopfdruck starten?
ich hab schon mal ne bissl rumgeguckt und das hier gefunden: procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char); [...] aber sagt mir der Compiler immer undefinierter Bezeichner 'FormKeyPress' hab ich eine Unit zu wenig geladen? wenn ja, welche? komm momentan mal irgendwie überhaupt nich weiter :? na ja, schon mal thx im Vorraus |
Re: Prozedur auf Knopfdruck?
Das hatten wir wirklich schon mindestens 42 mal hier... benutz einfach mal die Suchfunktion
|
Re: Prozedur auf Knopfdruck?
Ich schätze mal Du hast das zu Fuß eingegeben.
Such mal im Objektinspektor unter Ereignisse OnKeyPress und mach dann links daneben einen Doppelklick dann erstellt Dir Delphi folgendes.
Delphi-Quellcode:
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin //Hier deine Code end; |
Re: Prozedur auf Knopfdruck?
Ich glaube er meint, wie er eine bestehende Procedure aufrufen kann.
|
Re: Prozedur auf Knopfdruck?
Zitat:
--------------------- Hinweis: Dies ist der falsche Bereich ("OpenSource")! Bitte poste demnächst deine Posts im richtigen Bereich! Danke --------------------- Was meinst du mit "Auf Koopfdurck"? Und hast die die Porzedur schon? PS: Mit der Prozedur bei dir gibt es an sich keine Probleme, wenn du im OI auf das Ereignis "OnKeyPress" doppelt geklickt hast. |
DP-Maintenance
Dieses Thema wurde von "SirThornberry" von "Open-Source" nach "Object-Pascal / Delphi-Language" verschoben.
|
Re: Prozedur auf Knopfdruck?
Liste der Anhänge anzeigen (Anzahl: 1)
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 :lol:
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; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:13 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz