Timer Problem...
-
Ich möchte die Zeit messen wie lange es dauert bis alle Aktionen von einem OnClick Ereigniss abgelaufen sind. Zu diesem Zweck verwende ich einen Timer...
Er ist am Anfang Enabled = false, bei klick wird er true, müsste also loslaufen...
Interval = 100. Es sollten also die 10tel sekunden gezählt werden, leider bekomme ich als Ergebnis immer 0 angezeigt, aber es dauert definitiv länger als eine 10tel sekunde!stelle ich den timer von Anfang an auf Enabled->true so bekomme ich eine Zahl angezeigt, aber es wird ja leider auch die Zeit vor dem Klick gemessen...
Ich kapiere einfach nicht was falsch sein soll...
Hiermal der Code:
//--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop #include "Unit1.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; int count = 0; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { Timer1->Enabled = true; for(int i = 0; i<10; i++) ::Sleep(100); Button1->Caption = count; } //--------------------------------------------------------------------------- Könnt ihr mir helfen? void __fastcall TForm1::Timer1Timer(TObject *Sender) { count++; } //---------------------------------------------------------------------------
-
Straightflush schrieb:
Ich kapiere einfach nicht was falsch sein soll...
Abgesehen davon, dass Timer ohnehin nicht für Messungen geeignet sind: Während Button1Click läuft, werden keine anderen Ereignisse bearbeitet, auch keine Timer.
Ruf GetTickCount auf, einmal am Anfang und einmal am Ende, und bilde die Differenz.
-
Super!!!
Vielen Dank!Kannte die Funktion noch nicht.