procedure TForm1.TimerSWTimer(Sender: TObject);
var
Hour, Min, Sec, MSec: word;
begin
ElapsedTime := Time - StartTime + Totaltime ;
DecodeTime(elapsedtime, Hour, Min, Sec, MSec);
LabelSW.Text := IntToStr(Hour) + ':'+ IntToStr(Min) + ':'+ IntToStr(Sec) + ':' + IntToStr(Msec);
end;
Это код секундомера, что я пытаюсь реализовать в мое приложение, основная проблема заключается в том, что формат время, указанный на этикетке является 0:0:0:0
, и я хотел бы, чтобы это было 00:00:00:000
для часы, минуты, секунды и милисекунды. Я пробовал множество вещей и кодов, которые я нашел в Интернете, но ничто из этого не помогло мне.Delphi Секундомера формат время
Когда я запустить секундомер, время идет, как этот 0:0:0:1
, чем 0:0:0:10
, 0:0:0:100
, и после полного второго милисекунд перейти к 1 десятичным (1 вместо 001). То же самое в течение нескольких часов, минут и секунд, они будут показаны на 1 десятичным, пока они не достигнут 10 (9 вместо 09) ..
Я попытался:
Addleadingzeroes функционировать
Использование:
AddLeadingZeroes(2005, 10) ;
В результате получается строковое значение '0000002005'. только
Time - числовые значения с ведущими нулями
ShowMessage('hh:nn:ss.zzz = '+FormatDateTime('hh:nn:ss.zzz', myDate));
Если какие-либо из вас хороших парней может помочь, я бы очень признателен.
Cheers.
А что [ 'System.Diagnostics.TStopWatch'] (Http: //docwiki.embarcadero .com/Библиотеки/xe5/о/System.Diagnostics.TStopwatch)? –
labelSW.Text: = Формат ('% 2.2u:% 2.2u:% 2.2u:% 3.3u', [Hour, Min, Sec, MSec]); См. Http://docwiki.embarcadero.com/Libraries/en/System.SysUtils.Format –
@SirRufo Прошу прощения, я не очень приспосабливаюсь к этому, нашел этот пример онлайн для реализации, я не знаю, как использовать Tstopwatch atm , havent попробовал tbh. –