_ArrayDisplay

首页  后退  前进

_ArrayDisplay
down2

在ListView中显示数组。

 

_ArrayDisplay($var_array[,$var_stitle])

 

参数

$var_array

数组显示

$var_stitle

[可选] 显示数组的窗口的标题

返回值

成功:

返回 1

错误:

返回0,设置@error:

@error:

1 - 数组$var_array不是数组om


2 - 维数数组$ $var_array是两个以上(不超过2个)

 

查看数据时,可以将所有单元格复制到剪贴板,或按住CTRL键选择所需的单元格。

 

在版本10.4中,使用按钮,在查看数组并将所有或所选单元格的值传输到其他命令m后添加该选项:

arraydisplay1

在这种情况下,所选择的单元格将被记录在全局数据GLOBALARRAY </s>中,查看窗口将被关闭。

数组GLOBALARRAY在其他的命令x可以以与其他全局变量相同的方式使用 见: 附录23

 

由于一个单元格的长度限制为4000个字符,在版本12.0中添加了该功能:

- 裁剪要显示的字符串

- 设置这样的行的红色字体

- 在这样一个单元格的前面设置一个红色的图标

 

在版本13.9中添加:

- 为了表的速度,图标被删除,如果数组超过3000个元素。

- 在$var_stitle添加的标签:CHECKBOX :,它允许显示元素的复选框。

 

在版本21.4中添加标签 :CHECKBOX: 可选参数 :CHECKBOX:MODE:NUMBERS:HINT:

  MODE - 表格中的复选框模式:

    0 - 所有项目都可以选择(默认).

    1 - 只能选择一个项目.

  NUMBERS - 将在复选框中标记的数字行,选项是可能的:

    - 号码(一个设定点将被标记)

    - 数字以逗号分隔。例子: 1,5,8

    - 数字范围。例子: 1~-1. 例子: 3~8. 例子: 1,2,3,6~11,10~-1.

    - 对于负值,位置从列表的末尾开始计数.

    - 在 MODE=0 - 如果 NUMBERS 被指定或值是空的, 那么项目不会被标记(默认).

    - 在 MODE=1 - 第一项是默认标记的.

  HINT - 临时工具提示按钮 

    - 提示将写入TCIMG.lng中的key中 CheckBoxHint1, CheckBoxHint2, ... , CheckBoxHint_Name

    - 该模板指定结尾 Hint1, Hint2, ... , Hint_Name

 

 

快捷键:

  CTRL + A  - 选择所有项目。

  CTRL + S  - 反转突出显示的项目。

  CTRL + Q  - 从项目中删除选择。

  CTRL + C  - 将所选项目复制到剪贴板。

 ENTER或SPACE(空格) - 编辑所选项目。

 

在表格右侧的版本16.8中添加了导航按钮和选择。

 

另外的 对话框外观设置 в TCIMG.ini 在中[Infolist]

 


在$var_stitle中的版本19.4中添加了标签:ICON|Letter|Column|iNameKey :,允许您将图标设置为项目,其中:

Letter - 模式,信:

  e - 相对于系统中文件/文件夹类型的关联设置图标.

  v - 图标是从文件本身安装的.

  z - 图标从NameKey模板设置

  w - 该图标是从文件和图标的数量设置的(xxx.dll,n)

   ➵ g - 图标是为注册表信息设置的.

 

Column - 2D中的对象所在的列号.

  对于模式"e"和"v"有效

  默认为0

iNameKey - 具有注册模板的前缀i的Key名称在中[Infolist]

 

在按键是规定的: Title,N||BasicItem,N||ErrorItem,N||ZiroItem,N||CHECKBOX||Header,N||MODE||NUMBERS||HINT , 其中:

  ➵ Title,N - 图标库的路径和窗口标题的图标号.

  ➵ BasicItem,N - 图标库的路径和主要项目的图标号.

  ➵ ErrorItem,N - 图标库的路径和具有不同“错误”的项目的图标号.

        元素长度大于4000个字符的模式 "v" 和 "z"

        如果文件中没有图标 "v"

  ➵ ZiroItem,N - 图标库的路径和零元素的图标号.

  ➵ CHECKBOX - 1 显示项目的复选框, 0 - 正常列表.

  ➵ Header,N - 图标库的路径和列标题的图标号.

  ➵ MODE - 0 - 所有的复选框都可以选择(默认), 1 - 只能选择一个项目.

  ➵ NUMBERS - 在复选框中标记号码或号码.

  ➵ HINT - 暂时的帮助.

 

  Key的名称可以是任何(具有前缀i)。

  模板中的所有参数都是可选的,可以省略(||separator除外)。

  缺省值将从默认模板中获取。

  默认模板在键1中设置

  [Infolist]部分的所有数字键1,2,3,...都由内部实用程序使用。

  如果或库图标与和TCIMG.exe在同一个文件夹中,或者在文件夹...\Files\Img\中,那么您只需要指定一个名称。

  某些DLL可能只有一个负号的检索图标。

  而不是图标ICO,DLL,EXE,ICL ...可以用于绘制BMP,DIB,CUR,ANI

 

示例

[Infolist]

iA_A=User.dll,272||User.dll,266||User.dll,124||User.dll,57

iXX=TCIMG.dll,34||||TCIMG.dll,33||TCIMG.dll,36||1

arraydisplay2

 

 

该函数可以通过命令调用 exect

例子
copy

exect=$var_aa=_ArrayCreate(5,2)||_ArrayDisplay($var_aa) ;; 创建一个空数组的例子a

 

exect=$var_aa=_ArrayCreate(8,1,'A')||_ArrayDisplay($var_aa) ;;创建和填充数组的例子a

 

exect=$var_aa=StringSplit('1a|2a|3a|4a|5a|6a|7a|8a|9a','|',2)||_ArrayDisplay($var_aa)||_ArrayAdd($var_aa,'88888')||_ArrayDisplay($var_aa) ;; 示例创建数组和添加结束值

 

exect=$var_aa=StringSplit('1a|2a|3a|4a','|',2)||_ArrayDisplay($var_aa)||$var_a2=StringSplit('5b|6b|7b|8b|9b','|',2)||_ArrayDisplay($var_a2)||_ArrayConcatenate($var_aa,$var_a2)||__ArrayDisplay($var_aa) ;; 创建2个数组并将第2个加入到第一个的例子

 

exect=$var_aa=StringSplit('1a|2a|3a|4a','|',2)||_ArrayDisplay($var_aa)||_ArrayDelete($var_aa,2)||_ArrayDisplay($var_aa) ;; 创建示例数组并删除指定的单元格

 

exect=$var_aa=StringSplit('1a|2a|3a|4a|5a|6a|7a|8a|9a','|',2)||_ArrayDisplay($var_aa)||$var_a2=_ArrayExtract($var_aa,2,5)||_ArrayDisplay($var_a2) ;; 从指定的单元格数组$var_aa创建数组$var_a2的示例

 

exect=$var_aa=StringSplit('aa|bb|aa|cc|dd|aa|bb|ee|aa','|',2)||_ArrayDisplay($var_aa)||$var_a2=_ArrayFindAll($var_aa,'aa')||_ArrayDisplay($var_a2) ;; 一个从单元格索引中创建数组$var_a2的示例数组$var_aa,其中有一个'

 

exect=$var_aa=StringSplit('0;1;2;3;4;5;6;7;8;9',';')||_ArrayDisplay($var_aa)||_ArrayInsert($var_aa,2,'Вставлена~~2-я~~ячейка')||_ArrayDisplay($var_aa) ;; 将数组$var_aa值插入给定单元格的示例

 

exect=$var_aa=StringSplit('0;1;2;3;4;5;6;7;8;9',';')||_ArrayDisplay($var_aa)||$var_an=StringSplit('3|5|9','|')||_ArrayDisplay($var_an)||_ArrayInsert($var_aa,$var_an,'Вставлена~~3-я~~ячейка|5-я|9-я')||_ArrayDisplay($var_aa) ;; 将数组$var_aa值插入到数组a $var_an中的指定单元格中的示例

 

exect=$var_aa=StringSplit('0;1;2;3;4;5;6;7;8;9',';')||_ArrayDisplay($var_an)||_ArrayInsert($var_aa,'3;5;9','Вставлена~~3-я~~ячейка|5-я|9-я')||_ArrayDisplay($var_aa) ;; 将数值插入数组$var_aa到指定单元格的示例

 

exect=$var_aa=StringSplit('4|2|06|8|12|5','|')||_ArrayDisplay($var_aa) exect=$var_i1=_ArrayMax($var_aa,0,1)||$var_i2=_ArrayMax($var_aa,1,1) GLOBALEXECT<a> ;; 数组中包含的最大值的返回示例e

 

exect=$var_aa=StringSplit('4,2,06,8,12,5',',')||_ArrayDisplay($var_aa) exect=$var_i1=_ArrayMaxIndex($var_aa,0,1)||$var_i2=_ArrayMaxIndex($var_aa,1,1) GLOBALEXECT<a> ;; 返回包含最大值数组a的单元的索引的示例

 

exect=$var_aa=StringSplit('4,2,06,8,12,5',',')||_ArrayDisplay($var_aa) exect=$var_i1=_ArrayMin($var_aa,0,1)||$var_i2=_ArrayMin($var_aa,1,1) GLOBALEXECT<a> ;; 返回数组e中包含的最小值的示例

 

exect=$var_aa=StringSplit('4,2,06,8,12,5',',')||_ArrayDisplay($var_aa) exect=$var_i1=_ArrayMinIndex($var_aa,0,1)||$var_i2=_ArrayMinIndex($var_aa,1,1) GLOBALEXECT<a> ;; 返回小区索引的示例,其包含最小值数组a

 

exect=$var_aa=StringSplit('1|2|3|4','|',2)||$var_ap=_ArrayPermute($var_aa,'-')||_ArrayDisplay($var_ap) ;; 例如返回数组作为$指定的所有元素数组作为$var_aa的var_ap排列

 

exect=$var_aa=StringSplit('AAA|BBB|CCC|DDD','|',2)||_ArrayDisplay($var_aa)||$var_s1=_ArrayPop($var_aa)||MsgBox(4096,'Результат','$var_s1')||_ArrayDisplay($var_aa) ;; 返回最后一个元素数组a $var_aa的示例,同时从数组a中删除它

 

exect=$var_aa=StringSplit('AAA|BBB|CCC|DDD','|',2)||_ArrayDisplay($var_aa)||_ArrayPush($var_aa,'EEE')||_ArrayDisplay($var_aa)||_ArrayPush($var_aa,'FFF')||_ArrayDisplay($var_aa) ;; 将新元素添加到末端数组a的示例,将其余部分向上移动

 

exect=$var_aa=StringSplit('AAA|BBB|CCC|DDD','|',2)||_ArrayDisplay($var_aa)||_ArrayPush($var_aa,'EEE',1)||_ArrayDisplay($var_aa)||_ArrayPush($var_aa,'FFF',1)||_ArrayDisplay($var_aa) ;; 将一个新元素添加到开头数组a的示例,将其余部分移动

 

exect=$var_aa=StringSplit('AAA|BBB|CCC|DDD|EEE|FFF','|',2)||_ArrayDisplay($var_aa)||_ArrayReverse($var_aa)||_ArrayDisplay($var_aa)||_ArrayReverse($var_aa)||_ArrayDisplay($var_aa) ;; 改变元素数组的一个例子a

 

exect=$var_aa=StringSplit('AAA|BBB|CCC|DDD|EEE|FFF','|',2)||_ArrayDisplay($var_aa)||$var_ii=_ArraySearch($var_aa,'DDD')||MsgBox(4096,'Результат','$var_ii') ;; 找到短语"DDD"所在的小区索引的示例

 

exect=$var_aa=StringSplit('0;1;2;3;4;5;6;7;8;9',';',2)||_ArrayDisplay($var_aa)||_ArraySort($var_aa,1)||_ArrayDisplay($var_aa)||_ArraySort($var_aa)||_ArrayDisplay($var_aa) ;; 排序示例数组a

 

exect=$var_aa=StringSplit('AAA|BBB|CCC|DDD|EEE|FFF','|',2)||_ArrayDisplay($var_aa)||_ArraySwap($var_aa,2,4)||_ArrayDisplay($var_aa)||_ArraySwap($var_aa,1,5)||_ArrayDisplay($var_aa) ;; 数组a的替代的例子

 

exect=$var_aa=StringSplit('AAA|BBB|CCC|DDD|EEE|FFF','|',2)||_ArrayDisplay($var_aa)||_ArrayToClip($var_aa,'~~-~~',1,5) ;; 将数据a写入剪贴板的示例

 

exect=$var_aa=StringSplit('AAA|BBB|CCC|DDD|EEE|FFF','|',2)||_ArrayDisplay($var_aa)||$var_ss=_ArrayToString($var_aa,@TAB,1,5)||MsgBox(4096+64,'Результат','$var_ss') ;; 例如,将数组的数组A组合在一行,分离@TAB

 

exect=$var_aa=StringSplit('AAA-|BBB-|CCC-|DDD-|EEE-|FFF-','|',2)||_ArrayDisplay($var_aa)||_ArrayTrim($var_aa,1,1,1,3)||_ArrayDisplay($var_aa) ;; 从指定元素数组a删除指定数量的字符的示例

 

exect=$var_aa=StringSplit('1|2|3|4|5|6|7|8|9|10','|',2)||_ArrayDisplay($var_aa)||_ArrayRandomize($var_aa)||_ArrayDisplay($var_aa) ;;元数据分布的一个例子是随机的

 

exect=$var_aa=StringSplit('1|2|3|4|5|6|7|8|9|10','|',1)||_ArrayDisplay($var_aa)||_ArrayRandomize($var_aa,1)||_ArrayDisplay($var_aa) ;; 从第二个元素随机分配元素的一个例子

 

exect=$var_aa=StringSplit('aa|bb|aa|cc|dd|aa|bb|ee|aa','|',2)||_ArrayDisplay($var_aa)||$var_a2=_ArrayUnique($var_aa)||_ArrayDisplay($var_a2) ;;从数组$var_aa创建数组à$var_a2而不重复元素的示例

 

exect=$var_aa=StringSplit('aa|bb|aa|cc|dd|aa|bb|ee|aa','|',2)||_ArrayDisplay($var_aa)||_ReDim($var_aa,20)||_ArrayDisplay($var_aa)||_ReDim($var_aa,5)||_ArrayDisplay($var_aa) ;; 数组大小的例子a

 

slist=%L||##path<4>||&&(?i)[^a-zа-яё\s]!!~~||formt<w002,1> exect=_ArrayDisplay($GLOBALSLIST,'Удерживая~~CTRL~~выберите~~слова') slist=$GLOBALARRAY||formt<sp57,fun_symzagup> renms=%L||<srlist=GLOBALSLIST<t>>||upd<1> ;; 根据指定重新命名所选对象

 

sends=-1!!-1 exect=_ArrayDisplay($GLOBALSENDS,'Выберите~~пункты:CHECKBOX:') GLOBALARRAY<a> ;; 在表中逐行显示剪贴板的内容,勾选必要的框,并输出数组GLOBALARRAY中的剩余的

 

sends=%P%N!!-1||formt<6,1> exect=_ArrayDisplay($GLOBALSENDS,'Удерживая~~CTRL~~проверьте~~пункты') start=Explorer||list<$GLOBALARRAY>||spause<1000> ;; 从光标下的文件中选择所需的链接,并在IE浏览器中打开它们

 

slist=%L||##<info=t52::|#L1:-1;;?F6,1> exect=_ArrayDisplay($GLOBALSLIST,'Удерживая~~CTRL~~проверьте~~пункты') start=Explorer||list<$GLOBALARRAY>||spause<1000> ;; 从选定的文件中选择所需的链接,并在IE浏览器中打开它们

 

sends=-1!!-1 exect=_ArrayDisplay($GLOBALSENDS,'Просмотр~~数组а:ICON|e:') ;; 从剪贴板逐行输出路径/文件名(表中项目的图标相对于文件类型的系统关联分配)

 

sends=-1!!-1 exect=_ArrayDisplay($GLOBALSENDS,'Просмотр~~数组а:ICON|z|0|iA_A:') ;; 在表格中逐行显示剪贴板的内容(设置图标的表格取自键值"iA_A"的[InfoList]部分)

up2

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