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;
Run Code Online (Sandbox Code Playgroud)
这是我试图在我的应用程序中实现的秒表代码,主要问题是标签上显示的时间格式是0:0:0:0
,我希望它是00:00:00:000
几小时,几分钟,几秒和几毫秒.我尝试了很多我在网上找到的东西和代码,但没有一个对我有帮助.
当我启动秒表时,时间会像这样0:0:0:1
,比0:0:0:10
,0:0:0:100
在完整的第二个毫秒之后变为1个十进制(1而不是001).几小时,几分钟和几秒相同,它们以1位小数显示,直到达到10(9而不是09).
我试过了:
Addleadingzeroes功能
用法:
AddLeadingZeroes(2005, 10) ;
Run Code Online (Sandbox Code Playgroud)
将导致'0000002005'字符串值.
仅限时间 - 带前导零的数值
ShowMessage('hh:nn:ss.zzz = '+FormatDateTime('hh:nn:ss.zzz', myDate));
Run Code Online (Sandbox Code Playgroud)如果你们中的任何一个好伙伴都可以提供帮助,我将非常感激.
干杯.