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


Автор: susanin 23.4.2007, 15:31
сделал что на форме отображается реальное время на момент запуска программы.... теперь хотелось бы еще сделать, чтобы это время еще и шло....т.е. как в стандартынх часах шли секунды минуты и часы... как это можно реализовать?
само отображение времени сделал так
Код

void __fastcall TForm1::FormPaint(TObject *Sender)
{
TDateTime t;
AnsiString mes;
Canvas->Brush->Style = bsClear;
   mes = "Текущее время:" + t.TimeString();
                Canvas->TextOutA(32,250,mes);
}

Автор: SenkraD 23.4.2007, 15:40
А положить TLabel и цикле написать что-то такое
Код

Label1->Caption = FormatDateTime("hh:nn:ss", dtNow);

Автор: susanin 23.4.2007, 15:46
Цитата(SenkraD @  23.4.2007,  15:40 Найти цитируемый пост)
А положить TLabel и цикле написать что-то такое

так все равно отображается только время, которое было в мемент запуска программы.....а секунды и минуты считаться не хотят....

Автор: SenkraD 23.4.2007, 15:55
Забыл, сори
Положи ещё таймер с интервалом 1000мс и в обработчике OnTimer напиши
Код

Label1->Caption = FormatDateTime("hh:nn:ss", Now());

Автор: susanin 23.4.2007, 16:08
SenkraD , спасибо! теперь все как надо!

Автор: CrasyMen 23.4.2007, 23:12
susanin, можеш выложить то что у тебя получилось. Мне тоже это надо. Как раз хотел тему создавать  smile 

Автор: susanin 24.4.2007, 10:56
CrasyMen , могу  
Код

void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
    Label2->Caption= FormatDateTime("hh:nn:ss", Now());

}

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