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: Fri Jun 30, 2023 23:03    Post subject: Reply with quote

790 wrote:
Во втором параметре ни слова про /, однако, он там всё-таки есть?

Это разные вещи. Эти слеши (или другие символы, заданные в ключе MultiSeparator) добавляет сам плагин, при использовании вывода из всех потоков с помощью "*" - нужно же их чем-то разделять.

790 wrote:
В общем, как сделать, чтобы при пустом значении Language и AudioStreamCount > 1, не рисовались пустые слэши / / , а было написано просто число аудио-потоков; а при наличии AudioLangCode показывались сами эти "коды", даже если код один?

Если число потоков больше 1, то Language одного потока может быть пустой, а другой нет. По идее об отсутствии нужно судить только по факту, когда пустые все. Не знаю, может надо было бы изначально возвращать пустую строку, если все составляющие пустые. С другой стороны пусть это не очень красиво выглядит, зато видно, что значений несколько и они пустые.

Думаю, в качестве решения, пусть и немного корявого, можно заменить пробелы и слеши на пустую строку и проверить результат, если он пустой - возвращать число потоков.
Code:

<column name="Audio Language Code" type="script">
      <![CDATA[
         TestStr := StrReplace(AudioLangCode, '/', '');
         TestStr := StrReplace(TestStr, ' ', '');
         if (TestStr = '') then
         begin
            if (AudioStreamCount < 2) then Output:='' else Output:=AudioStreamCount;
         end
         else Output:=AudioLangCode;
      ]]>
</column>
View user's profile Send private message


Powered by phpBB © 2001, 2005 phpBB Group