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


lbicl

Создание библиотеки значков DLL / ICL.

lbicl=Path илиList||PathICL||Sort, ||Dialogs||progres<>||[tc]||upd<>||<info>

Параметры:

Path
или
List
Путь. Где:
  Path - путь к каталогу с иконками.
  или
  List - путь к файлу списка полных путей иконок. Возможны варианты:
    • %WL - список полных путей выделенных объектов. см. Дополнение №7.
    • [tc] - различные списки панелей ([tc=TL]) см. Дополнение №12.
    • Различные списки PS<>, FOLDC<> ... см. Дополнение №22.
    • GLOBALNAME - данные, переданные глобальными переменными. см. Дополнение №23.
    • <inikey> - информация из INI файла см. описание параметра.
    • <xfolder> - информация переданная параметром см. Дополнение №11.
    • <info> - информация переданная параметром см. Дополнение №10.
PathICLПуть назначения. PathICL|Flag , где:
  PathICL - путь к создаваемой библиотеки ICL, DLL
  Flag - режим:
    0 - не заменять библиотеку, если существует (добавляется счётчик к базовому имени).
    1 - заменять (по умолчанию).
SortСортировка. Где Sort:
  0 - не сортировать.
  1 - сортировать по возрастанию (по умолчанию).  
  2 - сортировать по убыванию.
  3 - сортировать по возрастанию по цифрам в начале имени.
  4 - сортировать по возрастанию по цифрам в конце имени.
Дополнительные параметры:
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] - диалог выбора файлов и папок.
...и другие диалоги.
progres<>Прогресс бар. Параметр progres<> - если указан, то при операции будет запущен прогресс бар.
Учитывается ключ MsBoxAtTheCompletion в TCIMG.ini в секции [Setting].
[tc]Расширенный аналог параметров Total Commander. см. Дополнение №12.
upd<>Обновление панели.
  Описание
Параметр upd<Number>, где Number - значение обновления панели(ей) Total Commander:
  1 - обновить активную панель.
  2 - обновить обе панели, вернуться в активную.
  3 - обновить другую панель, вернуться в активную.
  4 - обновить активную панель, перейти в другую.
  5 - обновить другую панель, остаться в другой.
  6 - обновить обе панели, остаться в другой.
  7 - не обновлять (по умолчанию, т.е. если параметр не прописан, то панели не обновляются).
<info>Получение различной информации. см. Дополнение №10.

Примечания:


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

Имя переменнойОписание
GLOBALLBICLмассив выходных данных (в первой ячейке путь созданной библиотеки)
GLOBALLBICL1массив выходных данных (список путей исходных иконок, из которых была создана библиотека)

См. также:

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

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

exect=$var_n='"%O"' xlist=[tc=AM] sends=<info=t1$GLOBALXLIST//> count=GLOBALXLIST<t>||$var_n||0||countline<0> rends=$GLOBALXLIST??-1||?G|GLOBALCOUNT<1>:-1 winls=$GLOBALRENDS||800x600||GLOBALSENDS<1>||but<2> lbicl=$GLOBALWINLS||"%p$var_n".dll|1||0||progres<> delsm="%p$var_n"||1 exicn=GLOBALLBICL<1>||"%p$var_n"||upd<1> ;; открыть для просмотра и редактирования выделенные папки библиотек значков.

global exics=%WL||$f254\x\||progres<>||upd<3>||infold<> winls=$GLOBALEXICS3||800x600||2 lbicl=$GLOBALWINLS||"%T%O".dll||0||progres<> delsm=$f254\x||1 ;; извлечь значки выделенных 2 библиотек dll во временные папки, открыть их в окне редактирования, после нажатия "OK" создать библиотеку в другой панели

global iconn=x||"%t"New//0||foldimg<%WL|png>||progres<> lbicl=GLOBALICONN<t>||"%pLibrary.dll"|0||progres<>||upd<1> ;; создать в другой панели в папке New иконки -ICO из одноимённых -PNG файлов разных форматов (16x16, 24x24 ...) взятых из выделенных папок + отображать процесс и создать в активной панели библиотеку Library.dll из новых значков

global iconn=x||%%TCIMG_TEMP%%\1\//0||foldimg<%WL|png>||progres<> lbicl=GLOBALICONN<t>||"%pLibrary.dll|0"||progres<>||upd<1> tempxx ;; создать в активной панели библиотеку Library.dll значков, создаваемых из одноимённых -PNG файлов разных форматов (16x16, 24x24 ...) взятых из выделенных папок

global lbicl=%WL||"%T%O".dll GLOBALLBICL<a> GLOBALLBICL1<a> ;; создать в другой панели библиотеку из выделенных значков и получить списки данных

imgpr=1 global copyy=%P%N||"%p"//0||bkt<!!(!!)!!1> iconv=FOLDC<GLOBALCOPYY<1>//0//1//png>||GLOBALCOPYY<1>||48,32,24,16 delss=FOLDC<GLOBALCOPYY<1>//0//1//png>||1 creat=%%TCIMG_PATH%%\TEMP\||ikon.txt||content<$GLOBALICONV>||owrite<1> lbicl=%%TCIMG_PATH%%\TEMP\ikon.txt||"%p"Library.icl ;; создать копию папки под курсором и конвертировать png файлы папки копии в иконки заданных размеров с последующим удалением всех png файлов и с созданием в активной панели библиотеки.icl созданных иконок

imgpr=1 global exicn=%%COMMANDER_PATH%%\Wcmicons.dll||$f254?55 sends=$f212\Icons.txt||&?(?:[^\d])0*(\d+)!!3!!1!!, bends=<info=n8|GLOBALSENDS<1>|0|GLOBALEXICN<0>-1>||?Ffnc_numplus $GLOBALEXICN[GLOBALBENDS<1>]=;$f202\Mono8x8.ico lbicl=$GLOBALEXICN||"%p"\Wcmicons_New.dll||0||upd<1> tempz=55||1 ;; из библиотеки Wcmicons.dll оставить заданные номеров значков, прописанных в файле Icons.txt, остальные значки заменить "пустышкой" (значком Mono8x8.ico) и сохранить в активную панель в новую библиотеку Wcmicons_New.dll

imgpr=1 slist=FOLDC<%WL//0//1//png> iconv=GLOBALSLIST<t>||"%p"\NewLibrary//0||48,32,24,16 creat=%%TCIMG_PATH%%\TEMP\||NewLibrary.txt||content<$GLOBALICONV||owrite<1> lbicl=%%TCIMG_PATH%%\TEMP\NewLibrary.txt||"%p"Library.icl delsm="%p"\NewLibrary||1 ;; конвертировать png файлы выделенных папок в иконки заданных размеров с размещением их в папке NewLibrary, далее создать в активной панели библиотеку Library.icl из содержимого папки NewLibrary - с дальнейшим удалением данной папки

imgpr=1 slist=FOLDC<%WL//0//1//png> iconv=GLOBALSLIST<t>||"%p"\NewLibrary//0||48,32,24,16 creat=%%TCIMG_PATH%%\TEMP\||NewLibrary.txt||content<$GLOBALICONV>||owrite<1> lbicl=%%TCIMG_PATH%%\TEMP\NewLibrary.txt||"%p"Library.icl ;; конвертировать png файлы выделенных папок в иконки заданных размеров с размещением их в папке NewLibrary, после создать в активной панели библиотеку Library.icl из содержимого папки NewLibrary

imgpr=1 slist=FOLDC<%WL//0//1//png> xlist=GLOBALSLIST<t1>||##<info=f12::>||&&(?i)[^a-zа-яё]*$!! iconv=GLOBALSLIST<t>||"%p"\NewLibrary\//0//GLOBALXLIST<1>||48,32,24,16 creat=%%TCIMG_PATH%%\TEMP\||NewLibrary.txt||content<$GLOBALICONV>||owrite<1> lbicl=%%TCIMG_PATH%%\TEMP\NewLibrary.txt||"%p"Library.icl ;; конвертировать png файлы выделенных папок в иконки заданных размеров с именем первого файла с размещением их в папке NewLibrary, далее создать в активной панели библиотеку Library.icl из содержимого папки NewLibrary

imgpr=1 tends=?$f254?55 exicn=%%COMMANDER_PATH%%\Wcmicons.dll||GLOBALTENDS<1> sends=$f212\Icons.txt||&?(?:[^\d])0*(\d+)!!3!!1!!, bends=<info=n8|GLOBALSENDS<1>|0|GLOBALEXICN<0>-1>||?Ffnc_numplus $GLOBALEXICN[GLOBALBENDS<1>]=;$f202\Mono8x8.ico lbicl=$GLOBALEXICN||"%p"\Wcmicons_New.dll||0||upd<1> tempz=55||1 ;; из библиотеки Wcmicons.dll оставить заданные номеров значков, прописанных в файле Icons.txt, остальные значки заменить "пустышкой" (значком Mono8x8.ico) и сохранить в активную панель в новую библиотеку Wcmicons_New.dll

lbicl="%p"||"%tLibrary.dll"||progres<>||upd<3> ;; создание DLL-библиотеки из иконок активной панели с прогресс баром

lbicl="%p"||"%tLibrary.dll"|0||progres<>||upd<3> ;; создание в другой панели DLL-библиотеки из иконок активной панели с прогресс баром, если библиотека существует, то к имени добавляется счётчик

lbicl=%%COMMANDER_PATH%%\Files\Icons\Wcmicons||%%COMMANDER_PATH%%\Wcmicons.dll ;; создание иконок Wcmicons.dll

lbicl=%%COMMANDER_PATH%%\Files\Icons\Wcmicons||%%COMMANDER_PATH%%\Wcmicons.dll||1||progres<> ;; создание иконок Wcmicons.dll с отображением прогресса

lbicl=%P%N||"%T%O".dll ;; создать в другой панели библиотеку из значков папки под курсором

lbicl=%P%N||"%T%O".dll ;; создать из значков папки под курсором dll библиотеку в другой панели с именем папки

lbicl=%P%N||"%T%O.dll"||3||upd<3>||progres<> ;; создать из файлов ICO папки под курсором библиотеку значков в другой панели (отсортировав имена с нумерацией в начале имён по числовому возрастанию)

lbicl=%P%N||"%T%O.dll"||4||upd<3>||progres<> ;; создать из файлов ICO папки под курсором библиотеку значков в другой панели (отсортировав имена с нумерацией в конце имён по числовому возрастанию)

lbicl=%P%N||%P%N\"%O".dll ;; создать из значков папки под курсором dll библиотеку внутри папки с именем папки

lbicl=%WL||"%T%O".dll ;; создать в другой панели библиотеку из выделенных значков

lbicl=%WL||"%T%O".dll||0 ;; создать в другой панели библиотеку из выделенных значков. Не сортировать

lbicl=%WL||"%T%O".dll||2 ;; создать в другой панели библиотеку из выделенных значков. Сортировать по убыванию

sends=?$f254?55 dilog=<sicon=%%WINDIR%%\System32\shell32.dll> exicn=%%WINDIR%%\System32\shell32.dll||GLOBALSENDS<1>1||GLOBALSICON1<3>||icn<0> $GLOBALICXXX=$GLOBALEXICN dilog=<sicon=%%COMMANDER_PATH%%\TCIMG.dll> exicn=%%COMMANDER_PATH%%\TCIMG.dll||GLOBALSENDS<1>2 exect=GLOBALSICON2<3>+1 $GLOBALEXICN[GLOBALEXECT<1>]=$GLOBALICXXX[1] lbicl=GLOBALEXICN<t>||"%p"xxx.dll||0||upd<1> delsm=GLOBALSENDS<1>||1 ;; из библиотеки shell32.dll выбрать значок и заменить значок выбранный в TCIMG.dll сохранив в новую библиотеку xxx.dll в активную панель

sends=?$f254?55 dilog=<sicon=[sopen=BOX8]> exicn=GLOBALSOPEN1<1>||GLOBALSENDS<1>1||GLOBALSICON1<3>||icn<0> $GLOBALICXXX=$GLOBALEXICN dilog=<sicon=[sopen=BOX8]> exicn=GLOBALSOPEN2<1>||GLOBALSENDS<1>2 exect=GLOBALSICON2<3>+1 $GLOBALEXICN[GLOBALEXECT<1>]=$GLOBALICXXX[1] lbicl=GLOBALEXICN<t>||"%p"xxx.dll||0||upd<1> delsm=GLOBALSENDS<1>||1 ;; из библиотеки №1 выбрать значок и заменить значок выбранный в библиотеке №2 сохранив в новую библиотеку xxx.dll в активную панель

sends=?$f254?55 exicn=D:\icn1.dll||GLOBALSENDS<1>1||56 $GLOBALICXXX=$GLOBALEXICN exicn=D:\icn2.dll||GLOBALSENDS<1>2 $GLOBALEXICN[67]=$GLOBALICXXX[1] lbicl=GLOBALEXICN<t>||"%p"xxx.dll||0||upd<1> delsm=GLOBALSENDS<1>||1 ;; из библиотеки icn1.dll извлечь 56 значок, заменить им в icn2.dll 67-й значок, сохранив в новую библиотеку xxx.dll в активную панель

shape=36 dilog=[combo=BOX40][input=BOX106][break][combo=BOX40][input=BOX106] dends=GLOBALINPUT<2>??-8,||?Ffun_numplus sends=?$f254?55 exicn=$f250\GLOBALCOMBO<1>||GLOBALSENDS<1>1||GLOBALINPUT<1>||icn<0> $GLOBALICXXX=$GLOBALEXICN exicn=$f250\GLOBALCOMBO<2>||GLOBALSENDS<1>2 <FOR> 1 <TO> GLOBALICXXX<0> $GLOBALEXICN[GLOBALDENDS<:INDEX:>]=$GLOBALICXXX[:INDEX:] <NEXT> lbicl=GLOBALEXICN<t>||"%p"xxx.dll||0||upd<1> delsm=GLOBALSENDS<1>||1 ;; заменить заданными значками 1-й библиотеки заданные значки во 2-й, сохранив в новую библиотеку xxx.dll в активную панель (библиотеки и номера значков в диалоге) (отсчёт значков с 0)

slist=PS<[tc=AA]//1//0//ico>||formt<24> lbicl=GLOBALSLIST<t>||"%T%O.dll"||0||upd<3>||progres<> ;; создать из файлов ICO папки под курсором библиотеку значков в другой панели (отсортировав имена с нумерацией в начале имён по числовому возрастанию)

slist=PS<[tc=AA]//1//0//ico>||formt<25> lbicl=GLOBALSLIST<t>||"%T%O.dll"||0||upd<3>||progres<> ;; создать из файлов ICO папки под курсором библиотеку значков в другой панели (отсортировав имена с нумерацией в конце имён по числовому возрастанию)

tends=?$f254?55 exicn=$f250\TCIMG.dll||GLOBALTENDS<1> sends=$f212\Icons.txt||&?(?:[^\d])0*(\d+)!!3!!1!!, bends=<info=n8|GLOBALSENDS<1>|0|GLOBALEXICN<0>-1>??-8,||?Ffnc_numplus <FOR> 1 <TO> GLOBALBENDS<0> $GLOBALEXICN[GLOBALBENDS<:INDEX:>]=;$f202\Mono8x8.ico <NEXT> lbicl=$GLOBALEXICN||$f250\TCIMG_New.dll||0||upd<1> tempz=55||1 ;; из библиотеки TCIMG.dll оставить заданные номеров значков, прописанных в файле Icons.txt, остальные значки заменить "пустышкой" (значком Mono8x8.ico) и сохранить в папку TCIMG в новую библиотеку TCIMG_New.dll

tends=?$f254?55 exicn=$f250\TCIMG.dll||GLOBALTENDS<1> sends=$f212\Icons.txt||&?(?:[^\d])0*(\d+)!!3!!1!!, bends=<info=n8|GLOBALSENDS<1>|0|GLOBALEXICN<0>-1>||?Ffnc_numplus $GLOBALEXICN[GLOBALBENDS<1>]=;$f202\Mono8x8.ico lbicl=$GLOBALEXICN||$f250\TCIMG_New.dll||0||upd<1> tempz=55||1 ;; из библиотеки TCIMG.dll оставить заданные номеров значков, прописанных в файле Icons.txt, остальные значки заменить "пустышкой" (значком Mono8x8.ico) и сохранить в папку TCIMG в новую библиотеку TCIMG_New.dll


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