言葉でタイムスパン(秒、分、時間)をフォーマットする方法How to show percent done, elapsed time and estimated time progress?Inno Setupの - 私は、コードを使用してい
私は「秒」、「分」と「時間」で番号を交換したいと思いますつまり、「0:01:37」の代わりに、「1分37秒」と表示したいと思います。出来ますか?
言葉でタイムスパン(秒、分、時間)をフォーマットする方法How to show percent done, elapsed time and estimated time progress?Inno Setupの - 私は、コードを使用してい
私は「秒」、「分」と「時間」で番号を交換したいと思いますつまり、「0:01:37」の代わりに、「1分37秒」と表示したいと思います。出来ますか?
ビット賢く実装:
procedure AddTime(var S: string; Count: Integer; L: string);
begin
if Count > 0 then
begin
if S <> '' then
begin
S := S + ' ';
end;
if Count > 1 then L := L + 's';
S := S + Format('%d %s', [Count, L]);
end;
end;
function TicksToStr(Value: DWORD): string;
var
I: DWORD;
Hours, Minutes, Seconds: Integer;
begin
I := Value div 1000;
Seconds := I mod 60;
I := I div 60;
Minutes := I mod 60;
I := I div 60;
Hours := I mod 24;
AddTime(Result, Hours, 'hour');
AddTime(Result, Minutes, 'minute');
AddTime(Result, Seconds, 'second');
if Result = '' then Result := '-'; { no time }
end;
ありがとうございました!!!! –
正しく表示されないものはありますか?あなたの問題を説明する方法を学んでください!それは約0秒残っていますか? –
私はすでに自分の答えを編集しています - " - "を0に表示したいものに置き換えてください。 –
表示する文字列をFormat
に変更するだけです。ゼロをスキップして、複数のハンドル
function TicksToStr(Value: DWORD): string;
var
I: DWORD;
Hours, Minutes, Seconds: Integer;
begin
I := Value div 1000;
Seconds := I mod 60;
I := I div 60;
Minutes := I mod 60;
I := I div 60;
Hours := I mod 24;
Result := Format('%.2d hours, %.2d minutes, %.2d seconds', [Hours, Minutes, Seconds]);
end;
ありがとう@KenWhite !! –
あなたの代わりに「午前3時20分15秒」のような時代のあなたは「3時間、20分、15を表示することを意味しますか秒 "ですか?または単に「3時間」、後で「0:20:15」のようなときには、「20分」を表示したいでしょうか? –
可能であれば、数字を秒、分、時間で置き換えます。すなわち、0:01:37の代わりに、1分37秒を表示したいと思います。 –
あなたを止めるのは何ですか?最後の行を変更して、必要なものを表示させます。値と書式文字列があります。書式文字列を変更します。 –