Announcement

Collapse
No announcement yet.

Stopuhr in Form

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Stopuhr in Form

    Hallo,<br>
    Eine Stopuhr zu Programmiern ist mit zwei Buttons ja kein Problem.<br>
    also Stop und Start.<br>
    wen aber noch ein Button existieren soll, der die Stopuhr nach dem Stoppen wieter laufen läst, wird es Problematisch.
    also Start, Stop und Weiter.<br>
    Hat jemand eine Lösung<br>
    Gruß<br>
    Michael

  • #2
    Beispiel für Stopuhr mit Tasten Start,Stop u. Weiter.
    <p>//---------------------------------------------------------------------------
    <br>#include &lt;vcl.h>
    <br>#pragma hdrstop
    <p>#include &lt;time.h>
    <br>#include &lt;stdio.h>
    <br>#include "Unit1.h"
    <p>clock_t Ti,TiStart;
    <p>//---------------------------------------------------------------------------
    <br>#pragma package(smart_init)
    <br>#pragma resource "*.dfm"
    <br>TForm1 *Form1;
    <br>//---------------------------------------------------------------------------
    <br>__fastcall TForm1::TForm1(TComponent* Owner)
    <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : TForm(Owner)
    <br>{
    <br>&nbsp;Timer1->Enabled=false;
    <br>&nbsp;Timer1->Interval=100;
    <br>}
    <br>//---------------------------------------------------------------------------
    <p>void _TimeToStr(char *s,unsigned long t,double tt)
    <br>{
    <br>&nbsp;int st;
    <br>&nbsp;unsigned char min,sec;
    <br>&nbsp;unsigned long a=3600L,b=60L;
    <p>&nbsp;st=(int)(t/a);
    <br>&nbsp;t%=a;
    <br>&nbsp;min=t/b;
    <br>&nbsp;t%=b;
    <br>&nbsp;sec=t;
    <p>&nbsp;tt-=(long)tt;
    <br>&nbsp;tt*=100;
    <p>&nbsp;sprintf(s,"%02d:%02d:%02d,%02d",st,min,se c,(int)tt);
    <br>}
    <br>//---------------------------------------------------------------------------
    <br>void __fastcall TForm1::ToDisp(void)
    <br>{
    <br>&nbsp;char s[21];
    <p>&nbsp;_TimeToStr(s,(Ti/CLK_TCK),(double)(Ti/CLK_TCK));
    <br>&nbsp;Label1->Caption=s;
    <br>}
    <br>//---------------------------------------------------------------------------
    <br>void __fastcall TForm1::BStartClick(TObject *Sender)
    <br>{
    <br>&nbsp;Ti=0;
    <br>&nbsp;TiStart=clock();
    <br>&nbsp;Timer1->Enabled=true;
    <br>}
    <br>//---------------------------------------------------------------------------
    <br>void __fastcall TForm1::Timer1Timer(TObject *Sender)
    <br>{
    <br>&nbsp;clock_t t;
    <p>&nbsp;t=clock();
    <br>&nbsp;Ti+=t-TiStart;
    <br>&nbsp;TiStart=t;
    <br>&nbsp;ToDisp();
    <br>}
    <br>//---------------------------------------------------------------------------
    <br>void __fastcall TForm1::BStopClick(TObject *Sender)
    <br>{
    <br>&nbsp;Timer1->Enabled=false;
    <br>&nbsp;Ti+=clock()-TiStart;
    <br>&nbsp;ToDisp();
    <br>}
    <br>//---------------------------------------------------------------------------
    <br>void __fastcall TForm1::BWeiterClick(TObject *Sender)
    <br>{
    <br>&nbsp;TiStart=clock();
    <br>&nbsp;Timer1->Enabled=true;
    <br>}
    <br>//--------------------------------------------------------------------------

    Comment

    Working...
    X