790
|
Posted: Wed Jun 07, 2023 12:54 Post subject: |
|
|
Duration в контент-варианте плагина, запутался с нулями. Заменил h, mm, sec на ":"
Code: | <column name="Duration">
<unit name="hh:mm:ss" type="script">Output:=TimingFormat('%h:%mm:%ss', Duration);</unit>
<unit name="hh:mm:ss.fff" type="script">Output:=TimingFormat('%hh:%mm:%ss.%fff', Duration);</unit>
<unit name="s" type="script">Output:=Trunc(Duration/1000);</unit>
<unit name="z">Duration</unit>
<unit name="Custom" type="script">
<![CDATA[
// this is an example of using scripts in columns
Output:='';
if Not StrIsNumber(Duration) then Exit;
nDur := Number(Duration);
Hour:=Trunc(nDur/3600000);
Min:=Trunc((nDur-Hour*3600000)/60000);
Sec:=Trunc((nDur-Hour*3600000-Min*60000)/1000);
if (Hour <> 0) then Output:=String(Hour)+':';
if (Min <> 0) then Output:=Output+String(Min)+':';
if (Sec <> 0) then Output:=Output+String(Sec);
]]>
</unit>
</column> |
Хотелось бы использовать пользовательский режим, чтобы продолжительность трека отображалась в виде 0:00:00 (если есть "часы") или 0:00 (если нет "часов") или 00 (если нет "минут"). Но получается, что если продолжительность 10:08, то будет показано как 10:8, а если 1:00:05, то будет 1:5
Можно ли написать, например:
Code: |
if (Hour <> 0) then Output:=String(Hour)+':';
if (Min = 0) or (Min > 9) then Output:=Output+String(Min)+':';
if (Min > 0) and (Min < 10) then Output:=Output+'0'+String(Min)+':';
if (Sec > 9) then Output:=Output+String(Sec) else Output:=Output+'0'+String(Sec); |
Вроде, работает. Наверно, есть какие-нибудь решения попроще? _________________ TC 11.03, Win10x64
Cuda уехал text, он был ещё вчераа... |
|