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


funvb

Получение информации из функций скриптов VBS и передача данных другим командам.

funvb=NameParam, , ||<info>, ||<xinfo>, ||Dialogs, ||cliptext, ||[tc]

Параметры:

NameParamПараметры получения информации. Name(|Param1|Param2|...|Param8) , где:
  Name - имя функции из скрипта vbs.
  Param1 - 1-й параметр передаваемый функции.
  Param2 - 2-й параметр передаваемый функции.
  ...
  Param8 - 8-й параметр передаваемый функции.

  • Для передачи пустого значения используйте символ 'x'
  • При передачи параметров можно использовать ряд функций Autoit :
      Chr() и ChrW() заменяются соответствующими символами.
      ClipGet() заменяется содержимым буфера обмена.
      Number() позволяет производить математические действия.
      StringLeft() позволяет получать указанное число символов строки слева.
      StringRight() позволяет получать указанное число символов строки справа.
      StringMid() позволяет получать часть символов строки.
      StringLen() позволяет получать количество символов строки.
  • Для передачи массива воспользуйтесь глобальными переменными $GLOBALNAME или $var_
Дополнительные параметры:
<info>Получение различной информации. см. Дополнение №10.
<xinfo>Получение различной информации. см. Дополнение №10.
  Аналог параметра <info>, имеет возможность внутри параметра использовать параметр <info>
  Пример: <xinfo=o450<info=f50FilePath//>//>
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] - диалог выбора файлов и папок.
...и другие диалоги.
cliptextcliptext. Тег будет заменён содержимым из буфера обмена.
[tc]Расширенный аналог параметров Total Commander. см. Дополнение №12.

Примечания:

Команда позволяет получать информацию, которую возвращают функции vbs скриптов.

Для подключения своих функций вы можете:
   прописать функцию в скрипт ...\Files\Scripts\Func.vbs
   подключить свой скрипт, прописав путь к файлу в TCIMG.ini в секции [Scripts] в ключе VBS
        - для подключения нескольких скриптов пути прописываются через разделитель /
        - если скрипт находится в папке утилиты или в папке ...\Files\Scripts\ , то можно прописать только имя.
        - Func.vbs не прописывать, т.к. он считывается автоматически.

Пример записи:

[Scripts]
VBS=C:\Test\888.vbs/Func5.vbs/%COMMANDER_PATH%\Scripts\include.vbs


В функцию можно передать до 8-ми параметров, если понадобится большее, сообщите, увеличу ограничение...
В параметрах можно передавать как числовые, строковые данные, так и :
   массивы $GLOBALNAME , $var_a, ...
   данные ячеек 1D массивов $GLOBALNAME[N], 2D массивов $GLOBALNAME[N][M]

В одной команде можно получать информацию от нескольких функций.
При этом серия NameParam прописываются через разделитель ||

Пример записи:

funvb=Name|Param1|...|Param8||Name|Param1|...|Param8||...||Name|Param1|...|Param8


Информация, полученная от функций записывается в глобальные переменные:

Имя переменнойОписание
GLOBALFUNVB1данные, полученные от вызова 1-й функции
GLOBALFUNVB2данные, полученные от вызова 2-й функции
......
GLOBALFUNVBNданные, полученные от вызова N-й функции

Для получения/преобразования числовых, строковых данных (не массивов) можно воспользоваться параметром info=q0|...

При ошибках в скрипте, при несоответствии количества параметров, при передаче неправильного типа данных или при других ошибках будет выдан диалог с описанием ошибки, после чего будет прекращена работа утилиты:

См. также:

arh7f, arh7z, device, extxs, extxt, funau, funjs, infos, inplg, nfsis, tests, versn

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

aends=x??-3||##rndm<1|20> GLOBALAENDS<a> funvb=SortArrDownNum|$GLOBALAENDS|1 GLOBALFUNVB1<a> ;; сортировка элементов цифрового массива по убыванию

aends=x??-3||##rndm<1|20> GLOBALAENDS<a> funvb=SortArrUpNum|$GLOBALAENDS|1 GLOBALFUNVB1<a> ;; сортировка элементов цифрового массива по возрастанию

exect=$var_a=StringRegExp(FileRead('%P%N'),'(?m)^([^\r\n]+)',3) funvb=ArrayFilter|$var_a|cliptext|0|0 GLOBALFUNVB1<a> ;; получить из файла под курсором строки, в которых нет фразы из буфера обмена (без учёта регистра)

exect=$var_a=StringRegExp(FileRead('%P%N'),'(?m)^([^\r\n]+)',3) funvb=ArrayFilter|$var_a|cliptext|0|1 GLOBALFUNVB1<a> ;; получить из файла под курсором строки, в которых нет фразы из буфера обмена (учитывая регистр)

exect=$var_a=StringRegExp(FileRead('%P%N'),'(?m)^([^\r\n]+)',3) funvb=ArrayFilter|$var_a|cliptext|1|0 GLOBALFUNVB1<a> ;; получить из файла под курсором строки, в которых есть фраза из буфера обмена (без учёта регистра)

exect=$var_a=StringRegExp(FileRead('%P%N'),'(?m)^([^\r\n]+)',3) funvb=ArrayFilter|$var_a|cliptext|1|1 GLOBALFUNVB1<a> ;; получить из файла под курсором строки, в которых есть фраза из буфера обмена (учитывая регистр)

funvb=GetArrF|%P%N GLOBALFUNVB1<a> ;; получения массива различных объектов файла/папки под курсором

funvb=GetRelativePathA|%P%N|"%T" GLOBALFUNVB1<a> ;; для пути объекта под курсором получить относительный путь к каталогу другой панели

funvb=GetRelativePathA|%P%N|"%T" GLOBALFUNVB1<c> ;; для пути объекта под курсором получить относительный путь к каталогу другой панели и записать в буфера обмена

funvb=GuidName||ArrAllPath|%P%N GLOBALFUNVB1<a> GLOBALFUNVB2<a> ;; получение данных из функций vbs скрипта и запись информации в глобальные переменные

funvb=LinesInCol|cliptext|0|2|5|~~ GLOBALFUNVB1<a> ;; последовательно собрать строки в колонки

funvb=LinesInCol|cliptext|1|2|5|~~ GLOBALFUNVB1<a> ;; поочерёдно собрать строки в колонки

funvb=SpecFold GLOBALFUNVB1<a> ;; получения путей специальных папок системы

kends=%P%N eends=%P%N||formt<au3_2>||(!!\(||@CRLF!!| funvb=RegExpSearchPlus|GLOBALKENDS<x1>|GLOBALEENDS<x1>|1|0|1|2 GLOBALFUNVB1<a> ;; получить все пользовательские функции скрипта au3 под курсором (с помощью vbs функции)

sends=%P%N??-1||?Fwords0,wordsrus1,wordsrus2,27 GLOBALSENDS<a> funvb=GetSpellCheck|GLOBALSENDS<t>|%%COMMANDER_PATH%%\AkelFiles\Plugs\SpellCheck\Custom_a.dic|0,1 GLOBALFUNVB1<a> ;; из текстового файла под курсором получить уникальные русские слова и проверить орфографию с помощью Microsoft Word, затем в пользовательском списке слов

sends=%P%N??-1||?Fwords0,wordsrus1,wordsrus2,27 GLOBALSENDS<a> funvb=GetSpellCheck|GLOBALSENDS<t>|x|0 GLOBALFUNVB1<a> ;; из текстового файла под курсором получить уникальные русские слова и проверить орфографию с помощью Microsoft Word

slist=%WF||$$~~cntr<1|1|3> GLOBALSLIST<a> funvb=LinesInCol|$GLOBALSLIST|1|2|5|~~ GLOBALFUNVB1<a> ;; поочерёдно собрать имена выделенных объектов в колонки

slist=%WF||$$~~cntr<1|1|3> GLOBALSLIST<a> funvb=LinesInCol|$GLOBALSLIST|1|2|5|¤ GLOBALFUNVB1<a> anf2d=$GLOBALFUNVB1||2||([]+)||begin<0> GLOBALANF2D<a> GLOBALANF2D0<a> GLOBALANF2D1<a> ;; поочерёдно собрать имена выделенных объектов в колонки и записать в отдельные глобальные переменные


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