Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Single Post  Topic: [wlx/wdx] TCMediaInfo 
Author Message
Loopback



PostPosted: Wed Jun 07, 2023 23:11    Post subject: Reply with quote

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;
View user's profile Send private message


Powered by phpBB © 2001, 2005 phpBB Group