Loopback
|
Posted: Wed Jun 07, 2023 23:11 Post subject: |
|
|
790
Для простой работы с ведущими нулями есть встроенная функция TimingFormat, но напрямую такое она не решит. Для этого в библиотеку функций "Common" я добавлял скриптовую функцию FormatDuration, которая делает требуемое, кроме секунд без минут (мне кажется, что тогда теряется ощущение, что это именно время). Её можно использовать так:
Code: |
<column name="Duration">
...
<unit name="Custom" type="script">
<![CDATA[
uses 'Common';
Output:=FormatDuration(Duration);
]]>
</unit>
</column>
|
Чтобы добиться одиночных секунд, надо поменять код функции FormatDuration на такой:
Code: |
// automatically format duration
function FormatDuration(nDuration);
begin
Result:='';
If not StrIsNumber(nDuration) then Exit;
nDuration := Number(nDuration);
if nDuration > 3600000 then
Result:=TimingFormat('%hh:%mm:%ss', nDuration)
else if nDuration < 60000 then
Result:=TimingFormat('%ss', nDuration)
else
Result:=TimingFormat('%mm:%ss', nDuration);
end;
|
|
|