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: Total7zip 
Author Message
MVV



PostPosted: Mon Feb 07, 2011 16:00    Post subject: Reply with quote

Total7zip wrote:
MVV wrote:
Не рассчитан интерфейс WCX-плагинов на то, что в одной папке может быть несколько файлов с одинаковыми именами, и ничего с этим не поделаешь. Тотал сообщает плагину лишь имена файлов, но никак не их индексы в панели.

это не так - тотал коммандер как раз работает с индексами.
и при каждой операции получает от плагина список файлов начиная с индекса 0 и до тех пор пока плагин не скажет что список кончился.
тотал же нормально отображает 4 файла с одинковыми именами в приведенном примере.
просто, когда дело доходит до распаковки, похоже, тотал коммандер забывает про индексы и предлагает распаковать первый же файл с подходящим именем. я проверю позже, но уверен на 99% что это так.
Вообще, конечно, замечание в чём-то верное. Хотя индексы и используются лишь для перечисления файлов, но не для обращения к ним.

Тотал при извлечении файлов из архива никак не ожидает, что архив вдруг изменится, или что плагин вернет список файлов в ином порядке (если вдруг плагин вернет имена пары файлов, которые должны быть извлечены, в ином порядке, тотал тупо оставит второй файл неизвлечённым), он полностью перечисляет архив, ища все необходимые файлы, причем в заранее определенном (ожидаемом) порядке. Поэтому теоретически этого может быть достаточно для возможности извлечения файлов с одинаковыми именами.
Но на данный момент в тотале просто используется предположение (соглашение, требование) об уникальности имен в архиве (и в 99% случаев оно абсолютно подтверждается - исключениями являются лишь "ненормальные" архивы), поэтому городить такой огород просто не было необходимости.

Пожалуй, самым простым способом решения проблемы будет проверка повторения имен файлов плагином, и модификация дублирующихся имен (например, через расширение со счетчиком, или его модификацию с помощью иных редко используемых символов). Но тогда придется заводить что-то вроде ассоциативного массива для проверки совпадения имени.
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
View user's profile Send private message ICQ Number


Powered by phpBB © 2001, 2005 phpBB Group