AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Prozedur auf Knopfdruck?

Ein Thema von lycaine · begonnen am 31. Jan 2007 · letzter Beitrag vom 1. Feb 2007
Antwort Antwort
lycaine

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

Prozedur auf Knopfdruck?

  Alt 31. Jan 2007, 20:58
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
  Mit Zitat antworten Zitat
Benutzerbild von inherited
inherited

Registriert seit: 19. Dez 2005
Ort: Rosdorf
2.022 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Prozedur auf Knopfdruck?

  Alt 31. Jan 2007, 21:05
Das hatten wir wirklich schon mindestens 42 mal hier... benutz einfach mal die Suchfunktion
Nikolai Wyderka

SWIM SWIM HUNGRY!
Neuer Blog: hier!
  Mit Zitat antworten Zitat
Blackheart

Registriert seit: 4. Mai 2005
846 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Prozedur auf Knopfdruck?

  Alt 31. Jan 2007, 21:09
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;
Blackheart
  Mit Zitat antworten Zitat
Benutzerbild von inherited
inherited

Registriert seit: 19. Dez 2005
Ort: Rosdorf
2.022 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Prozedur auf Knopfdruck?

  Alt 31. Jan 2007, 21:12
Ich glaube er meint, wie er eine bestehende Procedure aufrufen kann.
Nikolai Wyderka

SWIM SWIM HUNGRY!
Neuer Blog: hier!
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#5

Re: Prozedur auf Knopfdruck?

  Alt 1. Feb 2007, 17:11
Zitat von lycaine:
wie kann ich eine Prozedur auf Knopfdruck starten?
Hi Caine...

---------------------
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.
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
1. Feb 2007, 19:36
Dieses Thema wurde von "SirThornberry" von "Open-Source" nach "Object-Pascal / Delphi-Language" verschoben.
lycaine

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

Re: Prozedur auf Knopfdruck?

  Alt 1. Feb 2007, 20: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
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:22 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