Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > секундомер


Автор: zluka_x13 29.10.2006, 00:13
Здравствуйте уважаемые программисты.
Хочу написать простой секундомер. Что-то вроде нажимаеш на Button1
и он запускается:
  00  :  00   :   00
(Label1)(Label2)(Label3)
Где, 
Label1-часы;
Label2-минуты;
Label3-секунды;

Но если так писать(через 3 лейбла) получается громоздкий код
(и как-то по ламерски smile) Может есть другое решение? Или мне
использовать TDateTime?? Подскажите пожайлуста...
Заранее благодарен.

Автор: 586 29.10.2006, 00:40
Код
#include <vcl.h>
#include <stdio.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------

int t=0;

void __fastcall TForm1::Button1Click(TObject *Sender)
{
 // Start
 Timer1->Enabled=!Timer1->Enabled;
 if(Timer1->Enabled)
  Button1->Caption="Stop";
 else Button1->Caption="Start";
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
 char b[16];
 int h, m, s;
 t++;
 h=t/3600;
 m=(t%3600)/60;
 s=(t%3600)%60;
 sprintf(b, "%d:%.2d:%.2d", h, m, s);
 Label1->Caption=b;
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button2Click(TObject *Sender)
{
 //RESET
 t=0;
 Label1->Caption="0:00:00";
}

Автор: Grom 29.10.2006, 12:13
zluka_x13, используй Time();

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)