在Delphi中显示负时间

Jam*_*mes 0 delphi delphi-2009

我正在Delphi 2009中开发一个计时器.我目前正在使用以下方法来格式化我的计时器显示:

Caption := Format('%.2d', [Hours]) + ':' + 
           Format('%.2d', [Minutes]) + ':' + 
           Format('%.2d', [Seconds]);
Run Code Online (Sandbox Code Playgroud)

这按预期显示时间为:

00:04:35
Run Code Online (Sandbox Code Playgroud)

但是,当我进入负面时间时,可以理解地将其显示为:

00:-04:-35
Run Code Online (Sandbox Code Playgroud)

我需要时间显示为:

-00:04:35
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

RRU*_*RUZ 12

前缀:= ''; if(Hours <0)或(Minutes <0)或(Seconds <0)then iffix:=' - ';

Caption := Prefix+Format('%.2d', [Abs(Hours)]) + ':' + 
           Format('%.2d', [Abs(Minutes)]) + ':' + 
           Format('%.2d', [Abs(Seconds)]);
Run Code Online (Sandbox Code Playgroud)

再见.

  • 你为什么不一次用所有三个值来调用`格式('%.2d:%.2d:%.2d',[...])` (3认同)