Autor Beitrag
Rasul
Hält's aus hier
Beiträge: 9



BeitragVerfasst: Mo 23.10.06 13:12 
Ich bin gerade dabei eine einfache Stoppuhr zu entwickeln,
was also heißt:

Ein Edit.Feld, wo die Zeit auf 0,00 Steht und sobald man auf einen Knopf drückt soll sich die Zeit immer in 0,01 schritten erhöhen.
Später baue ich natürlich noch einen Knopf dazu, der den Timer wieder ausschaltet, sodass die Uhr stoppt.
Aber nun mein Problem:
Wie bringe ich die Uhr dazu sich jeweils um 0,01 zu erhöhen?
ich habe das Edit Feld schonmal so gemacht, das die Zahlen darin vom Typ real sind, aber wie bringe ich es nun dazu, sich zu erhöhen?

hier mal der Quelltext den ich bisher habe:

ausblenden Delphi-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:
procedure TForm1.Edit1Change(Sender: TObject);
var
   Zahleins: real;
   Code : integer ;
   Rstr : string ;
begin
   Val(Edit1.Text, Zahleins, Code);
   Str(Zahleins:8:2, RStr);
   Edit1.Text:= Rstr;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
var
   Zahleins: real;
   Code : integer ;
   Rstr : string ;
begin
   Val(Edit1.Text, Zahleins, Code);
   Str(Zahleins:8:2, RStr);
   Edit1.Text:= Rstr;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Timer1.enabled:=true;
end;





ist da wenigstens schon ein ansatz richtig oder liege ich schonmal total falsch?
wäre nett wenn ihr mir da etwas helfen könntet,
aber auch bitte mit Begründung, da ich es ja selber lernen und begreifen möchte.


Zuletzt bearbeitet von Rasul am Mo 23.10.06 13:17, insgesamt 1-mal bearbeitet
elundril
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3747
Erhaltene Danke: 123

Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
BeitragVerfasst: Mo 23.10.06 13:15 
könntest du statt dem zitat die Delphi-tags verwenden?? einfach statt quote, delphi reinschreiben!

_________________
This Signature-Space is intentionally left blank.
Bei Beschwerden, bitte den Beschwerdebutton (gekennzeichnet mit PN) verwenden.
Rasul Threadstarter
Hält's aus hier
Beiträge: 9



BeitragVerfasst: Mo 23.10.06 13:19 
user profile iconelundril hat folgendes geschrieben:
könntest du statt dem zitat die Delphi-tags verwenden?? einfach statt quote, delphi reinschreiben!

schon erledigt.
Kroko
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1284

W98 W2k WXP
Turbo D
BeitragVerfasst: Mo 23.10.06 14:47 
(a) in 0.01s Schritten, das wird nicht möglich sein, die kleinste "Auflösung liegt bei
5/100!
(b) Merke dir bei Start die Zeit mittels now, lasse eine Timer mit 100ms = 0,1 laufen und aktualisiere Deine Anzeige, bei Stopp berechne die Zeit = "Now"-Start !

_________________
Die F1-Taste steht nicht unter Naturschutz und darf somit regelmäßig und oft benutzt werden! oder Wer lesen kann, ist klar im Vorteil!
oldmax
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 380


D3 Prof, D4 Prof
BeitragVerfasst: Mo 23.10.06 15:04 
Hi
Der Ansatz ist nicht verkehrt, aber laß Edit.Change weg und arbeite nur in der onTimer-Routine:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
procedure TForm1.Timer1Timer(Sender: TObject);  
var     Zahleins: real;  
begin  
   Zahleins:=StrToFloat(Edit1.Text)+1/100;
   Edit1.Text:=FormatFloat('#0.00',Zahleins);
end;


Den Timer -Intervall setzt du auf 10 und in der Onclick-Routine deines Buttons Schreibst du

ausblenden Delphi-Quelltext
1:
Timer.Enabled:=not Timer.Enabled; //Start / Stop					


Mit einem Reset-Button weist du einfach

ausblenden Delphi-Quelltext
1:
Edit1.Text:=FormatFloat('#0.00',1/100);					


zu
fertig.......
Gruß Oldmax

_________________
Zier dich nich so, ich krieg dich schon....
oldmax
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 380


D3 Prof, D4 Prof
BeitragVerfasst: Mo 23.10.06 15:07 
Hi
Ich nochmal, Kroko hat recht, meine Stopuhr läuft etwas unsynchron.... :shock:
oldmax

_________________
Zier dich nich so, ich krieg dich schon....
Kroko
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1284

W98 W2k WXP
Turbo D
BeitragVerfasst: Mo 23.10.06 15:42 
user profile iconoldmax hat folgendes geschrieben:
Hi
Ich nochmal, Kroko hat recht, meine Stopuhr läuft etwas unsynchron.... :shock:
oldmax
:D OnTimer wird halt in die Warteschlange eingereiht, wenn etwas anderes viel Rechenzeit nimmt, kann es schon einmal dauern, und Timer.Intervall := 10 ist auch nicht das Wahre, lieber 100 bzw besser 500 oder 1000 :D

_________________
Die F1-Taste steht nicht unter Naturschutz und darf somit regelmäßig und oft benutzt werden! oder Wer lesen kann, ist klar im Vorteil!