Описание команды


icods

Удаление/добавление форматов в иконки.

icods=%L,%WL||LISTF<>||PS<>||FOLDC<>||FOLDM<>||LISTC<>||FLST<>||cliplist||$var_aa||$GLOBALNAME||Path||delete<>, ||plus<>, ||pngcmprs<>, ||testico<>, ||Dialogs, ||<info>, ||progres<>, ||upd<>

Параметры:

1-й обязательный параметр. Может иметь несколько вариантов:
%L,
%WL
Список выделенных иконок. Также может использоваться путь к файлу списка полных путей файлов %P%N. см. Дополнение №7 или с:\List.txt
LISTF<>Список заданных объектов. см. Дополнение №22.
PS<>Список объектов каталога. см. Дополнение №22.
FOLDC<>Список объектов содержимого каталогов. см. Дополнение №22.
FOLDM<>Список выделенных объектов и всех объектов в подпапках. см. Дополнение №22.
LISTC<>Список объектов из выделенных без дубликатов. см. Дополнение №22.
FLST<>Смешанные списки объектов по заданному списку. см. Дополнение №22.
cliplistСписок полных путей объектов из буфера обмена.
$var_aaМассив. Переменная $var_a... - массив путей, созданный в команде exect.
$GLOBALNAMEМассив. Список путей глобальной переменной см. Дополнение №23.
2-й обязательный параметр.
PathПуть.
Path(!!Flag!!Name.Ext!!Insert). Подпараметры разделяются символами !!
  Может быть от 1-го (обязательного) до 4-х подпараметров.
Path//Flag(//Name.Ext//Insert). Подпараметры разделяются символами // (рекомендуемый).
  Может быть от 2-х (обязательных) до 4-х подпараметров, где:
  Path - путь назначения, где создавать иконки.
  Flag :
    0 - не перезаписывать, если объект существует добавляется счётчик (по умолчанию).
    1 - перезаписывать имеющиеся объекты, если существуют.
    3 - добавление счётчика к целевому пути, если он существует.
    4 - пропустить при совпадении имени объекта.
  Name - имя создаваемого значка.
  Insert - добавление к базовому имени.
Если Path=x, Name=x , то путь/имя берётся из пути оригинального файла.

Так же поддерживается конструкция Path//Flag//RegExp//Replace , где:
  Path - путь назначения (если в параметрах необходимо использовать путь объекта, то используйте два двоеточия ::).
  Flag - см. выше.
  RegExp//Replace - строка разделённая символами // означает изменение пути Path (путь назначения) с регулярными выражениями: первая часть "что искать", вторая "чем заменять" см. Дополнение №2.
Если преобразование пути заканчивается обратным слешем, то он является путём назначением, если нет, то файлом.
3-й обязательный параметр.
delete<>Удаление форматов. Параметр delete<String|Mode>, где:
  String - строка форматов, может иметь несколько вариантов:
    • Строка удаляемых форматов, прописываемых через запятую.
      16 - будет удалён формат 16x16.
      16,32 - будут удалены форматы 16x16 и 32x32.
    • Диапазон удаляемых форматов, прописываемых через двоеточие.
      16:48 - будут удалены все форматы от 16x16 до 48x48 (включая форматы 16x16 и 48x48).
      48:-1 - будут удалены все форматы больше 48x48 (включая формат 48x48).
  Mode - режим преобразования. При указании форматов для удаления в String может сложится такая ситуация, при которой не будет форматов для создания новой иконки, тогда:
    0 - не производить никаких преобразований.
    1 - для создания новой иконки берётся наименьший формат исходного значка.
    2 - для создания новой иконки берётся наибольший формат исходного значка.
    3 - не производить никаких преобразований и копировать исходную иконку по заданному пути.
    4 - не производить никаких преобразований и копировать исходную иконку по заданному пути (работает так же при ошибке создания новой иконки).
Дополнительные параметры:
plus<>Добавление форматов. Параметр plus<String>, где:
  String - строка форматов для добавления, прописываемых через запятую.
    16 - будет добавлен формат 16x16.
    16,32,48 - будут добавлены форматы 16x16, 32x32 и 48x48.
pngcmprs<>PNG сжатие. Параметр pngcmprs<Number> позволяет использовать сжатие PNG для иконок (32 бит на пиксель) для формата 256x256 и выше, где Number:
  0 - не использовать сжатие, сохранение напрямую (по умолчанию).
  1 - использовать сжатие.
testico<>Тестирование. Параметр testico<> позволяет протестировать заданные иконки на ошибки. Пути "проблемных" иконок в глобальном массиве GLOBALICODS2<a>
DialogsДиалоги. см. Дополнение №18
  Описание
Различные параметры диалогов.
  [input] - диалог ввода информации в InputBox.
  [richinput] - диалог ввода информации в RichInputBox.
  [combo] - диалог выбора информации в ComboBox.
  [group] - диалог выбора информации в GroupBox.
  [check] - диалог выбора информации в CheckBox.
  [edits] - диалог выбора информации в EditBox.
  [sfold] - выбор каталога.
  [zfold] - выбор каталогов.
  [sopen] - выбор файла для открытия.
  [ssave] - выбор файла для сохранения.
  [sicon] - диалог просмотра и выбора значка.
  [msgbx] - окно сообщения MsgBox.
  [updwn] - диалог выбора числовой информации UpDown.
  [image] - диалог выбора изображения.
  [elect] - диалог выбора файлов и папок.
...и другие диалоги.
<info>Получение различной информации. см. Дополнение №10.
progres<>Прогресс бар. Параметр progres<> - если указан, то при операции будет вызван прогресс бар.
Учитывается ключ MsBoxAtTheCompletion в TCIMG.ini в секции [Setting].
upd<>Обновление панели.
  Описание
Параметр upd<Number>, где Number - значение обновления панели(ей) Total Commander:
  1 - обновить активную панель.
  2 - обновить обе панели, вернуться в активную.
  3 - обновить другую панель, вернуться в активную.
  4 - обновить активную панель, перейти в другую.
  5 - обновить другую панель, остаться в другой.
  6 - обновить обе панели, остаться в другой.
  7 - не обновлять.

Примечания:

Команда имеет возможность передавать другим командам информацию через именные глобальные переменные. см. Дополнение №23

Имя переменнойОписание
GLOBALICODS0массив входных данных (список исходных путей объектов для преобразования)
GLOBALICODSмассив выходных данных (список исходных путей иконок из которых были созданы форматированные иконки)
GLOBALICODS1массив успешного форматирования (список путей новых форматированных иконок)
GLOBALICODS2массив неуспешного форматирования (список путей объектов, которые не участвовали в форматировании)

Аналог команды для одного объекта icodf

См. также:

exicn, exics, icache, icldf, iclds, icodf, icofs, icoft, icomf, icomm, iconf, iconn, iconv, icovw, lbicl

Примеры:
 Как создать кнопку?

global icods=%WL||"%t"//0||delete<0:-1|0>||plus<16>||testico<>||progres<> GLOBALICODS2<a> ;; тестировать выделенные иконки (получить пути битых/пустых иконок в таблице)

global icods=%WL||"%t"//0||delete<0:-1|0>||plus<48,96,128,256>||pngcmprs<1>||progres<> GLOBALICODS0<a> GLOBALICODS<a> GLOBALICODS1<a> GLOBALICODS2<a> ;; переформатировать выделенные иконки с принудительным присвоением форматов 48x48, 96x96, 128x128, 256x256, сохранить в другую панель, использовать png сжатие для формата 256x256 + отображать процесс

icods=%WL||"%p"//0||delete<24,32:-1|0>||plus<16,32> ;; из выделенных иконок удалить форматы 24x24 и больше 32x32 включительно, добавить, если нет, форматы 16x16,32x32, сохранить в активной панели

icods=%WL||"%p"//1||delete<48:-1|0> ;; из выделенных иконок удалить форматы больше 48x48 включительно и сохранить в активной панели с ЗАМЕНОЙ

icods=%WL||"%t"//0||delete<0:-1|0>||plus<48,96,128,256>||pngcmprs<1>||progres<> ;; переформатировать выделенные иконки с принудительным присвоением форматов 48x48, 96x96, 128x128, 256x256, сохранить в другую панель, использовать png сжатие для формата 256x256 + отображать процесс

icods=%WL||"%t"//0||delete<0:32|0> ;; из выделенных иконок удалить форматы меньше 32x32 включительно, сохранить в другую панель (если форматов для создания новой иконки нет, то преобразование не происходит)

icods=%WL||"%t"//0||delete<0:32|1> ;; из выделенных иконок удалить форматы меньше 32x32 включительно, сохранить в другую панель (если форматов для создания новой иконки нет, то берётся наименьший формат)

icods=%WL||"%t"//0||delete<0:32|2> ;; из выделенных иконок удалить форматы меньше 32x32 включительно, сохранить в другую панель (если форматов для создания новой иконки нет, то берётся наибольший формат)

icods=%WL||"%t"//0||delete<0:32|3> ;; из выделенных иконок удалить форматы меньше 32x32 включительно, сохранить в другую панель (если форматов для создания новой иконки нет, то иконка копируется по заданному пути без преобразования)

icods=%WL||"%t"//0||delete<0:32|4> ;; из выделенных иконок удалить форматы меньше 32x32 включительно, сохранить в другую панель (если форматов для создания новой иконки нет или ошибка при форматировании, то иконка копируется по заданному пути без преобразования)

icods=%WL||"%t"//0||delete<0|0>||plus<48,96,128,256>||pngcmprs<1> ;; добавить выделенным иконкам форматы 48x48, 96x96, 128x128, 256x256, сохранить в другую панель, использовать png сжатие для формата 256x256

icods=%WL||"%t"//0||delete<0|0>||pngcmprs<1> ;; сжать в выделенных иконках формат 256x256 (png сжатие), сохранить в другую панель

icods=%WL||"%t"//0||delete<16,32|0> ;; из выделенных иконок удалить форматы 16x16 и 32x32, сохранить в другую панель (если форматов для создания новой иконки нет, то преобразование не происходит)

icods=%WL||"%t"//0||delete<16,32|0>||pngcmprs<1> ;; из выделенных иконок удалить форматы 16x16 и 32x32, сохранить в другую панель (если форматов для создания новой иконки нет, то преобразование не происходит), использовать png сжатие для формата 256x256

icods=%WL||"%t"//0||delete<16,32|1> ;; из выделенных иконок удалить форматы 16x16 и 32x32, сохранить в другую панель (если форматов для создания новой иконки нет, то берётся наименьший формат)

icods=%WL||"%t"//0||delete<16,32|1>||pngcmprs<1> ;; из выделенных иконок удалить форматы 16x16 и 32x32, сохранить в другую панель (если форматов для создания новой иконки нет, то берётся наименьший формат), использовать png сжатие для формата 256x256

icods=%WL||"%t"//0||delete<16,32|2> ;; из выделенных иконок удалить форматы 16x16 и 32x32, сохранить в другую панель (если форматов для создания новой иконки нет, то берётся наибольший формат)

icods=%WL||"%t"//0||delete<16,32|2>||pngcmprs<1> ;; из выделенных иконок удалить форматы 16x16 и 32x32, сохранить в другую панель (если форматов для создания новой иконки нет, то берётся наибольший формат), использовать png сжатие для формата 256x256

icods=%WL||"%t"//0||delete<16,32|3> ;; из выделенных иконок удалить форматы 16x16 и 32x32, сохранить в другую панель (если форматов для создания новой иконки нет, то иконка копируется по заданному пути без преобразования)

icods=%WL||"%t"//0||delete<16,32|3>||pngcmprs<1> ;; из выделенных иконок удалить форматы 16x16 и 32x32, сохранить в другую панель (если форматов для создания новой иконки нет, то иконка копируется по заданному пути без преобразования), использовать png сжатие для формата 256x256

icods=%WL||"%t"//0||delete<16,32|4> ;; из выделенных иконок удалить форматы 16x16 и 32x32, сохранить в другую панель (если форматов для создания новой иконки нет или ошибка при форматировании, то иконка копируется по заданному пути без преобразования)

icods=%WL||"%t"//0||delete<16,32|4>||pngcmprs<1> ;; из выделенных иконок удалить форматы 16x16 и 32x32, сохранить в другую панель (если форматов для создания новой иконки нет или ошибка при форматировании, то иконка копируется по заданному пути без преобразования), использовать png сжатие для формата 256x256

icods=%WL||"%t"//0||delete<24,32:-1|0>||plus<16,32> ;; из выделенных иконок удалить форматы 24x24 и больше 32x32 включительно, добавить, если нет, форматы 16x16,32x32, сохранить в другую панель

icods=%WL||"%t"//0||delete<48:-1|0> ;; из выделенных иконок удалить форматы больше 48x48 включительно, сохранить в другую панель (если форматов для создания новой иконки нет, то преобразование не происходит)

icods=%WL||"%t"//0||delete<48:-1|1> ;; из выделенных иконок удалить форматы больше 48x48 включительно, сохранить в другую панель (если форматов для создания новой иконки нет, то берётся наименьший формат)

icods=%WL||"%t"//0||delete<48:-1|2> ;; из выделенных иконок удалить форматы больше 48x48 включительно, сохранить в другую панель (если форматов для создания новой иконки нет, то берётся наибольший формат)

icods=%WL||"%t"//0||delete<48:-1|3> ;; из выделенных иконок удалить форматы больше 48x48 включительно, сохранить в другую панель (если форматов для создания новой иконки нет, то иконка копируется по заданному пути без преобразования)

icods=%WL||"%t"//0||delete<48:-1|4> ;; из выделенных иконок удалить форматы больше 48x48 включительно, сохранить в другую панель (если форматов для создания новой иконки нет или ошибка при форматировании, то иконка копируется по заданному пути без преобразования)

imgpr=1 icods=%WL||"%p"!!1||delete<0|0>||plus<<input=Добавить~~выделенным~~иконкам~~форматы|Введите~~через~~запятую~~нужные~~форматы~~(16,48,96)|16|400|120>>||pngcmprs<1> ;; добавить выделенным иконкам в активной панели необходимые форматы

imgpr=1 icods=%WL||"%t"||delete<0|0>||plus<<input=Добавить~~выделенным~~иконкам~~форматы|Введите~~через~~запятую~~нужные~~форматы~~(16,48,96)|16|400|120>>||pngcmprs<1> ;; добавить выделенным иконкам в другой панели необходимые форматы

imgpr=1 slist=%WL icods=$GLOBALSLIST||"%p"//1||delete<48:-1|0>||plus<16,24,32>||pngcmprs<1> ;; из выделенных иконок удалить форматы больше 48x48 включительно и добавить недостающие к группе 16,24,32


© Аверин Андрей для Total Commander Image  Averin-And@yandex.ru