Mode|Mode|Column , где:
Mode - режим преобразования.
Column - номер колонки.
⇨ отсчёт колонок ведётся с 0.
⇨ при отрицательном значении отсчёт ведётся с конца.
⇨ * - режимы, отмеченные звёздочкой, имеют возможность преобразовывать 2D и 1D массивы.
⇨ ** - режимы, отмеченные двумя звёздочками, преобразовывают только 1D массивы.
Mode - режим:
* -1 - показать массив в таблице.
* -2 - показать массив в таблице (в заголовке столбцов латинские буквы).
Примеры: arr2d=2D||-2 arr2d=1D||-1
* 0 - сортировать по возрастанию.
* 1 - сортировать по убыванию.
Примеры: arr2d=2D||0|0 arr2d=2D||1|0
При 3-м параметре сортировка производится только для 2D массивов с сохранением последовательности данных одинаковых значений в сортируемой колонке.
Примеры: arr2d=2D||0|0|1 arr2d=2D||1|0|1
* 2 - сортировать по числовому возрастанию.
* 3 - сортировать по числовому убыванию.
при Mode=2, 3 колонка Column должна иметь числовые данные.
Примеры: arr2d=2D||2|0 arr2d=2D||3|0
* 4 - удалить дубликаты.
* 5 - удалить дубликаты (без учёта регистра).
Примеры: arr2d=2D||4|0 arr2d=2D||5|0
6 - удалить колонку(и).
7 - оставить колонку(и).
при Mode=6, 7 возможно прописывать номера колонок через запятую (1,4,7)
или диапазон нескольких колонок через запятую (1,3:6,8:11,13:-1).
Примеры: arr2d=2D||6|0 arr2d=2D||7|1,3:6,8:11,13:-1
8 - поменять местами 2 колонки.
при Mode=8 прописываются номера 2-х колонок (1:4)
для нескольких перестановок пары прописываются через запятую (1:4,6:2)
Примеры: arr2d=2D||8|1:7 arr2d=2D||8|1:8,4:3
9 - переместить колонку в заданную позицию.
при Mode=9 прописывается номер перемещаемой колонки и позиция (1:5)
для нескольких перемещений пары прописываются через запятую (1:5,8:10)
Примеры: arr2d=2D||9|1:7 arr2d=2D||9|1:8,4:3
* 10 - перемешать строки случайным образом.
11 - перемешать колонки случайным образом.
* 12 - реверс строк.
13 - реверс колонок.
* 14 - транспонировать массив, поменять местами строки и столбцы.
при Mode=10, 11, 12, 13, 14 Column не прописывается.
Примеры: arr2d=2D||10 arr2d=2D||11 arr2d=2D||12 arr2d=2D||13 arr2d=2D||14
* 15 - вставка колонок с информацией.
при Mode=15 прописывается String1!!String2!!String3, где:
String1 - вставка в начало (в нулевую колонку).
String2 - вставка между колонками.
String3 - вставка в последнюю колонку.
вместо строки String может быть прописано имя 1D массива $GLOBALNAME, данные которого будут вставлены в заданную колонку.
Примеры: arr2d=2D||15|string1 arr2d=2D||15|!!!!string3 arr2d=2D||15|string1!!!!string3
* 16 - вставка колонок с информацией в заданные позиции.
* 17 - замена данных в колонках.
при Mode=16, 17 прописывается Column|String
в Column возможно прописывать номер, номера колонок через запятую (1,4,7).
или диапазон нескольких колонок через запятую (1,3:6,8:11,13:-1).
вместо строки String может быть прописано имя 1D массива $GLOBALNAME, данные которого будут вставлены в заданную колонку.
Примеры: arr2d=2D||16|1,4|string1 arr2d=2D||16|1,3:6,8:11,13:-1|string1
* 18 - горизонтальное добавление массивов.
* 19 - вертикальное добавление массивов.
при Mode=18, 19 прописывается имя 1D или 2D массива, который добавляется: $GLOBALNAME
для нескольких добавлений: $GLOBALNAME1+$GLOBALNAME2+ ... + $GLOBALNAMEN
Примеры: arr2d=2D||18|$GLOBALNAME arr2d=2D||18|$GLOBALNAME1+$GLOBALNAME2
* 20 - изменение размера массива с сохранением данных.
при Mode=20 прописывается Line:Column, где:
Line - количество строк, Column - количество колонок.
при Line=-1 размер строк не меняется, при Column=-1 размер колонок не меняется.
Примеры: arr2d=2D||20|15:3 arr2d=2D||20|9:0
* 21 - удалить строки с регулярным выражением, относительно значений ячеек заданной колонки.
* 22 - оставить строки с регулярным выражением, относительно значений ячеек заданной колонки.
при Mode=21, 22 прописывается Column|RegExp, где:
Column - номер колонки, в которой будут проверены значения ячеек (отсчёт с 0, при отрицательном значении отсчёт ведётся с конца).
RegExp - регулярное выражение.
Примеры: arr2d=2D||21|1|^0$ arr2d=2D||21|1|^string.*
23 - удалить колонки с регулярным выражением, относительно значений ячеек заданной строки.
24 - оставить колонки с регулярным выражением, относительно значений ячеек заданной строки.
при Mode=23, 24 прописывается Line|RegExp, где:
Line - номер строки, в которой будут проверены значения ячеек (отсчёт с 1, при отрицательном значении отсчёт ведётся с конца).
RegExp - регулярное выражение.
Примеры: arr2d=2D||23|1|^0$ arr2d=2D||23|1|^string.*
* 25 - горизонтальное размножение массива (если передаётся 1D массив, то он преобразуется в массив 2D).
* 26 - вертикальное размножение массива.
при Mode=25, 26 прописывается Count - количество размножений массива.
Примеры: arr2d=2D||25|3 arr2d=2D||26|2
* 27 - преобразование данных заданных колонок параметрами дополнения №24.
при Mode=27 прописывается Column|SeriesParam, где:
в Column возможно прописывать номер, номера колонок через запятую (1,4,7).
или диапазон нескольких колонок через запятую (1,3:6,8:11,13:-1).
для изменения всех колонок прописывается 1:-1
для изменения в 1D массивах этот параметр не влияет, можно прописать 0
SeriesParam - серия параметров для преобразования. см. Дополнение №24.
- разделитель между параметрами ;; .
- тег :LISTNUM: заменяется номером текущей строки.
- тег :: двоеточие заменяется текущей строкой.
Примеры: arr2d=2D||27|0|^^begin;;$$end arr2d=2D||27|1,2|&&(\d+)!!zzz${1}
arr2d=2D||27|3|?V|##|'::'=''''?0:'::' - с помощью тернарного условия проверяем значения 3 колонки
* 28 - преобразование данных заданных строк параметрами дополнения №24.
при Mode=28 прописывается Line|SeriesParam, где:
в Line возможно прописывать номер, номера строк через запятую (1,4,7).
или диапазон нескольких строк через запятую (1,3:6,8:11,13:-1).
для изменения всех элементов строк прописывается 1:-1
SeriesParam - серия параметров для преобразования. см. Дополнение №24 (Разделитель между параметрами ;; ).
Примеры: arr2d=2D||28|1,3|^^begin;;$$end arr2d=2D||28|1:5|&&(\d+)!!zzz${1}
29 - построчное объединение данных через разделитель (преобразование 2D массива в 1D).
* 30 - поколоночное объединение данных в 1-ю строку через разделитель.
при Mode=29, 30 прописывается Delimeter - разделитель между данными.
в Delimeter могут использоваться некоторые функции Autoit.
Примеры: arr2d=2D||29|# arr2d=2D||29|Chr(256) arr2d=2D||29|string
* 31 - удалить строки, относительно длины данных ячеек заданной колонки.
* 32 - оставить строки, относительно длины данных ячеек заданной колонки.
при Mode=31, 32 прописывается Column|Condition, где:
Column - номер колонки, в которой будут проверена длина значений ячеек (отсчёт с 0, при отрицательном значении отсчёт ведётся с конца).
Condition - условие: =Len, <Len, >Len, <>Len (Len - число), ?Min-Max (диапазон чисел).
Примеры: arr2d=2D||31|1|=3 arr2d=2D||31|1|>3 arr2d=2D||31|1|<3 arr2d=2D||31|1|<>3 arr2d=2D||31|1|?3-6
33 - удалить колонки, относительно длины данных ячеек заданной строки.
34 - оставить колонки, относительно длины данных ячеек заданной строки.
при Mode=33, 34 прописывается Line|Condition, где:
Line - номер строки, в которой будут проверена длина значений ячеек (отсчёт с 1, при отрицательном значении отсчёт ведётся с конца).
Condition - условие: =Len, <Len, >Len, <>Len (Len - число), ?Min-Max (диапазон чисел).
Примеры: arr2d=2D||33|1|=3 arr2d=2D||33|1|>3 arr2d=2D||33|1|<3 arr2d=2D||33|1|<>3 arr2d=2D||33|1|?3-6
* 35 - очистка массива с сохранением размерности.
при Mode=35 Column не прописывается.
Примеры: arr2d=2D||35
36 - удаление дубликатов в 1D массиве с выводом в 1-ю колонку количества повторов.
при Mode=36 можно прописать необязательный параметр:
1 - удаление дубликатов с учётом регистра (по умолчанию), 0 - без учета регистра.
Примеры: arr2d=1D||36 arr2d=1D||36|0
* 37 - удалить уникальные строки (остаются только повторяющиеся строки в одном экземпляре, учитывается регистр символов).
* 38 - удалить уникальные строки (остаются только повторяющиеся строки в одном экземпляре, не учитывается регистр символов).
* 39 - удалить дублирующиеся строки (остаются строки, которые не повторялись, учитывается регистр символов).
* 40 - удалить дублирующиеся строки (остаются строки, которые не повторялись, не учитывается регистр символов).
* 42 - сортировать по возрастанию по длине строк заданной колонки.
* 43 - сортировать по убыванию по длине строк заданной колонки.
при Mode=37, 38, 39, 40, 42, 43 для 2D массива прописывается Column - колонка по которой производится преобразование.
Примеры: arr2d=1D||37 arr2d=2D||37|0
* 41 - переместить строку в заданную позицию.
при Mode=41 прописывается номер перемещаемой строки и позиция (1:5)
для нескольких перемещений пары прописываются через запятую (1:5,8:10)
Примеры: arr2d=2D||41|1:7 arr2d=2D||41|1:8,4:3
* 45 - удалить строки с помощью функций Autoit, относительно значений ячеек заданной колонки.
* 46 - оставить строки с помощью функций Autoit, относительно значений ячеек заданной колонки.
при Mode=45, 46 прописывается Column|Func, где:
Column - номер колонки, в которой будут проверены значения ячеек (отсчёт с 0, при отрицательном значении отсчёт ведётся с конца).
Func - выражение функций Autoit.
для вставки в функцию текущего значения ячейки используйте ::
функция должна возвращать 0 или 1, True или False
Примеры: arr2d=2D||45|0|BitAND(::,2)=2 arr2d=2D||46|0|FileGetSize('::')>1048576
47 - удалить колонки с помощью функций Autoit, относительно значений ячеек заданной строки.
48 - оставить колонки с помощью функций Autoit, относительно значений ячеек заданной строки.
при Mode=47, 48 прописывается Line|Func, где:
Line - номер строки, в которой будут проверены значения ячеек (отсчёт с 1, при отрицательном значении отсчёт ведётся с конца).
Func - выражение функций Autoit.
для вставки в функцию текущего значения ячейки используйте ::
функция должна возвращать 0 или 1, True или False
Примеры: arr2d=2D||47|1|StringRegExp('::','(exe|ini|txt)$')
* 49 - оставить строку(и).
* 50 - удалить строку(и).
при Mode=49, 50 возможно прописывать номера колонок через запятую (1,4,7)
или диапазон нескольких колонок через запятую (1,3:6,8:11,13:-1).
Примеры: arr2d=2D||49|0 arr2d=2D||50|1,3:6,8:11,13:-1
* 51 - добавление номеров групп одинаковых данных.
при Mode=51 прописывается Column1|ColumnData|Column2|SeriesParam, где:
Column1 - номер колонки, в которую будут записываться номера групп одинаковых данных.
ColumnData - номер колонки, в ячейках которой будет производиться поиск одинаковых данных.
Column2 - [необязательный] номер колонки, в которую будет записана дополнительная информация для групп одинаковых данных.
SeriesParam - [необязательный] серия параметров для получения информации для Column2 см. Дополнение №24
- разделитель между параметрами ;; .
- тег :LISTNUM: заменяется номером текущей группы.
Примеры: arr2d=1D||51|1|0 arr2d=2D||51|5|4|1|##rndm[10|0|#]
** 52 - объединение данных 1D массива через разделитель, относительно заданной длины.
при Mode=52 прописывается Max|Delimeter|Begin|End, где:
Max - максимальная длина объединяемых данных.
Delimeter - разделитель, через который данные ячеек объединяются.
Begin - [необязательный] вставка в начало объединяемых данных.
End - [необязательный] вставка в конец объединяемых данных.
- в Delimeter, Begin, End - могут использоваться некоторые функции Autoit и 'Null', означающий пустую строку.
- если длина какой либо ячейки больше заданного максимума, то она остаётся как есть (данные не меняются).
Пример: arr2d=1D||52|100|Chr(124)
** 53 - объединение данных 1D массива через разделитель, относительно заданного количества.
при Mode=53 прописывается Count|Delimeter|Begin|End, где:
Count - количество объединяемых данных.
Delimeter - разделитель, через который данные ячеек объединяются.
Begin - [необязательный] вставка в начало объединяемых данных.
End - [необязательный] вставка в конец объединяемых данных.
- в Delimeter, Begin, End - могут использоваться некоторые функции Autoit и 'Null', означающий пустую строку.
Пример: arr2d=1D||53|5|Chr(124)
* 55 - удалить строки с помощью параметра test<ParamTest>, относительно путей ячеек заданной колонки.
* 56 - оставить строки с помощью параметра test<ParamTest>, относительно путей ячеек заданной колонки.
при Mode=55, 56 прописывается Column|ParamTest, где:
Column - номер колонки, в которой будут проверены пути ячеек (отсчёт с 0, при отрицательном значении отсчёт ведётся с конца).
ParamTest - строка параметров Дополнения №16.
Примеры: arr2d=2D||56|0|1x!!2013/01/01!!#12018/01/01
57 - удалить колонки с помощью параметра test<ParamTest>, относительно путей ячеек заданной строки.
58 - оставить колонки с помощью параметра test<ParamTest>, относительно путей ячеек заданной строки.
при Mode=57, 58 прописывается Line|ParamTest, где:
Line - номер строки, в которой будут проверены пути ячеек (отсчёт с 1, при отрицательном значении отсчёт ведётся с конца).
ParamTest - строка параметров Дополнения №16.
Примеры: arr2d=2D||58|1|1x!!2013/01/01!!#12018/01/01
59 - удалить колонки с "пустой" информацией, т.е. все значения строк которых не имеют данных.
если все колонки "пустые" или остаётся только одна колонка, то возвращается 1D массив.
60 - 67 - поочерёдная числовая и буквенная сортировка начальных данных в заданной колонке:
* 60 - сортировка 0-9, a-z.
* 61 - сортировка 9-0, z-a.
* 62 - сортировка 0-9, z-a.
* 63 - сортировка 9-0, a-z.
* 64 - сортировка a-z, 0-9.
* 65 - сортировка z-a, 9-0.
* 66 - сортировка a-z, 9-0.
* 67 - сортировка z-a, 0-9.
Примеры: arr2d=1D||60 arr2d=2D||60|5
* 80 - дублировать заданные колонки.
* 81 - дублировать заданные строки.
при Mode=80, 81 прописывается номер и количество дубликатов (5:3)
для нескольких операций пары прописываются через запятую (1:5,8:10)
Примеры: arr2d=2D||80|1:7 arr2d=2D||81|1:8,4:3,-1:3
83 - перемешать данные заданных колонок.
84 - перемешать данные заданных строк.
85 - реверс данных заданных колонок.
86 - реверс данных заданных строк.
при Mode=83, 84, 85, 86 возможно прописывать номера колонок/строк через запятую (1,4,7).
или диапазон прописанный через запятую (1,3:6,8:11,13:-1).
Примеры: arr2d=2D||83|0 arr2d=2D||84|1,3:6,8:11,13:-1
* 87 - распределить построчно данные массива по заданному количеству колонок.
* 88 - распределить поколоночно данные массива по заданному количеству колонок.
при Mode=87, 88 прописывается количество колонок (по которым будут распределены данные).
для различных вариантов до или после режимов "87", "88" используйте режим "14" (транспонирование массива).
Примеры: arr2d=1D||87|3 arr2d=2D||88|5 arr2d=1D||87|3||14 arr2d=2D||88|5||14
* 89 - добавление в конец дополнительных пробелов относительно максимальной длины строки в заданные колонки.
* 90 - добавление в начало дополнительных пробелов относительно максимальной длины строки в заданные колонки.
* 91 - равномерное добавление в начало и конец дополнительных пробелов относительно максимальной длины строки в заданные колонки (в начало добавляется меньше при нечётном количестве добавления).
* 92 - равномерное добавление в начало и конец дополнительных пробелов относительно максимальной длины строки в заданные колонки (в конец добавляется меньше при нечётном количестве добавления).
при Mode=89, 90, 91, 92 прописывается Columns\Len|Symbol|End|Begin, где:
Columns - номера колонок через запятую (1,4,7) или диапазон прописанный через запятую (1,3:6,8:11,13:-1).
Len - [необязательный] - установка ширины/длины колонки/колонок (по умолчанию ширина, относительна максимальной длины значений колонки).
варианты:
► Len1,Len2,...,LenN - список длин/чисел прописанные через запятую, каждое соответствует заданной ячейке.
► #Len - символ "#" означает, что значение будет применено ко всем колонкам.
в Len могут использоваться символы "L" (будет заменён максимальной длиной значений колонки) и "M" (будет заменён максимальной длиной всех значений таблицы).
в Len могут использоваться математические действия.
число Len должно быть равно или больше максимальной длины значений колонки, в ином случае оно игнорируется.
Symbol - [необязательный] символ, которым дополняются строки (по умолчанию пробел).
End - [необязательный] вставка в конец: символ или строка, которая будет вставлена в конец после дополнения (по умолчанию пустая строка) ('Null', означает пустую строку).
Begin - [необязательный] вставка в начало: символ или строка, которая будет вставлена в начало после дополнения (по умолчанию пустая строка).
в Symbol и String могут использоваться некоторые функции Autoit.
Примеры: arr2d=1D||89|0|Chr(124) arr2d=2D||89|0:-1|. arr2d=2D||89|0:-1\#L+2|.
* 99 - обрамить данные в виде таблице заданными символами.
при Mode=99 прописывается KeyTable|ModeTable, где:
KeyTable - имя ключа из TCIMG.ini из секции [Table] , где прописаны символы для создания таблицы.
в ключе 15 символов, прописанных через запятую, пример: Key=╔,╦,╗,╠,╬,╣,╚,╩,╝,═,║,═,║,═,║
ModeTable - [необязательный] режим создания таблицы из заданных символов.
0 - обрамить данные по периметру (по умолчанию)*.
1 - обрамить данные по периметру и горизонтально между строками*.
2 - обрамить данные по периметру и вертикально между колонками.
3 - обрамить данные по периметру, горизонтально между строками и вертикально между колонками.
4 - вставить горизонтально между строками*.
5 - вставить вертикально между колонками.
6 - вставить горизонтально между строками и вертикально между колонками.
7 - вставить горизонтально между строками и добавить 1-ю и последнюю строку символами*.
8 - вставить вертикально между колонками и добавить 1-ю и последнюю колонку символами.
* - режимы для 1D массива.
Примеры: arr2d=1D||99|2 arr2d=2D||99|2|3
100 - сортировка значений массива по нескольким колонкам.
при Mode=100 прописывается ListTable|Mode1|Mode2, где:
ListTable - номера колонок, прописанных через запятую.
Mode1 - [необязательный] режим сортировки 1-й заданной колонки.
0 - по возрастанию (по умолчанию).
1 - по возрастанию.
Mode2 - [необязательный] режим сортировки 2-й и последующих заданных колонок.
0 - по возрастанию (по умолчанию).
1 - по возрастанию.
Примеры: arr2d=2D||100|0,2,1,3 arr2d=2D||100|1,2,3|1|1
* 102 - сортировка значений массива по возрастанию количества найденных фрагментов регулярного выражения.
* 103 - сортировка значений массива по убыванию количества найденных фрагментов регулярного выражения.
при Mode=102, 103 прописывается Column|RegExp, где:
Column - номер колонки, в которой будут проверены значения ячеек (отсчёт с 0, при отрицательном значении отсчёт ведётся с конца).
RegExp - регулярное выражение, которое считает количество фрагментов значений заданной колонки.
Примеры: arr2d=2D||102|0|(\\)