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


funjs

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

funjs=NameParam, , ||<info>, ||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.
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.

Примечания:

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

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

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

[Scripts]
JS=C:\Test\888.js/Func5.js/%COMMANDER_PATH%\Scripts\include.js


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

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

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

funjs=Name|Param1|...|Param8||Name|Param1|...|Param8||...||Name|Param1|...|Param8


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

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

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

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

См. также:

device, extxs, extxt, funau, funvb, infos, inplg, nfsis, versn

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

funjs=Base58Decode|zVbyBrMk GLOBALFUNJS1<a> ;; декодировать строку Base58

funjs=Base58Encode|cliptext GLOBALFUNJS1<a> funjs=Base58Decode|GLOBALFUNJS1<1> GLOBALFUNJS1<a> ;; кодировать/декодировать в Base58 строку из буфера обмена (для латинских символов)

funjs=Base58Encode|string GLOBALFUNJS1<a> ;; кодировать строку в Base58 (для латинских символов)

funjs=encURI|cliptext GLOBALFUNJS1<a> ;; кодировать строку из буфера обмена в URI

funjs=GetForismatic|en GLOBALFUNJS1<a> ;; получить случайный афоризм на английском с сайта forismatic.com

funjs=GetForismatic|ru GLOBALFUNJS1<a> ;; получить случайный афоризм на русском с сайта forismatic.com

funjs=getTextStatistics|%P%N anf2d=$GLOBALFUNJS1||2||([^:]+\:\s)(.+)||begin<0> GLOBALANF2D<a> ;; получить статистику текстового файла под курсором в 2D массиве

funjs=getTextStatistics|%P%N GLOBALFUNJS1<a> ;; получить статистику текстового файла под курсором

funjs=getTextStatistics|%P%N|1 GLOBALFUNJS1<a> ;; получить статистику текстового файла под курсором (английская локализация)

funjs=xorEncode|cliptext|50 GLOBALFUNJS1<a> ;; произвести Xor кодирование/декодирование строки из буфера обмена

sends=%P%N??-1 funjs=SortLineL|$GLOBALSENDS GLOBALFUNJS1<a> ;; сортировать строки файла под курсором по длине строки и по возрастанию + z,y,x...

sends=%P%N??-1 GLOBALSENDS<a> funjs=SortLineL|$GLOBALSENDS|1 GLOBALFUNJS1<a> ;; сортировать строки файла под курсором по длине строки и по возрастанию + a,b,c...

sends=-1??-1||?Fwords1,1 GLOBALSENDS<a> funjs=TranslateA|$GLOBALSENDS|ru|en GLOBALFUNJS1<a> ;; получить из буфера обмена русские слова без дубликатов и перевести их Google

slist=cliplist funjs=Base58DecodeA|$GLOBALSLIST GLOBALFUNJS1<a> ;; построчно декодировать строки Base58 из буфера обмена

slist=cliplist funjs=Base58EncodeA|$GLOBALSLIST GLOBALFUNJS1<a> funjs=Base58DecodeA|$GLOBALFUNJS1 GLOBALFUNJS1<a> ;; построчно кодировать/декодировать в Base58 строки из буфера обмена (для латинских символов)

slist=cliplist funjs=Base58EncodeA|$GLOBALSLIST GLOBALFUNJS1<a> ;; построчно кодировать строки из буфера обмена в Base58 (для латинских символов)


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