tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
3
ZUGRIFFE
3038
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Svartr Svartr ist offline Mitglied
    Registriert seit
    Jul 2003
    Beiträge
    17
    Hallo,

    ich habe noch nie mit einem Timer gearbeitet und muß nun die Zeit messen, welche das Programm für eine best. Aktion benötigt.

    Ich habe das zum Test mal so versucht:

    Eine globale Variable int a, dann den Timer mit

    Timer1->Interval = 100;
    Timer1->Enabled = false;
    Timer1->Enabled = true;
    Timer1;
    --- schleife zum zeitvertreib ---
    ShowMessage(a);

    zurückgesetzt und im Timer selbst:

    void __fastcall TForm1::Timer1Timer(TObject *Sender)
    {
    a++;
    }

    a bleibt dabei aber immer 0 ... ich scheine da etwas grundlegendes verkehrt zu machen. Würde mich über einen kleinen Codeschnippsel freuen

    Schonmal Danke,

    Svartr

    Ps: Ich verwende den Borland C++ Builder 6
     

  2. #2
    Svartr Svartr ist offline Mitglied
    Registriert seit
    Jul 2003
    Beiträge
    17
    Ich antworte mir mal selbst.

    Da ich das mit dem Timer nicht hinbekommen habe mache ich das nun folgendermaßen:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    
    #include <time>
    (...)
    double zeit = 0.0, start;
    start = clock();
    (...)
    zeit += clock() - start;
    ShowMessage(zeit);
    (...)

    Ein Problem: wie mache ich aus dem Wert, welcher durch clock() gewonnen wird, einen lesabern Wert - am besten in ms?


    Edit: Ich habs - den Wert einfach durch CLOCKS_PER_SEC teilen.
    Geändert von Svartr (25.03.05 um 10:29 Uhr)
     

  3. #3
    Avatar von BadMourning
    BadMourning BadMourning ist offline Mitglied Gold
    Registriert seit
    Dec 2003
    Beiträge
    158
    nur zur Info: wenn du was mit nem Timer machen willst, und wo anders
    in ner Schleife was laufen läßt, dann solltest du nach jedem Schleifen-
    durchgang Application->ProcessMessages() rufen.

    Hintergrund. Das System ist blockiert, wenn du in ner Schleife hängst,
    du mußt Windows erlauben, Nachrichten zu verarbeiten, wie eben
    z.B. WM_TIMER.

    Greets,
    BadMourning
     

  4. #4
    Svartr Svartr ist offline Mitglied
    Registriert seit
    Jul 2003
    Beiträge
    17
    Danke übrigens für den Hinweis. Habe das gleich eingebaut.
     

Ähnliche Themen

  1. [C++] Zeitmessung in Millisekunden
    Von Jellysheep im Forum C/C++
    Antworten: 9
    Letzter Beitrag: 01.06.10, 23:11
  2. Zeitmessung in Mulitthreadanwendung
    Von Perdan im Forum C/C++
    Antworten: 2
    Letzter Beitrag: 26.11.09, 10:52
  3. Zeitmessung
    Von DerKleineVomSee im Forum Java
    Antworten: 8
    Letzter Beitrag: 14.10.08, 08:55
  4. Zeitmessung
    Von CodeFatal im Forum C/C++
    Antworten: 7
    Letzter Beitrag: 06.01.06, 08:18
  5. Zeitmessung (Timer) und Zeitausgabe
    Von Don Stefano im Forum PHP
    Antworten: 4
    Letzter Beitrag: 05.04.05, 00:46