Дополнение №23


Глобальные переменные.



В версии 5.3 появилась возможность сохранять и передавать информацию от основных команд другим командам во время работы утилиты.

Если включена "глобальность", то команды записывают информацию в именные массивы, данные которых можно использовать в других командах.

У команды может быть несколько массивов: массив входных и выходных данных...




1. Запись информации в глобальные переменные.

  а) Команды имеющие глобальные переменные.
      На странице описания команды в примечании указано может ли она записывать и передавать информацию (в большинстве команд в этом нет необходимости).
      Полный список команд имеющих глобальные переменные в таблице.

  б) Включение глобальных переменных.
    В обычном режиме глобальные переменные выключены. Чтобы их задействовать необходимо один раз перед командой (серией команд) прописать global, после чего переменные будут объявлены и в автоматическом режиме по завершению работы каждой команды будут создаваться массивы данных.

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

global name=...

global copys=%L||"%t"//0


    При запуске команды exect не требуется указывать global, т.к. команда сама объявляет все глобальные переменные.

  в) Имена глобальных переменных.
      Команды создают массивы в именных переменных, имена которых складываются из слова GLOBAL и имени команды в верхнем регистре NAME, к примеру, GLOBALCOPYS
      Если команда поддерживает создание и передачу нескольких массивов, то к имени добавляются номера 0, 1 или 2
        GLOBALCOPYS0 - массив входных данных
        GLOBALCOPYS   - массив выходных данных
        GLOBALCOPYS1 - массив скопированных объектов
        GLOBALCOPYS2 - массив нескопированных объектов
        см. таблицу

  г) Продолжительность существования переменных и их данных.
      Переменные сохраняются и сохраняют свои данные до завершения работы утилиты.
      Данные в переменной будут перезаписаны при повторном вызове той же команды, которой созданы.


  д) Порядок обработки параметров при глобальных переменных.
      Глобальные переменные обрабатываются в первую очередь, независимо от расположения и количества их в строке.
      Т.е. сначала в строку параметров передаётся информация от переменных, а затем вычисляются параметры.



2. Использование глобальных переменных в командах.

  а) Команды принимающие глобальные переменные.
      В большинстве команд подключена возможность получать данные из глобальных переменных.
      Если вы обнаружили, что в какой-то команде этого не происходит, то можете сообщить об этом - функция будет добавлена.

  б) Синтаксис получения данных от глобальных переменных в командах.

global name1=... name2=... GLOBALNAME1<Type>... GLOBALNAME1<Type> ... GLOBALNAME1<Type>

      • команда name1 после обработки параметров создаёт глобальную переменную GLOBALNAME1 с данными
      • команда name2 использует данные GLOBALNAME1, в зависимости от типа Type
      • в командах возможно многократное использование данных от GLOBALNAME1

global name1=... name2=... GLOBALNAME1<Type>... name3=... GLOBALNAME1<Type>... nameN=... GLOBALNAME1<Type>...

      • команда name1 создаёт глобальную переменную GLOBALNAME1
      • команды name2... nameN используют данные GLOBALNAME1


global name1=... name2=... GLOBALNAME1<Type>... nameN=... GLOBALNAME2<Type>... nameM=... GLOBALNAMEN<Type>...

      • команда name1 создаёт глобальную переменную GLOBALNAME1
      • команда name2 использует данные GLOBALNAME1 и создаёт свою переменную GLOBALNAME2
      • команда nameN использует данные GLOBALNAME2 и создаёт свою переменную GLOBALNAMEN
      • команда nameM использует данные GLOBALNAMEN


global name1=... name2=... name3=... GLOBALNAME1<Type>... GLOBALNAME2<Type>...

      • команда name1 создаёт глобальную переменную GLOBALNAME1
      • команда name2 создаёт глобальную переменную GLOBALNAME2
      • команды name3 использует данные GLOBALNAME1 и GLOBALNAME2

Вариантов может быть масса...



3. Типы получаемых данных.

  Так как глобальные переменные GLOBALNAME являются массивами (списками элементов), то есть возможность получать из них различную информацию:

  а) Файл списка элементов.
      GLOBALNAME<t>
      При параметре t все данные массива GLOBALNAME записываются во временный файл, полный путь которого будет передан в командную строку.

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

global copys=%L||"%t"//0 renms=GLOBALCOPYS<t>||??2

      • команда copys после копирования (выделенных объектов) автоматически создаёт массивы:
        GLOBALCOPYS0 - список начальных элементов (в примере список всех путей копируемых объектов)
        GLOBALCOPYS - список выходных элементов (в примере список всех путей скопированных объектов)
      • в команду renms передаётся файл списка скопированных объектов для дальнейшего переименования.

Варианты включения элементов в список временного файла
ЗначениеОписание
GLOBALNAME<t>Файл список со всеми элементами
GLOBALNAME<t1>Файл список с одним первым элементом
GLOBALNAME<t20>Файл список с одним 20-м элементом
GLOBALNAME<t2,5,9>Файл список с элементами 2, 5, 9
GLOBALNAME<t2:5>Файл список с элементами со 2-го по 5-й
GLOBALNAME<t5:2>Файл список с элементами со 5-го по 2-й
GLOBALNAME<t1,6:9>Файл список с элементами 1-й и с 6-го по 9-й
GLOBALNAME<t1,6:9,12,18:15>Файл список с элементами 1-й, с 6-го по 9-й, 12-й и с 18-го по 15-й
GLOBALNAME<t-1>Файл список с одним последним элементом
GLOBALNAME<t-20>Файл список с одним 20-м элементом с конца
GLOBALNAME<t-2,-5,-9>Файл список с элементами 2, 5, 9 с конца
GLOBALNAME<t-2:-5>Файл список с элементами со 2-го по 5-й с конца
GLOBALNAME<t-5:-2>Файл список с элементами со 5-го по 2-й с конца
GLOBALNAME<t-1,-6:-9>Файл список с элементами 1-й и с 6-го по 9-й с конца
GLOBALNAME<t-1,-6:-9,-12,-18:-15>Файл список с элементами 1-й, с 6-го по 9-й, 12-й и с 18-го по 15-й с конца
GLOBALNAME<t1,3:6,11:8,13:-1>Файл список с элементами 1-й, с 3-го по 6-й, с 11-го по 8-й, с 13-го и до конца



По умолчанию временный список создаётся в кодировке UTF-8, для использования других кодировок в конце через разделитель | прописывается соответствующий номер:

0 - ANSI 1251
1 - UTF-16 LE 1200
2 - UTF-16 BE 1201
3 - UTF-8 с BOM
4 - UTF-8 без BOM

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

global copys=%L||"%t"//0 renms=GLOBALCOPYS<t|3>||??2

global copys=%L||"%t"//0 renms=GLOBALCOPYS<t-1,-6:-9,-12,-18:-15|3>||??2


При получении отдельных элементов пустые строки по умолчанию удаляются.
Для сохранения пустых строк необходимо в конце первого параметра (до разделителя |) прописать символ =

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

global sends=-1||?T|d,3,5 creat="%p"||Name.txt||content<GLOBALSENDS<t1=>>
global sends=-1||?T|d,3,5 creat="%p"||Name.txt||content<GLOBALSENDS<t-1,-6:-9,-12,-18:-15=|3>>


- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

  б) Один элемент из массива.
      GLOBALNAME<Number>
      В командную строку будет возвращён один элемент, соответствующий заданному в параметре номеру.

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

global copys=%L||"%t"//0 clint=GLOBALCOPYS<2>

      • команда copys после копирования (выделенных объектов) автоматически создаёт массивы:
        GLOBALCOPYS0 - список начальных элементов (в примере список всех путей копируемых объектов)
        GLOBALCOPYS - список выходных элементов (в примере список всех путей скопированных объектов)
      • в команду clint передаётся полный путь 2-го скопированного объекта для дальнейшего создания ярлыка.

Варианты возвращения элемента по его номеру
ЗначениеОписание
GLOBALNAME<1>1-й элемент
GLOBALNAME<5>5-й элемент
GLOBALNAME<-1>последний элемент
GLOBALNAME<-5>5-й элемент с конца


      В версии 20.7 добавлены необязательный параметр:
      GLOBALNAME<Number|Value>
        Value - возвращаемое значение, если задан несуществующий номер ячейки Number, возможны варианты:
           N - номер ячейки (при отрицательных значениях значение берётся с конца массива)
           @ - возвращается пустая строка
           String - строка
          По умолчанию возвращается последний элемент массива.

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

dends=abcd??-3 GLOBALDENDS<a> cends=@GLOBALDENDS<10|ошибка> GLOBALCENDS<a>
dends=abcd??-3 GLOBALDENDS<a> cends=@GLOBALDENDS<10|@> GLOBALCENDS<a>
dends=abcd??-3 GLOBALDENDS<a> cends=@GLOBALDENDS<10|1> GLOBALCENDS<a>
dends=abcd??-3 GLOBALDENDS<a> cends=@GLOBALDENDS<10|-2> GLOBALCENDS<a>


- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

  в) Количество элементов в массиве.
      GLOBALNAME<0>

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

  г) Дополнительные возможности.
      GLOBALNAME<c>
      При параметре c данные массива GLOBALNAME будут записаны в буфер обмена.
      Это может быть использовано как в командах, связанных с буфером обмена, так и для проверки передачи элементов.
      Для проверки GLOBALNAME<c> прописывается сразу после проверяемой команды.

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

global copys=%L||"%t"//0 GLOBALCOPYS0<c>

      • после копирования в буфер обмена будет записан список начальных элементов (в примере список всех путей копируемых объектов)

global copys=%L||"%t"//0 GLOBALCOPYS<c>

      • после копирования в буфер обмена будет записан список выходных элементов (в примере список всех путей скопированных объектов)

Варианты включения элементов для записи в буфер обмена такой же как и в таблице параметра t

При получении отдельных элементов пустые строки по умолчанию удаляются.
Для сохранения пустых строк необходимо в любом месте прописать символ =

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

sends=-1||?T|d,3,5 GLOBALSENDS<c1=>


В версии 20.7 добавлены необязательные параметры:
        GLOBALNAME<c(|Number|Delimeter|Sound)>
          Number [необязательный]
            1 - записать в буфер обмена (по умолчанию).
            2 - записать в начало буфера обмена.
            3 - записать в конец буфера обмена.
          Delimeter [необязательный] - разделитель для 2 и 3 (по умолчанию перенос строки @CRLF). Если "x", то без разделителя
          Sound [необязательный] - номер ключа из TCIMG.ini секции [Sound] для воспроизведения звука при изменении буфера обмена.

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

qlist=%L GLOBALQLIST<c1:3|1|x|2>


- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

  д.1) Дополнительные возможности.
      GLOBALNAME<a>
      При параметре a данные массива GLOBALNAME будут отображены в диалоге в виде таблицы.
      Это может быть использовано для проверки передачи элементов.
      Для проверки GLOBALNAME<a> прописывается сразу после проверяемой команды.

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

global copys=%L||"%t"//0 GLOBALCOPYS0<a>

      • после копирования будет отображен в диалоге список начальных элементов (в примере список всех путей копируемых объектов)

global copys=%L||"%t"//0 GLOBALCOPYS<a>

      • после копирования будет отображен в диалоге список выходных элементов (в примере список всех путей скопированных объектов)

    Порядок отображения элементов такой же как и в таблице параметра t



      GLOBALNAME<a|1>
      В таблице в заголовке столбцов латинские буквы.

  д.2) Дополнительные возможности.
      GLOBALNAME<b>
      Тоже самое, что и GLOBALNAME<a>, позволяет отображать check-boxes для элементов.



  д.3) Дополнительные возможности.
      GLOBALNAME<e(|Column|iNameKey)> - значок устанавливается, относительно ассоциации типа файла/папки в системе.
      GLOBALNAME<v(|Column|iNameKey)> - значок устанавливается из самого файла (exe, dll, ...).
      GLOBALNAME<z(|Column|iNameKey)> - значок устанавливается из шаблона NameKey.
      GLOBALNAME<w(|Column|iNameKey)> - значок устанавливается из файла и номера иконки (xxx.dll,n).
      GLOBALNAME<g(|Column|iNameKey)> - значки устанавливаются для информации реестра.
      GLOBALNAME<s(|Column|iNameKey)> - значки устанавливаются для информации INI файла.

      Тоже самое, что и GLOBALNAME<a>, позволяет отображать дополнительные значки для пунктов.
      Подробное описание в UDF функции _ArrayDisplay()



- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Примечание:

При использовании букв в верхнем регистре A(B,E,V,Z,W,G,S) окно выводится во весь экран.
      GLOBALNAME<A>
      GLOBALNAME<B>

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

  e) Файл списка элементов в одну строку.
      GLOBALNAME<k(|Coding|Delimeters)>
      При параметре k все данные массива GLOBALNAME записываются во временный файл, полный путь которого будет передан в командную строку.
      Coding - кодировка временного файла. см. параметр t
      Delimeters - разделитель между элементами.

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

global copys=%L||"%t"//0 sends=GLOBALCOPYS<k> GLOBALSENDS<c1>

      • команда copys после копирования (выделенных объектов) автоматически создаёт 2 глобальных массива:
        GLOBALCOPYS0 - список начальных элементов (в примере список всех путей копируемых объектов)
        GLOBALCOPYS - список выходных элементов (в примере список всех путей скопированных объектов)
      • в команду sends передаётся файл списка скопированных объектов для дальнейшего создания списка всех элементов в одну строку.

Если в элементах массива содержатся многострочные данные, то они объединяются колонками.

Пример:
Есть три файла:
1. c:\Test1.txt с содержимым:

1111
2222
3333

2. c:\Test2.txt с содержимым:

4444
5555
6666

3. c:\Test3.txt с содержимым:

7777
8888
9999

то нижеприведённая команда отправит в буфер:

1111##4444##7777
2222##5555##8888
3333##6666##9999

global sends=c:\Test1.txt!!1 sends=c:\Test2.txt!!2 sends=c:\Test3.txt!!3 sends=GLOBALSENDS<k1:3|0|##>!!4 GLOBALSENDS<c4>

      • команда sends записывает в 1-ю ячейку массива содержимое файла c:\Test1.txt
      • команда sends записывает в 2-ю ячейку массива содержимое файла c:\Test2.txt
      • команда sends записывает в 3-ю ячейку массива содержимое файла c:\Test3.txt
      • команда sends записывает в 4-ю ячейку массива колоночное объединение 3-х элементов (1:3) с разделителем ##
      • далее содержимое 4-го элемента записывается в буфер обмена

    Кодировки временного файла и порядок включения элементов такой же как и в таблице параметра t

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

  ж) Дополнительные возможности.
      GLOBALNAME<$var_...>
      В команде exect могут быть созданы глобальные переменные $var_... с массивами с данных
      Данные такого массива могут быть просмотрены в диалоге в виде таблицы.
      Это может быть использовано для проверки передачи элементов.


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

exect=$var_a1=StringSplit('1a|2a|3a|4a|5a|6a|7a|8a|9a','|',1) GLOBALEXECT<$var_a1>


  з) Дополнительные возможности.
      GLOBALNAME<xN>
      При параметре x данные N-ой ячейки массива GLOBALNAME будут переданы непосредственно тогда, когда до него доходит очередь, а не в самом начале строки параметров любой команды.
      Это может быть использовано при поиске и замене многострочного текста.
      При отрицательных значениях ячейки считаются с конца.
      Также возможно получать данные в диапазоне ячеек - варианты смотрите в таблице параметра t
      Все данные при параметре x записываются в глобальный массив GLOBALLOCAL
        (в 1-ю ячейку записываются первые данные, во 2-ю ячейку - вторые данные, и.т.д)

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

global sends=<inikey=5//%TCIMG_PATH%\File.ini//Online> textx=PS<"%p"//1//-1//htm>||</body>!!GLOBALSENDS<x1>

      • Команда sends получает в 1-ю ячейку массива содержимое секции, далее в команде textx содержимое используется при поиске и замене.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

  и) Дополнительные возможности.
      Для записи содержимого элементов массива GLOBALNAME в файл, можно воспользоваться командой asave

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

  к) Дополнительные возможности.
      В утилите есть специальные глобальные переменные $CmdLine и $CmdLineRaw, позволяющие просматривать и использовать параметры командной строки, переданных утилите при запуске.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

  л) Дополнительные возможности.
      В утилите кроме просмотра глобальных переменных, так же можно выбрать нужные ячейки и записать в массив GLOBALARRAY, а номера выбранных ячеек в GLOBALARRAY1 см. описание функции _ArrayDisplay().

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

  м) Дополнительные возможности.
      GLOBALNAME<r>
      Перемещает элементы массива случайным образом.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

  о) Дополнительные возможности.
      GLOBALNAME<d(|Mode|Active|Save|Sound)>
      Вставляет данные в активный документ текстового редактора AkelPad.
        Mode [необязательный] - режим вставки:
          0 - вставить в место курсора (по умолчанию).
          1 - заменить текст.
          2 - вставить в начало.
          3 - вставить в конец.
          4 - вставить в место курсора без прокрутки документа (курсор остаётся в начальной позиции).
          5 - заменить выделенное, если ничего не выделено то весь текст.
        Active [необязательный]
          0 - не активировать окно (по умолчанию).
          1 - активировать окно (передать фокус окну).
        Save [необязательный]
          0 - не сохранять документ (по умолчанию).
          1 - сохранять документ, если он не безымянный.
        Sound [необязательный] - номер ключа из TCIMG.ini секции [Sound] для воспроизведения звука при вставке текста.




Дополнительные действия с глобальными переменными. (добавлено в версии 15.6)
Без участия команд есть возможность передавать данные между глобальными переменными.
  a) К именам глобальных переменных дописывается знак $
  b) Так как переменные являются массивами, то данные передаются между ними.
  c) Могут использоваться свои имена переменных:
      • имя должно начинаться с GLOBAL и иметь 11 символов GLOBALXXXXX
      • имя не должно совпадать с существующими
      • имя не должно совпадать со специальными именами глобальных переменных.
  d) Методы рассчитаны для действий с одномерными 1D массивами.
  e) Если метод используется и для двумерных 2D массивов, то это будет указано в комментариях.

0. Специальные имена глобальных переменных:

  a) $GLOBAL0XXXX - переменная и её производные являются аналогом команды sends
      • вместо XXXX могут быть любые латинские буквы.
      • информация переменной передаётся так же как и в команде sends:
        $GLOBAL0XXXX=Params, где Params - параметры команды sends.
      • информация переменной может передаваться нижеописанными методами, кроме тех, где за переменной стоит знак "="
      • примеры в конце страницы команды sends

  b) $GLOBAL1XXXX - переменная и её производные являются аналогом команды slist
      • вместо XXXX могут быть любые латинские буквы.
      • информация переменной передаётся так же как и в команде slist:
        $GLOBAL1XXXX=Params, где Params - параметры команды slist.
      • информация переменной может передаваться нижеописанными методами, кроме тех, где за переменной стоит знак "="
      • переменные на выходе имеют аналогичную серию переменных подобных GLOBALSLIST:
          GLOBAL1XXXX0, GLOBAL1XXXX, GLOBAL1XXXX1, GLOBAL1XXXX2, GLOBAL1XXXX3
      • примеры в конце страницы команды slist

1. Присвоение:

переменной GLOBALSENDS присваиваются все значения переменной GLOBALSLIST
этот метод работает и для 2D массивов.

$GLOBALSENDS=$GLOBALSLIST

ячейке N переменной GLOBALSENDS присваиваются все значения переменной GLOBALSLIST (ячейки разбиваются переносом строк)

$GLOBALSENDS[N]=$GLOBALSLIST

ячейке N переменной GLOBALSENDS присваиваются все значения переменной GLOBALSLIST (ячейки разбиваются заданным разделителем Delimeter)

$GLOBALSENDS[N]=$GLOBALSLIST!!Delimeter

ячейке N переменной GLOBALSENDS присваивается значение ячейки M переменной GLOBALSLIST

$GLOBALSENDS[N]=$GLOBALSLIST[M]

переменной GLOBALSENDS присваиваются значения ячейки переменной GLOBALSLIST (данные ячейки разбиваются переносом строк)

$GLOBALSENDS=$GLOBALSLIST[M]

Ячейка - [N] первой переменной может быть только целым числом.
Ячейка - [M] второй переменной может иметь варианты включения элементов такой же как и в таблице параметра t

Примеры вариантов [M] :

$GLOBALNAME[5]
$GLOBALNAME[2:-1]
$GLOBALNAME[1:8]
$GLOBALNAME[1,3:6,11:8,13:-1]


- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

2. Присвоение случайных данных:

переменной GLOBALSENDS присваиваются все значения переменной GLOBALSLIST в случайном порядке

$GLOBALSENDS~$GLOBALSLIST

ячейке N переменной GLOBALSENDS присваиваются все значения переменной GLOBALSLIST в случайном порядке (ячейки разбиваются переносом строк)

$GLOBALSENDS[N]~$GLOBALSLIST

ячейке N переменной GLOBALSENDS присваивается значение ячейки M переменной GLOBALSLIST в случайном порядке

$GLOBALSENDS[N]~$GLOBALSLIST[M]

переменной GLOBALSENDS присваиваются значения ячейки переменной GLOBALSLIST в случайном порядке (данные ячейки разбиваются переносом строк)

$GLOBALSENDS~$GLOBALSLIST[M]

Ячейка - [N] первой переменной может быть только целым числом.
Ячейка - [M] второй переменной может иметь варианты включения элементов такой же как и в таблице параметра t

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

3. Прибавление:

массиву GLOBALSENDS добавляются в конец все элементы массива GLOBALSLIST

$GLOBALSENDS+$GLOBALSLIST


массиву GLOBALSENDS добавляются в конец все элементы массива GLOBALSLIST,
затем в конец добавляются все элементы массива GLOBALSLIST1 и.т.д

$GLOBALSENDS+$GLOBALSLIST+$GLOBALSLIST1+$GLOBAL...


ячейке N массива GLOBALSENDS добавляется значение ячейки M переменной GLOBALSLIST

$GLOBALSENDS[N]+$GLOBALSLIST[M]


ячейке N массива GLOBALSENDS добавляется все значения массива GLOBALXLIST (ячейки разбиваются переносом строк),
затем в конец добавляется значение ячейки M переменной GLOBALSLIST и т.д.

$GLOBALSENDS[N]+$GLOBALXLIST+$GLOBALSLIST[M]+$GLOBAL...


массиву GLOBALSENDS добавляется в конец новая ячейка со значением ячейки N массива GLOBALSLIST

$GLOBALSENDS+$GLOBALSLIST[N]


массиву GLOBALSENDS добавляется в конец новая ячейка со значением ячейки N массива GLOBALSLIST,
затем в конец добавляются все элементы массива GLOBALXLIST и т.д.

$GLOBALSENDS+$GLOBALSLIST[N]+$GLOBALXLIST+$GLOBAL...


из массива GLOBALSENDS создаётся новый массив, относительно заданных ячеек [M],
в конец добавляется новая ячейка со значением ячейки N массива GLOBALSLIST,
затем в конец добавляются все элементы массива GLOBALXLIST и т.д.

$GLOBALSENDS[M]+$GLOBALSLIST[N]+$GLOBALXLIST+$GLOBAL...


Если первая переменная $GLOBALNAME1 не является массивом, то она объявляется для слияния массива(ов)

Ячейка - [N] может быть только целым числом.
Ячейка - [M] может иметь варианты включения элементов такой же как и в таблице параметра t

Примеры вариантов [M] :

$GLOBALNAME[-1]
$GLOBALNAME[5]
$GLOBALNAME[2:-1]
$GLOBALNAME[1:8]
$GLOBALNAME[1,3:6,11:8,13:-1]


- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

4. Поэлементное слияние:

каждой ячейки переменной GLOBALSENDS добавить данные соответствующей ячейки переменной GLOBALSLIST через разделитель Delimeter

$GLOBALSENDS@$GLOBALSLIST
$GLOBALSENDS@$GLOBALSLIST@Delimeter
$GLOBALSENDS@$GLOBALSLIST@Delimeter@String
$GLOBALSENDS@$GLOBALSLIST@Delimeter@!

В версии 33.0 добавлено неограниченное слияние массивов:
$GLOBALNAME1@$GLOBALNAME2@...@$GLOBALNAMEN
$GLOBALNAME1@$GLOBALNAME2@...@$GLOBALNAMEN@Delimeter
$GLOBALNAME1@$GLOBALNAME2@...@$GLOBALNAMEN@Delimeter@String
$GLOBALNAME1@$GLOBALNAME2@...@$GLOBALNAMEN@Delimeter@!

Delimeter - [необязательный] - разделитель (по умолчанию без разделителя).
String - [необязательный] - если количество элементов массивов разное, то к наименьшему в недостающие элементы добавляется строка (по умолчанию добавляется пустая строка).
! - если количество элементов массивов разное, то первый составляется относительно минимального количества элементов (по умолчанию массив составляется относительно максимального количества элементов одного из массивов).

В Delimeter и String могут использоваться функции Autoit Chr() и ChrW(), которые заменяются соответствующими символами
Если нужен перенос строки, то прописывается Chr(13)Chr(10)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

5. В каждый элемент 1-го массива добавить каждый элемент 2-го массива:

каждой ячейки переменной GLOBALSENDS добавить данные каждой ячейки переменной GLOBALSLIST через разделитель Delimeter

$GLOBALSENDS^$GLOBALSLIST^Mode^Delimeter

  Mode - режим добавления:
    1 - добавить в начало.
    2 - добавить в конец.
    3 - добавить в начало и в конец.
  Delimeter - [необязательный] - разделитель.

Важно: 1-й массив увеличится (если размер 1-го массива 3, а 2-го 5, то размер 1-го массива в итоге будет 3*5=15).

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

6. Передача информации командам напрямую без создания временного файла:

команде copys передаётся список массива GLOBALSENDS
вместо GLOBALSENDS может быть любая переменная, имеющая данные

global sends=-1!!-1 copys=$GLOBALSENDS||"%p"//0||upd<1> ;; копировать в активную панель файлы по списку путей из буфера обмена
global sends=-1!!-1 copys=$GLOBALSENDS[2:-1]||"%p"//0||upd<1> ;; копировать в активную панель файлы по списку путей из буфера обмена начиная со 2-го

;; пример передачи данных 2-х переменных команде (выделенных объектов активной панели)
global slist=%WL wlist=%WL alist=$GLOBALSLIST+$GLOBALWLIST||^^#~~ GLOBALALIST<a> GLOBALSLIST<a> GLOBALWLIST<a>
;; пример передачи данных 3-х переменных команде (выделенных объектов активной панели)
global slist=%WL wlist=%WL zlist=%WL alist=$GLOBALSLIST+$GLOBALWLIST+$GLOBALZLIST||^^#~~ GLOBALALIST<a> GLOBALSLIST<a> GLOBALWLIST<a> GLOBALZLIST<a>


- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

7. Дублирование данных:

возможные варианты:

; данные GLOBALSENDS дублируются M раз
$GLOBALSENDS&M

; ячейка N GLOBALSENDS дублируется M раз
$GLOBALSENDS[N]&M

; данные GLOBALSENDS дублируются, число раз определяется случайно в диапазоне от Min (минимального числа) до Max (максимального числа)
$GLOBALSENDS&Min|Max

; ячейка N GLOBALSENDS дублируется, число раз определяется случайно в диапазоне от Min (минимального числа) до Max (максимального числа)
$GLOBALSENDS[N]&Min|Max


Ячейка [N] может иметь варианты включения элементов такой же как и в таблице параметра t
Примеры вариантов [N] :

$GLOBALNAME[5]
$GLOBALNAME[2:-1]
$GLOBALNAME[1:8]
$GLOBALNAME[1,3:6,11:8,13:-1]


В числах M, Min и Max могут использоваться математические действия.
Важно: массив перезаписывается новыми данными.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

8. Создание "пустого" массива с заданным размером:

возможные варианты:

; создание одномерного 1D массива GLOBALXXXXX - размер 50
$GLOBALXXXXX[50]

; создание двумерного 2D массива GLOBALXXXXX - 10 строк, 8 столбцов
$GLOBALXXXXX[10][8]

; можно несколько раз объявлять размер массива, при этом все данные будут удалены.


- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

9. Запись данных в ячейку массива:

возможные варианты:

; если после знака равно = прописана точка с запятой ; , то в заданную ячейку записывается последующая строка:
; если после ; ничего не прописано, то заданная ячейка очищается.

; в 20-ю ячейку одномерного 1D массива GLOBALXXXXX записывается строка "STRING"
$GLOBALXXXXX[N]=;STRING
$GLOBALXXXXX[20]=;STRING

; в ячейку 8-й строки 3-й колонки двумерного 2D массива GLOBALXXXXX записывается строка "STRING"
$GLOBALXXXXX[N][M]=;STRING
$GLOBALXXXXX[8][3]=;STRING

; если после знака равно = прописан знак вопроса ? , то в последующей строке:
; две одинарных кавычки (апострофа) '' будут заменены на кавычки
; два символа тильды ~~ будут заменены на пробел

; в 20-ю ячейку одномерного 1D массива GLOBALXXXXX записывается строка с пробелами "STRING WITH SPACES"
$GLOBALXXXXX[N]=?STRING~~WITH~~SPACES
$GLOBALXXXXX[20]=?STRING~~WITH~~SPACES

; в ячейку 8-й строки 3-й колонки двумерного 2D массива GLOBALXXXXX записывается строка с пробелами "STRING "WITH" SPACES"
$GLOBALXXXXX[N][M]=?STRING~~''WITH''~~SPACES
$GLOBALXXXXX[8][3]=?STRING~~''WITH''~~SPACES

(добавлено в версии 31.8)
Ячейка [N] может иметь варианты включения элементов такой же как и в таблице параметра t
Примеры вариантов [N] :

$GLOBALNAME[5]
$GLOBALNAME[2:-1]
$GLOBALNAME[1:8]
$GLOBALNAME[1,3:6,11:8,13:-1]

Столбец [M] может иметь варианты (отсчёт 0):
Примеры вариантов [M] :

$GLOBALNAME[N][5]
$GLOBALNAME[N][2:-1]
$GLOBALNAME[N][0:8]
$GLOBALNAME[N][1,3:6,11:8,13:-1]

Массив будет увеличен, если заданные значения строк и колонок больше текущего массива.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

10. Присвоение информации с помощью функций Autoit:

возможные варианты:

; если после знака равно = прописан знак вопроса > , то возвращаются данные результата вычисления выражения Autoit:

; создание массива: в GLOBALXXXXX записывается информация получаемая функцией StringSplit()
$GLOBALXXXXX=>StringSplit('1a|2a|3a|4a|5a|6a|7a|8a|9a','|',2)

; тернарное условие: если $GLOBALNAME2[0] больше $GLOBALNAME1[0], то в GLOBALXXXXX возвращается массив $GLOBALNAME2, иначе $GLOBALNAME1
$GLOBALXXXXX=>$GLOBALNAME2[0]>$GLOBALNAME1[0]?$GLOBALNAME2:$GLOBALNAME1

; тернарное условие. При сравнения чисел используйте функцию Numder()
rends=100,50??-6, $GLOBALFENDS[1]=>Number(GLOBALRENDS<1>)>=Number(GLOBALRENDS<2>)?GLOBALRENDS<1>:GLOBALRENDS<2>
rends=100,50??-6, $GLOBALFENDS[1]=>Number($GLOBALRENDS[1])>=Number($GLOBALRENDS[2])?$GLOBALRENDS[1]:$GLOBALRENDS[2]

; в 20-ю ячейку одномерного 1D массива GLOBALXXXXX записывается размер файла в байтах
$GLOBALXXXXX[20]=>FileGetSize('C:\Test.txt')
$GLOBALXXXXX[20]=>'Size:'&FileGetSize('C:\Test.txt')

; в ячейку 8-й строки 3-й колонки двумерного 2D массива GLOBALXXXXX записывается атрибуты файла
$GLOBALXXXXX[8][3]=>FileGetAttrib('C:\Test.txt')


- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

11. Объявление глобальных переменных:

В ряде случаев глобальные переменные необходимо объявить заранее, т.к. они могут подключаться из различных шаблонов...
В имени глобальной переменной в нужном месте вставляется {String}
  String - строка состоящая из чисел (от 0 до 9) и/или латинских букв (от A до Z).
    числа и буквы прописываются через запятую. Пример: 1,5,8,A,F,Y
    поддерживаются диапазоны. Пример: 0:9,A:Z
    числа и буквы могут быть составными. Пример: 05,12,AF,OH

возможные варианты:

; объявляются 4 переменных: $GLOBALXXXX0, $GLOBALXXXX5, $GLOBALXXXXA, $GLOBALXXXXB
$GLOBALXXXX{0,5,A,B}

; объявляются 32 переменных: $GLOBALXXXX0, ..., $GLOBALXXXX9, $GLOBALXXXXA, ..., $GLOBALXXXXZ
$GLOBALXXXX{0:9,A:Z}

; объявляются 4 переменных: $GLOBALXXX06, $GLOBALXXX58, $GLOBALXXXAV, $GLOBALXXXWX
$GLOBALXXX{06,58,AV,WX}

; объявляются 776 переменных: $GLOBALXXX00, ..., $GLOBALXXX99, $GLOBALXXXAA, ..., $GLOBALXXXZZ
$GLOBALXXX{00:99,AA:ZZ}

; объявляются 22 переменных: GLOBALAENDS, GLOBALBENDS, GLOBALCENDS, ..., GLOBALZENDS
$GLOBAL{A:Z}ENDS

По умолчанию создаётся 1D массив с одной строкой.
Для установки размерности массива в конец имени переменной дописывается:
  [N] - для 1D массива (N - количество строк - отсчёт с 1).
  [N][M] - для 2D массива (N - количество строк, M - количество столбцов - отсчёт с 0).

; объявляются 4 переменных: $GLOBALXXXX0, $GLOBALXXXX5, $GLOBALXXXXA, $GLOBALXXXXB
; 1D массив, количество строк в массиве 8
$GLOBALXXXX{0,5,A,B}[8]

; объявляются 32 переменных: $GLOBALXXXX0, ..., $GLOBALXXXX9, $GLOBALXXXXA, ..., $GLOBALXXXXZ
; 2D массив, количество строк в массиве 10, количество столбцов 8
$GLOBALXXXX{0:9,A:Z}[10][8]





Двумерные 2D массивы.

Большинство методов описанных выше направлены на работу одномерных 1D массивов.
Ряд методов адаптированы для двумерных 2D массивов.

В методах GLOBALNAME<t>, GLOBALNAME<c>, GLOBALNAME<r>, GLOBALNAME<xN>, GLOBALNAME<Number> :
   2D массив построчно преобразовывается в 1D массив (все данные ячеек строки "склеиваются" в одну строку через разделитель).
   после этого передача данных происходит так же как для 1D массива.
   есть возможность задать разделитель между данными колонок (по умолчанию @TAB - табуляция):
        для этого перед буквой/цифрой прописывается тег *DELIMETER* , пример: GLOBALNAME<*DELIMETER*t>

В методах GLOBALNAME<a>, GLOBALNAME<b>
   2D массив не преобразовывается в 1D массив.
   при передачи выбранных строк в GLOBALARRAY данные ячеек 2D массива построчно соединяются через разделитель.
   разделитель устанавливается как и описано выше: GLOBALNAME<*DELIMETER*a>

Дополнительные инструменты для работы с 1D и 2D массивами:
   anf2d - команда для создания двумерного 2D массива.
   arr2d - команда для преобразования 1D и 2D массива.
   asave - команда для сохранения данных 1D и 2D массива в файл.
   extxt и extxs - команды получения информации из файла(ов) и вывод значений в 2D массив.
   infos - команда, ряд параметров которой выводят информацию в двумерный 2D массив.
   info - параметр для получения информации двумерного 2D массива.

Для всех переменных, связанных с 2D массивами:
  GLOBALNAME_ содержит:
    если 2D массив, то номер последней колонки.
    если 1D массив, то -1




Список команд имеющих глобальные переменные
ПеременныеКоманда
GLOBALACTIV activ
GLOBALAENDS aends
GLOBALARH7F
GLOBALARH7F0
GLOBALARH7F1
...
GLOBALARH7F59
GLOBALARH7F100
GLOBALARH7F101
GLOBALARH7F102
GLOBALARH7F103
 arh7f
GLOBALARH7Z
GLOBALARH7Z0
GLOBALARH7Z1
...
GLOBALARH7Z45
GLOBALARH7Z100
GLOBALARH7Z101
GLOBALARH7Z102
GLOBALARH7Z103
 arh7z
GLOBALATTRB0
GLOBALATTRB
GLOBALATTRB1
GLOBALATTRB2
 attrb
GLOBALATTRF0
GLOBALATTRF
GLOBALATTRF1
GLOBALATTRF2
 attrf
GLOBALASAVE asave
GLOBALAWAIT await
GLOBALALIST0
GLOBALALIST
GLOBALALIST1
GLOBALALIST2
GLOBALALIST3
 alist
GLOBALAMENU amenu
GLOBALBARJN0
GLOBALBARJN
 barjn
GLOBALBENDS bends
GLOBALBLIST0
GLOBALBLIST
GLOBALBLIST1
GLOBALBLIST2
GLOBALBLIST3
 blist
GLOBALCARRY carry
GLOBALCHESH0
GLOBALCHESH1
GLOBALCHESH2
GLOBALCHESH3
 chesh
GLOBALCENDS cends
GLOBALCLINK0
GLOBALCLINK
GLOBALCLINK1
GLOBALCLINK2
 clink
GLOBALCLINT0
GLOBALCLINT
GLOBALCLINT1
GLOBALCLINT2
 clint
GLOBALCLIPI clipi
GLOBALCLIST0
GLOBALCLIST
GLOBALCLIST1
GLOBALCLIST2
GLOBALCLIST3
 clist
GLOBALCMDBT0
GLOBALCMDBT
GLOBALCMDBT1
GLOBALCMDBT2
GLOBALCMDBT3
GLOBALCMDBT4
 cmdbt
GLOBALCOPYS0
GLOBALCOPYS
GLOBALCOPYS1
GLOBALCOPYS2
GLOBALCOPYS3
GLOBALCOPYS4
 copys
GLOBALCOPYY0
GLOBALCOPYY
GLOBALCOPYY1
GLOBALCOPYY2
GLOBALCOPYY3
GLOBALCOPYY4
 copyy
GLOBALCOUNT
GLOBALCOUNT1
 count
GLOBALCREAT0
GLOBALCREAT
 creat
GLOBALDECOD0
GLOBALDECOD
GLOBALDECOD1
GLOBALDECOD2
 decod
GLOBALDECRD0
GLOBALDECRD
GLOBALDECRD1
GLOBALDECRD2
 decrd
GLOBALDECRY0
GLOBALDECRY
GLOBALDECRY1
GLOBALDECRY2
 decry
GLOBALDECTD0
GLOBALDECTD
GLOBALDECTD1
GLOBALDECTD2
 dectd
GLOBALDENDS dends
GLOBALDELSM0
GLOBALDELSM
GLOBALDELSM1
GLOBALDELSM2
 delsm
GLOBALDELSS0
GLOBALDELSS
GLOBALDELSS1
GLOBALDELSS2
 delss
GLOBALDLIST0
GLOBALDLIST
GLOBALDLIST1
GLOBALDLIST2
GLOBALDLIST3
 dlist
GLOBALDOWNH0
GLOBALDOWNH
GLOBALDOWNH1
GLOBALDOWNH2
GLOBALDOWNH3
 downh
GLOBALDOWNL0
GLOBALDOWNL
GLOBALDOWNL1
GLOBALDOWNL2
GLOBALDOWNL3
 downl
GLOBALENCTS0
GLOBALENCTS
GLOBALENCTS1
GLOBALENCTS2
GLOBALENCTS3
 encts
GLOBALENCOD0
GLOBALENCOD
GLOBALENCOD1
GLOBALENCOD2
 encod
GLOBALENCRD0
GLOBALENCRD
GLOBALENCRD1
GLOBALENCRD2
 encrd
GLOBALENCRY0
GLOBALENCRY
GLOBALENCRY1
GLOBALENCRY2
 encry
GLOBALENCTD0
GLOBALENCTD
GLOBALENCTD1
GLOBALENCTD2
 enctd
GLOBALEXBNS0
GLOBALEXBNS
GLOBALEXBNS1
GLOBALEXBNS2
GLOBALEXBNS3
 exbns
GLOBALEXBNF0
GLOBALEXBNF
GLOBALEXBNF1
GLOBALEXBNF2
GLOBALEXBNF3
 exbnf
GLOBALEXICN0
GLOBALEXICN
GLOBALEXICN1
 exicn
GLOBALEXICS0
GLOBALEXICS
GLOBALEXICS1
GLOBALEXICS2
GLOBALEXICS3
 exics
GLOBALEXMPL exmpl
GLOBALEXECT exect
GLOBALEXTRA0
GLOBALEXTRA
GLOBALEXTRA1
GLOBALEXTRA2
GLOBALEXTRA3
 extra
GLOBALEXTRF0
GLOBALEXTRF
GLOBALEXTRF1
GLOBALEXTRF2
GLOBALEXTRF3
 extrf
GLOBALEENDS eends
GLOBALELIST0
GLOBALELIST
GLOBALELIST1
GLOBALELIST2
GLOBALELIST3
 elist
GLOBALFENDS fends
GLOBALFLIST0
GLOBALFLIST
GLOBALFLIST1
GLOBALFLIST2
GLOBALFLIST3
 flist
GLOBALFOLDS0
GLOBALFOLDS
GLOBALFOLDS1
GLOBALFOLDS2
 folds
GLOBALFORMT
GLOBALFORMT1
GLOBALFORMT2
 formt
GLOBALFTPGO
GLOBALFTPGO1
GLOBALFTPGO2
GLOBALFTPGO3
 ftpgo
GLOBALFTPGF
GLOBALFTPGF1
GLOBALFTPGF2
GLOBALFTPGF3
 ftpgf
GLOBALFTPLF0
GLOBALFTPLF1
GLOBALFTPLF2
 ftplf
GLOBALFTPLS0
GLOBALFTPLS1
GLOBALFTPLS2
 ftpls
GLOBALFUNAU1
GLOBALFUNAU2
GLOBALFUNAU3
...
GLOBALFUNAUN
 funau
GLOBALFUNJS1
GLOBALFUNJS2
GLOBALFUNJS3
...
GLOBALFUNJSN
 funjs
GLOBALFUNVB1
GLOBALFUNVB2
GLOBALFUNVB3
...
GLOBALFUNVBN
 funvb
GLOBALGENDS gends
GLOBALGIFCS0
GLOBALGIFCS
GLOBALGIFCS1
GLOBALGIFCS2
 gifcs
GLOBALGIFCN0
GLOBALGIFCN
GLOBALGIFCN1
GLOBALGIFCN2
 gifcn
GLOBALGIFNN0
GLOBALGIFNN
GLOBALGIFNN1
GLOBALGIFNN2
 gifnn
GLOBALGLIST0
GLOBALGLIST
GLOBALGLIST1
GLOBALGLIST2
GLOBALGLIST3
 glist
GLOBALHENDS hends
GLOBALHLIST0
GLOBALHLIST
GLOBALHLIST1
GLOBALHLIST2
GLOBALHLIST3
 hlist
GLOBALICODS0
GLOBALICODS
GLOBALICODS1
GLOBALICODS2
 icods
GLOBALICODF0
GLOBALICODF
GLOBALICODF1
GLOBALICODF2
 icodf
GLOBALICOFS
GLOBALICOFS1
GLOBALICOFS2
 icofs
GLOBALICOFT
GLOBALICOFT1
GLOBALICOFT2
 icoft
GLOBALICOMM0
GLOBALICOMM
GLOBALICOMM1
GLOBALICOMM2
 icomm
GLOBALICOMF0
GLOBALICOMF
GLOBALICOMF1
GLOBALICOMF2
 icomf
GLOBALICONN0
GLOBALICONN
GLOBALICONN1
GLOBALICONN2
 iconn
GLOBALICONV0
GLOBALICONV
GLOBALICONV1
GLOBALICONV2
 iconv
GLOBALICONF0
GLOBALICONF
GLOBALICONF1
GLOBALICONF2
 iconf
GLOBALIMGCN0
GLOBALIMGCN
GLOBALIMGCN1
GLOBALIMGCN2
 imgcn
GLOBALIMGCF0
GLOBALIMGCF
GLOBALIMGCF1
GLOBALIMGCF2
 imgcf
GLOBALIMGFS0
GLOBALIMGFS
GLOBALIMGFS1
GLOBALIMGFS2
 imgfs
GLOBALIMGFF0
GLOBALIMGFF
GLOBALIMGFF1
GLOBALIMGFF2
 imgff
GLOBALIMGCG imgcg
GLOBALIMGCR imgcr
GLOBALIMGJS0
GLOBALIMGJS
GLOBALIMGJS1
GLOBALIMGJS2
 imgjs
GLOBALIMGJF0
GLOBALIMGJF
GLOBALIMGJF1
GLOBALIMGJF2
 imgjf
GLOBALIMGNZ0
GLOBALIMGNZ
GLOBALIMGNZ1
GLOBALIMGNZ2
 imgnz
GLOBALIMGTX imgtx
GLOBALIMGTZ
GLOBALIMGTZ1
GLOBALIMGTZ2
GLOBALIMGTZ3
 imgtz
GLOBALMXMNZ mxmnz
GLOBALIENDS iends
GLOBALILIST0
GLOBALILIST
GLOBALILIST1
GLOBALILIST2
GLOBALILIST3
 ilist
GLOBALINIST inist
GLOBALJOINB0
GLOBALJOINB
GLOBALJOINB1
GLOBALJOINB2
 joinb
GLOBALJOINF0
GLOBALJOINF
 joinf
GLOBALJOINZ0
GLOBALJOINZ
GLOBALJOINZ1
GLOBALJOINZ2
 joinz
GLOBALJENDS jends
GLOBALJLIST0
GLOBALJLIST
GLOBALJLIST1
GLOBALJLIST2
GLOBALJLIST3
 jlist
GLOBALKENDS kends
GLOBALKLIST0
GLOBALKLIST
GLOBALKLIST1
GLOBALKLIST2
GLOBALKLIST3
 klist
GLOBALLENDS lends
GLOBALLLIST0
GLOBALLLIST
GLOBALLLIST1
GLOBALLLIST2
GLOBALLLIST3
 llist
GLOBALLBICL
GLOBALLBICL1
 lbicl
GLOBALLISTS0
GLOBALLISTS
GLOBALLISTS1
GLOBALLISTS2
 lists
GLOBALLISTT0
GLOBALLISTT
GLOBALLISTT1
GLOBALLISTT2
 listt
GLOBALLISTX0
GLOBALLISTX
GLOBALLISTX1
...
GLOBALLISTXN
 listx
GLOBALMARKS0
GLOBALMARKS
GLOBALMARKS2
 marks
GLOBALMASKZ0
GLOBALMASKZ
GLOBALMASKZ1
GLOBALMASKZ2
 maskz
GLOBALMASKX0
GLOBALMASKX
 maskx
GLOBALMENDS mends
GLOBALMLIST0
GLOBALMLIST
GLOBALMLIST1
GLOBALMLIST2
GLOBALMLIST3
 mlist
GLOBALMODFS0
GLOBALMODFS
GLOBALMODFS1
GLOBALMODFS2
 modfs
GLOBALMODFT0
GLOBALMODFT
GLOBALMODFT1
GLOBALMODFT2
 modft
GLOBALMOVEE0
GLOBALMOVEE
GLOBALMOVEE1
GLOBALMOVEE2
GLOBALMOVEE3
GLOBALMOVEE4
 movee
GLOBALMOVES0
GLOBALMOVES
GLOBALMOVES1
GLOBALMOVES2
GLOBALMOVES3
GLOBALMOVES4
 moves
GLOBALMP3IS0
GLOBALMP3IS
GLOBALMP3IS1
GLOBALMP3IS2
 mp3is
GLOBALMP3IM0
GLOBALMP3IM
GLOBALMP3IM1
GLOBALMP3IM2
 mp3im
GLOBALMP3WF0
GLOBALMP3WF
GLOBALMP3WF2
 mp3wf
GLOBALMP3WS0
GLOBALMP3WS
GLOBALMP3WS2
 mp3ws
GLOBALMULTI
GLOBALMULTI0
GLOBALMULTI1
GLOBALMULTI2
GLOBALMULTI3
GLOBALMULTI4
GLOBALMULTI5
 multi
GLOBALNFSIS
GLOBALNFSIS0
GLOBALNFSIS1
GLOBALNFSIS2
...
GLOBALNFSISN
 nfsis
GLOBALNENDS nends
GLOBALNLIST0
GLOBALNLIST
GLOBALNLIST1
GLOBALNLIST2
GLOBALNLIST3
 nlist
GLOBALOENDS oends
GLOBALOLIST0
GLOBALOLIST
GLOBALOLIST1
GLOBALOLIST2
GLOBALOLIST3
 olist
GLOBALONTOP ontop
GLOBALOPENS
GLOBALOPENS1
 opens
GLOBALOPENF
GLOBALOPENF1
 openf
GLOBALPENDS pends
GLOBALPLIST0
GLOBALPLIST
GLOBALPLIST1
GLOBALPLIST2
GLOBALPLIST3
 plist
GLOBALPICUP0
GLOBALPICUP
GLOBALPICUP2
 picup
GLOBALPICUS0
GLOBALPICUS
GLOBALPICUS2
 picus
GLOBALQENDS qends
GLOBALQLIST0
GLOBALQLIST
GLOBALQLIST1
GLOBALQLIST2
GLOBALQLIST3
 qlist
GLOBALREDRW redrw
GLOBALREGXT0
GLOBALREGXT
 regxt
GLOBALRENDS rends
GLOBALRENMM0
GLOBALRENMM
GLOBALRENMM1
GLOBALRENMM2
GLOBALRENMM3
 renmm
GLOBALRENMS0
GLOBALRENMS
GLOBALRENMS1
GLOBALRENMS2
GLOBALRENMS3
 renms
GLOBALRLIST0
GLOBALRLIST
GLOBALRLIST1
GLOBALRLIST2
GLOBALRLIST3
 rlist
GLOBALRSIZE rsize
GLOBALRUNCM runcm
GLOBALSCREN scren
GLOBALSENDS sends
GLOBALSCRPT0
GLOBALSCRPT
GLOBALSCRPT1
 scrpt
GLOBALSMENU smenu
GLOBALSLIST0
GLOBALSLIST
GLOBALSLIST1
GLOBALSLIST2
GLOBALSLIST3
 slist
GLOBALSPLIT0
GLOBALSPLIT
GLOBALSPLIT1
GLOBALSPLIT2
 split
GLOBALSPLIS0
GLOBALSPLIS
GLOBALSPLIS1
GLOBALSPLIS2
GLOBALSPLIS3
 splis
GLOBALSSIZE ssize
GLOBALSTART
GLOBALPROGR
GLOBALSTOUT
GLOBALSTERR
 start
GLOBALSTRCT strct
GLOBALSTEXT0
GLOBALSTEXT
GLOBALSTEXT1
GLOBALSTEXT2
GLOBALSTEXT3
 stext
GLOBALSYMXX symxx
GLOBALTABSV tabsv
GLOBALTHIDE thide
GLOBALTENDS tends
GLOBALTITLE title
GLOBALTITYN tityn
GLOBALTLIST0
GLOBALTLIST
GLOBALTLIST1
GLOBALTLIST2
GLOBALTLIST3
 tlist
GLOBALTESTS tests
GLOBALTXTSP0
GLOBALTXTSP
 txtsp
GLOBALTXTSS0
GLOBALTXTSS
GLOBALTXTSS1
GLOBALTXTSS2
 txtss
GLOBALTEXTT0
GLOBALTEXTT
GLOBALTEXTT1
GLOBALTEXTT2
 textt
GLOBALTEXTX0
GLOBALTEXTX
GLOBALTEXTX1
GLOBALTEXTX2
 textx
GLOBALTEXTV
GLOBALTEXTV1
GLOBALTEXTV2
 textv
GLOBALTRANS trans
GLOBALTXWVF1
GLOBALTXWVF2
 txwvf
GLOBALTXWVS1
GLOBALTXWVS2
 txwvs
GLOBALTITYN tityn
GLOBALUENDS uends
GLOBALULIST0
GLOBALULIST
GLOBALULIST1
GLOBALULIST2
GLOBALULIST3
 ulist
GLOBALUPLDS0
GLOBALUPLDS
GLOBALUPLDS2
 uplds
GLOBALUPLDF0
GLOBALUPLDF
GLOBALUPLDF2
 upldf
GLOBALURLSV0
GLOBALURLSV
GLOBALURLSV1
GLOBALURLSV2
 urlsv
GLOBALURLXT0
GLOBALURLXT
GLOBALURLXT1
GLOBALURLXT2
GLOBALURLXT3
 urlxt
GLOBALURLRA0
GLOBALURLRA
GLOBALURLRA1
GLOBALURLRA2
GLOBALURLRA3
 urlra
GLOBALURLRF0
GLOBALURLRF
GLOBALURLRF1
GLOBALURLRF2
GLOBALURLRF3
 urlrf
GLOBALVENDS vends
GLOBALVERSN
GLOBALVERSN1
GLOBALVERSN2
 versn
GLOBALVLIST0
GLOBALVLIST
GLOBALVLIST1
GLOBALVLIST2
GLOBALVLIST3
 vlist
GLOBALWDRAG wdrag
GLOBALWATCH watch
GLOBALWEBSC0
GLOBALWEBSC
GLOBALWEBSC1
GLOBALWEBSC2
 websc
GLOBALWEBSS0
GLOBALWEBSS
GLOBALWEBSS1
GLOBALWEBSS2
 webss
GLOBALWENDS wends
GLOBALWINLS0
GLOBALWINLS
 winls
GLOBALWLIST0
GLOBALWLIST
GLOBALWLIST1
GLOBALWLIST2
GLOBALWLIST3
 wlist
GLOBALWMENU wmenu
GLOBALWNTXT wntxt
GLOBALWORDS
GLOBALWORDS1
 words
GLOBALWPULL wpull
GLOBALXCLIP xclip
GLOBALXENDS xends
GLOBALXLIST0
GLOBALXLIST
GLOBALXLIST1
GLOBALXLIST2
GLOBALXLIST3
 xlist
GLOBALXLSXF0
GLOBALXLSXF
 xlsxf
GLOBALXLSXT0
GLOBALXLSXT
 xlsxt
GLOBALXYPOS
GLOBALXYPOS1
GLOBALXYPOS2
...
GLOBALXYPOSN
 xypos
GLOBALYENDS yends
GLOBALYLIST0
GLOBALYLIST
GLOBALYLIST1
GLOBALYLIST2
GLOBALYLIST3
 ylist
GLOBALZENDS zends
GLOBALZLIST0
GLOBALZLIST
GLOBALZLIST1
GLOBALZLIST2
GLOBALZLIST3
 zlist
GLOBALZPACF0
GLOBALZPACF
 zpacf
GLOBALZPACK0
GLOBALZPACK
 zpack
GLOBALZUNPF0
GLOBALZUNPF
 zunpf
GLOBALZUNPK0
GLOBALZUNPK
 zunpk
Глобальные переменные аналогичных команд listx 
GLOBALAISTX
GLOBALBISTX
...
GLOBALZISTX
 aistx, bistx, ... , zistx
Глобальные переменные аналогичных команд infos 
GLOBALANFOS
GLOBALBNFOS
...
GLOBALZNFOS
 anfos, bnfos, ... , znfos
Глобальные переменные 2D массивов
GLOBALARR2D
GLOBALBRR2D
...
GLOBALZRR2D
 arr2d, brr2d, ... , zrr2d
GLOBALANF2D
GLOBALBNF2D
...
GLOBALZNF2D
 anf2d, bnf2d, ... , znf2d
Для всех переменных 2D массивов:
  GLOBALNAME_ содержит:
    если 2D массив, то номер последней колонки.
    если 1D массив, то -1
Глобальные переменные диалогов
GLOBALCOMBO
GLOBALCOMBO1
...
GLOBALCOMBON
 [combo]
GLOBALCOMBN1
...
GLOBALCOMBNN
 [combo]
GLOBALDATES
GLOBALDATES1
...
GLOBALDATESN
 [dates]
GLOBALEDITS
GLOBALEDITS1
...
GLOBALEDITSN
 [edits]
GLOBALICONZ1
...
GLOBALICONZN
 [iconz]
GLOBALIMAGE0
GLOBALIMAGE1
...
GLOBALIMAGEN
 [image]
GLOBALLISTA1
...
GLOBALLISTAN

GLOBALLISTB1
...
GLOBALLISTBN
 [lista]
GLOBALINPUT
GLOBALINPUT1
...
GLOBALINPUTN
 [input]
 [richinput]
GLOBALGROUP
GLOBALGROUP1
...
GLOBALGROUPN
 [group]
GLOBALGROUN1
...
GLOBALGROUNN
 [group]
GLOBALCHECK1
GLOBALCHECK2
...
GLOBALCHECK9
GLOBALCHECM1
GLOBALCHECM2
...
GLOBALCHECM9
GLOBALCHECR1
GLOBALCHECR2
...
GLOBALCHECR9
GLOBALCHECN1
GLOBALCHECN2
...
GLOBALCHECN9
GLOBALCHECO1
GLOBALCHECO2
...
GLOBALCHECO9
 [check]
GLOBALZFOLD
GLOBALZFOLD1
...
GLOBALZFOLDN
 [zfold]
GLOBALSFOLD
GLOBALSFOLD1
...
GLOBALSFOLDN
 [sfold]
GLOBALSOPEN
GLOBALSOPEN1
...
GLOBALSOPENN
 [sopen]
GLOBALSSAVE
GLOBALSSAVE1
...
GLOBALSSAVEN
 [ssave]
GLOBALSICON
GLOBALSICON1
...
GLOBALSICONN
 [sicon]
GLOBALUPDWN
GLOBALUPDWN1
...
GLOBALUPDWNN
 [updwn]
GLOBALELECT
GLOBALELECT1
...
GLOBALELECTN
 [elect]
GLOBALMSGBX
GLOBALMSGBX1
...
GLOBALMSGBXN
 [msgbx]
Дополнительные глобальные переменные
GLOBALXFOLD0
GLOBALXFOLD
GLOBALXFOLD1
 xfolder
GLOBALARRAY
GLOBALARRAY1
 _ArrayDisplay()
GLOBALLOCAL GLOBALNAME<xN>
GLOBALTOTAL [tc]
Специальные глобальные переменные
GLOBAL0XXXX GLOBAL0XXXX
GLOBAL1XXXX GLOBAL1XXXX


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