Entwickler-Ecke
Open Source Projekte - Reaktionszeitmesser v. 1.04
Mitmischer 1703 - Do 25.10.07 16:14
Titel: Reaktionszeitmesser v. 1.04
In der Freeware-Sparte wurde ich gebeten hier den Quelltext zu meinem Reaktionszeitmesser zuposten. Zu dem gibt es nicht viel zu sagen, bis auf einige Neuerungen. Ich würde sagen ich stell hier mal Version 1.04 ein. Tschüss!
Matthias-K - Do 25.10.07 16:28
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88: 89: 90: 91:
| #include <vcl.h> #pragma hdrstop
#include "Unit1.h" #include "Unit2.h" #include "Unit3.h" #pragma package(smart_init) #pragma link "CGAUGES" #pragma resource "*.dfm" TForm1 *Form1; Integer Reaktionszeit, Zufall = 1; __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } void __fastcall TForm1::Timer1Timer(TObject *Sender) { Reaktionszeit = Reaktionszeit + 13; Label1->Caption = IntToStr (Reaktionszeit); } void __fastcall TForm1::Button1Click(TObject *Sender) { if ((((Reaktionszeit == 1) || (Reaktionszeit == 13) || (!Timer1->Enabled) || (Reaktionszeit == 0)))) { Form1->FormClick (Sender); } else { Button1->Hide(); Timer1->Enabled = false; StartTimer->Enabled = true; Form2->Memo1->Lines->Add(IntToStr (Reaktionszeit)); Reaktionszeit = 0; Button1->Hide(); } } void __fastcall TForm1::Button2Click(TObject *Sender) { Form2->Show(); }
void __fastcall TForm1::FormClick(TObject *Sender) { Label1->Caption = "Schummler!"; Form2->Memo1->Clear(); Timer1->Enabled = false; StartTimer->Enabled = true; }
void __fastcall TForm1::Timer2Timer(TObject *Sender) { Timer1->Enabled = true; Timer1->Interval = 1; }
void __fastcall TForm1::StartTimerTimer(TObject *Sender) { Timer2->Enabled = true; StartTimer->Enabled = false; Button1->Show(); randomize(); Zufall = random (2000) + 555; Timer2->Interval = Zufall; } void __fastcall TForm1::FormCreate(TObject *Sender) { }
void __fastcall TForm1::FormKeyPress(TObject *Sender, char &Key) { Button1->Click(); } |
ich habs ma so hochgestellt.
junge, ich kann nicht verstehen, was du da genau machst! was soll denn die unit1.pas darstellen?
weil sowas, was da drin steht, hat mit reaktion nix zu tun!
erklär mir doch mal bitte, was du dir bei den einzelnen schritten gedacht hast!
hab dir doch nicht umsonst die pm geschrieben!
wenn du im timer event ein Application->ProcessMessages einfügst, dürfte dein progi auch nicht ruckeln. wenn denn der befehl unter c nicht anders ist! damit gibst du dem processor zeit, auch andere befehle auszuführen.
mfg matthias
Mitmischer 1703 - Do 25.10.07 16:45
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88: 89: 90: 91:
| #include <vcl.h> #pragma hdrstop
#include "Unit1.h" #include "Unit2.h" #include "Unit3.h" #pragma package(smart_init) #pragma link "CGAUGES" #pragma resource "*.dfm" TForm1 *Form1; Integer Reaktionszeit, Zufall = 1; __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } void __fastcall TForm1::Timer1Timer(TObject *Sender) { Reaktionszeit = Reaktionszeit + 13; Label1->Caption = IntToStr (Reaktionszeit); } void __fastcall TForm1::Button1Click(TObject *Sender) { if ((((Reaktionszeit == 1) || (Reaktionszeit == 13) || (!Timer1->Enabled) || (Reaktionszeit == 0)))) { Form1->FormClick (Sender); } else { Button1->Hide(); Timer1->Enabled = false; StartTimer->Enabled = true; Form2->Memo1->Lines->Add(IntToStr (Reaktionszeit)); Reaktionszeit = 0; Button1->Hide(); } } void __fastcall TForm1::Button2Click(TObject *Sender) { Form2->Show(); }
void __fastcall TForm1::FormClick(TObject *Sender) { Label1->Caption = "Schummler!"; Form2->Memo1->Clear(); Timer1->Enabled = false; StartTimer->Enabled = true; }
void __fastcall TForm1::Timer2Timer(TObject *Sender) { Timer1->Enabled = true; Timer1->Interval = 1; }
void __fastcall TForm1::StartTimerTimer(TObject *Sender) { Timer2->Enabled = true; StartTimer->Enabled = false; Button1->Show(); randomize(); Zufall = random (2000) + 555; Timer2->Interval = Zufall; } void __fastcall TForm1::FormCreate(TObject *Sender) { }
void __fastcall TForm1::FormKeyPress(TObject *Sender, char &Key) { Button1->Click(); } |
Matthias-K - Do 25.10.07 16:50
und was soll die 13 bedeuten?
Mitmischer 1703 - Do 25.10.07 16:53
Während der Aufzeichnung verstreicht ja auch einige Zeit und wenn ich nur um 1 höher gehe, bin ich zu langsam. Also habe ich mich für eine tolerante Möglichkeit entschieden -> 13
Matthias-K - Do 25.10.07 17:05
ich gebs auf!
unstrukturiert.
da braucht man ja allein schon etliche mins, um durchzublicken! und das hab ich bis jetzt noch nicht geschafft!
also, ums mal auseinander zu nehmen:
1. du erzeugst eine zufallszahl in einem bestimmten bereich, der dein programm startet.
2. dann startest du den timer, der die zeit nimmt und gibst den button frei.
3. bei einem klick stoppst du den timer und wertest alles andere aus.
ist schon etwas arg böse verschachtelt für das bissle.
matthias
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!