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


inbox

Контейнер для хранения данных.

inbox=Mode, ||Address, ||Data, , ||<info>, ||Dialogs

Параметры:

ModeРежим работы с контейнером.
  0 - удалить контейнер с заданным адресом.
  1 - записать данные в контейнер с заданным адресом.
  2 - прочитать данные из контейнера с заданным адресом.
  3 - прочитать данные из контейнера с заданным адресом и удалить.
AddressАдрес контейнера.
  Address - Может состоять из символов латинского алфавита, цифр, знаков подчёркивания и дефиса.
DataДанные.
При Mode=1 данные для записи, возможны варианты:
   String - строка (текст).
   $GLOBALNAME - 1D и 2D массивы см. Дополнение №23.
   $var_aa - данные переменных, созданных в команде exect
При Mode=2 и Mode=3 имя глобальной переменной для присвоения ей прочитанной информации.
  Имя прописывается без символа $, возможны варианты:
   GLOBALNAME
   var_a
   и ряд других специальных имён (FOREXIT, FORIN, ... )
Дополнительные параметры:
<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] - диалог выбора файлов и папок.
...и другие диалоги.

Примечания:

Команда позволяет записывать данные в контейнер в одном процессе утилиты, а считывать в другом.
Данные хранятся пока они не будут удалены до выключения компьютера.
Данные могут считываться и перезаписываться сколько угодно раз.
Контейнер связан с объектом explorer, поэтому перезагрузка или "падение" explorer удалит все данные.
Ограничение объём данных и на количество адресов не тестировалось...

Если в командах, параметрах необходимы кавычки, то используются две одинарных кавычки (апострофа) ''
Если в команде необходим пробел - используются два символа тильды ~~

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

Имя переменнойОписание
GLOBALINBOXмассив данных прочитанных из заданного адреса.
GLOBALINBOX0
GLOBALINBOX1
GLOBALINBOX2
...
GLOBALINBOXN
массивы выходных данных для 2D массива:
в GLOBALINBOX0 - одномерный массив 0-й колонки.
в GLOBALINBOX1 - одномерный массив 1-й колонки.
в GLOBALINBOX2 - одномерный массив 2-й колонки.
...
в GLOBALINBOXN - одномерный массив N-й колонки.

См. также:

anf2d, arr2d, asave, cmd64, cmdcm, cname, cycles, dilog, dubls, envgt, global, hotkiy, ifthen, listx, macro, noglob, pause, pressy, presww, renew, scrpt, sends, slects, slist, swcmd, swcths, tempxx, tempz, timess, zmenu, zmenz

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

anf2d=%WL||2||([^\\]+) GLOBALANF2D<a> inbox=1||MY_BOX2||$GLOBALANF2D dubls=1 inbox=2||MY_BOX2 GLOBALINBOX<a> inbox=0||MY_BOX2 ;; записать 2D массив выделенных объектов в контейнер с адресом MY_BOX2, в другом процессе утилиты прочитать данные из контейнера в глобальную переменную

anf2d=%WL||2||([^\\]+)||begin<0> inbox=1||MY_BOX3||$GLOBALANF2D dubls=1 inbox=2||MY_BOX3 GLOBALINBOX<a> GLOBALINBOX0<a> GLOBALINBOX1<a> ;; записать 2D массив данных выделенных объектов в контейнер с адресом MY_BOX3, в другом процессе утилиты прочитать данные из контейнера в глобальные переменные

anf2d=%WL||2||([^\\]+)||begin<0> inbox=1||MY_BOX3||$GLOBALANF2D ;; записать 2D массив данных выделенных объектов в контейнер с адресом MY_BOX3

eends=%WL??-1 GLOBALEENDS<a> inbox=1||MY_BOX1||$GLOBALEENDS dubls=1 inbox=3||MY_BOX1||GLOBALEENDS GLOBALEENDS<a> ;; записать массив в контейнер с адресом MY_BOX1, в другом процессе утилиты прочитать данные из контейнера в заданную переменную

inbox=0||MY_BOX1 ;; удалить контейнер с адресом MY_BOX1

inbox=1||MY_BOX1 ;; очистить контейнер с адресом MY_BOX1

inbox=1||MY_BOX1||text_string dubls=1 inbox=3||MY_BOX1||var_s exect=_ViewValues('$var_s') ;; записать "text_string" в контейнер с адресом MY_BOX1, в другом процессе утилиты прочитать данные из контейнера в заданную переменную

inbox=1||MY_BOX1||ежик dubls=1 inbox=2||MY_BOX1 GLOBALINBOX<a> ;; записать слово "ежик" в контейнер с адресом MY_BOX1, в другом процессе утилиты прочитать данные из контейнера в глобальную переменную

inbox=1||MY_BOX1||привет ;; записать слово "привет" в контейнер с адресом MY_BOX1

inbox=2||MY_BOX1 GLOBALINBOX<a> ;; прочитать данные из контейнера с адресом MY_BOX1

inbox=2||MY_BOX2 GLOBALINBOX<a> ;; прочитать данные из контейнера с адресом MY_BOX2

inbox=2||MY_BOX3 GLOBALINBOX<a> ;; прочитать данные из контейнера с адресом MY_BOX3

olist=%WL inbox=1||MY_BOX2||$GLOBALOLIST dubls=1 inbox=2||MY_BOX2 GLOBALINBOX<a> ;; записать массив выделенных объектов в контейнер с адресом MY_BOX2, в другом процессе утилиты прочитать данные из контейнера в глобальную переменную

olist=%WL inbox=1||MY_BOX2||$GLOBALOLIST macro=$f212\MacroExample_4.txt||5||1 ;; пример передачи массива выделенных объектов в команду macro в другой процесс с помощью контейнера хранения данных

olist=%WL inbox=1||MY_BOX2||$GLOBALOLIST ;; записать массив выделенных объектов в контейнер с адресом MY_BOX2

sends=%P%N inbox=1||MY_BOX1||GLOBALSENDS<x1> ;; записать содержимое файла под курсором в контейнер с адресом MY_BOX1

tends=<Info=s30> olist=%WL inbox=1||GLOBALTENDS<1>||$GLOBALOLIST macro=$f212\MacroExample_5.txt||5||1 ;; пример передачи массива выделенных объектов в команду macro в другой процесс с помощью контейнера хранения данных с уникальным адресом (системной датой)


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