[分享源码] 常用超级列表框操作子程序
.版本 2.支持库 iext
.子程序 超列去重, 整数型, , 返回共删了多少个重复项-bbs.125.la (呵呵仙)
.参数 超级列表框, 超级列表框
.参数 指定列作重复此较, 整数型, , 0为第1列,1为第2列----------
.参数 要相加合并的列_数组, 整数型, 可空 数组, 0为第1列,1为第2列------支持多列,格式如:{0,3}就是第1列,第4列的值都相加合并
.参数 只去重复项_不相加合并列, 整数型, 可空, 为0为空,值不相加; 大于0,值相加
.参数 置表项数值_标记重复项用, 整数型, 可空, 默认是-888888888作标记
.局部变量 n, 整数型
.局部变量 要比较标题, 文本型
.局部变量 m, 整数型
.局部变量 合并列数c, 整数型, , "0"
.局部变量 表项数, 整数型
.局部变量 x, 整数型
.局部变量 a, 整数型
.局部变量 b, 整数型
.局部变量 c, 整数型
.局部变量 指定列, 整数型
.局部变量 不合并, 整数型
.局部变量 k, 整数型
.局部变量 置标记, 整数型
指定列 = 指定列作重复此较
置标记 = 置表项数值_标记重复项用
.如果 (是否为空 (置表项数值_标记重复项用))
置标记 = -888888888
.否则
置标记 = 置表项数值_标记重复项用
.如果结束
不合并 = 只去重复项_不相加合并列
合并列数c = 要相加合并的列_数组
表项数 = 超级列表框.取表项数 ()
.计次循环首 (表项数, n)
a = n - 1
要比较标题 = 超级列表框.取标题 (a, 指定列)
.如果 (超级列表框.取表项数值 (a) ≠ 0)
到循环尾 ()
.否则
.计次循环首 (表项数 - n, m)
b = n + m - 1
.如果 (超级列表框.取表项数值 (b) ≠ 0)
到循环尾 ()
.否则
.如果真 (超级列表框.取标题 (b, 指定列) = 要比较标题)
超级列表框.置表项数值 (b, 置标记)
.如果真 (不合并 > 0)
.计次循环首 (取数组成员数 (合并列数c), x)
超级列表框.置标题 (a, 合并列数c , 到文本 (到数值 (超级列表框.取标题 (a, 合并列数c )) + 到数值 (超级列表框.取标题 (b, 合并列数c ))))
.计次循环尾 ()
.如果真结束
.如果真结束
.如果结束
.计次循环尾 ()
.如果结束
.计次循环尾 ()
.计次循环首 (表项数, n)
c = 表项数 - n
.如果真 (超级列表框.取表项数值 (c) = 置标记)
超级列表框.删除表项 (c)
.如果真结束
.计次循环尾 ()
返回 (超级列表框.取表项数 () - 表项数)
.子程序 超列保存, , , 动态保存任意炒鸡列表框-bbs.125.la (Joker4tb)
.参数 超列, 超级列表框
.参数 保存路径, 文本型, 可空, 保存到指定路径
.参数 行分割, 文本型, 可空
.参数 列分割, 文本型, 可空
.参数 输出表列头, 逻辑型, 可空
.局部变量 S, 文本型
.局部变量 C, 文本型
.局部变量 Lstr, 文本型, , , 列标题
.局部变量 I, 整数型
.局部变量 X, 整数型
.局部变量 文件号, 整数型
.如果真 (保存路径 = “”)
保存路径 = 取运行目录 () + “\炒鸡列表框.txt”
.如果真结束
.如果真 (行分割 = “”)
行分割 = 到文本 (#换行符)
.如果真结束
.如果真 (列分割 = “”)
列分割 = “,”
.如果真结束
.如果真 (输出表列头 = 真)
.计次循环首 (超列.取列数 (), I)
Lstr = Lstr + 超列.取列标题 (I - 1) + 列分割
.计次循环尾 ()
Lstr = 取文本中间 (Lstr, 1, 取文本长度 (Lstr) - 取文本长度 (列分割)) + 行分割' 取得列标题
.如果真结束
.计次循环首 (超列.取表项数 (), I)
.计次循环首 (超列.取列数 (), X)
S = S + 超列.取标题 (I - 1, X - 1) + 列分割
.计次循环尾 ()
S = 取文本中间 (S, 1, 取文本长度 (S) - 取文本长度 (列分割))
C = C + S + 行分割
S = “”
.计次循环尾 ()
文件号 = 打开文件 (保存路径, 4, )
.如果真 (文件号 > 0)
写出文本 (文件号, Lstr + C)
.如果真结束
关闭文件 (文件号)
.子程序 超列读取, , , 读取文本到任意炒鸡列表框-bbs.125.la (Joker4tb)
.参数 超列, 超级列表框
.参数 读取文件, 文本型, 可空, 文件路径
.参数 行分割, 文本型, 可空
.参数 列分割, 文本型, 可空
.参数 存在表列头, 逻辑型, 可空
.局部变量 S, 文本型, , "0"
.局部变量 C, 文本型, , "0"
.局部变量 Code, 文本型
.局部变量 L, 整数型, , , 列标题
.局部变量 I, 整数型
.局部变量 X, 整数型
.局部变量 文件号, 整数型
.如果真 (读取文件 = “”)
读取文件 = 取运行目录 () + “\炒鸡列表框.txt”
.如果真结束
.如果真 (行分割 = “”)
行分割 = 到文本 (#换行符)
.如果真结束
.如果真 (列分割 = “”)
列分割 = “,”
.如果真结束
文件号 = 打开文件 (读取文件, 1, )
Code = 读入文本 (文件号, )
.如果真 (寻找文本 (Code, 列分割, , 假) < 0)
返回 ()
.如果真结束
S = 分割文本 (Code, 行分割, )
.如果真 (存在表列头 = 真 且 取数组成员数 (S) > 0)
删除成员 (S, 1, )' 直接删除表列头,不做读取操作
.如果真结束
.计次循环首 (取数组成员数 (S), I)
.如果真 (寻找文本 (S , 列分割, , 假) > 0)
C = 分割文本 (S , 列分割, )
.如果真 (取数组成员数 (C) > 0)
L = 超列.取表项数 ()
超列.插入表项 (, C , , , , )
.计次循环首 (取数组成员数 (C) - 1, X)
超列.置标题 (L, X, C )
.计次循环尾 ()
.如果真结束
.如果真结束
.计次循环尾 ()
.子程序 超列全选, , ,bbs.125.la (Joker4tb)
.参数 超列, 超级列表框
.参数 检查框判断, 逻辑型, 可空
.局部变量 I, 整数型
.如果 (检查框判断 = 假)
.计次循环首 (超列.取表项数 (), I)
超列.选择表项 (I - 1)
.计次循环尾 ()
.否则
.计次循环首 (超列.取表项数 (), I)
超列.置状态图片 (I - 1, 1)
.计次循环尾 ()
.如果结束
超列.进入编辑 (1)
.子程序 超列全不选, , ,bbs.125.la (Joker4tb)
.参数 超列, 超级列表框
.参数 检查框判断, 逻辑型, 可空
.局部变量 I, 整数型
.如果 (检查框判断 = 假)
.计次循环首 (超列.取表项数 (), I)
超列.取消表项选择 (I - 1)
.计次循环尾 ()
.否则
.计次循环首 (超列.取表项数 (), I)
超列.置状态图片 (I - 1, 0)
.计次循环尾 ()
.如果结束
超列.进入编辑 (1)
.子程序 超列反选, , ,bbs.125.la (Joker4tb)
.参数 超列, 超级列表框
.参数 检查框判断, 逻辑型, 可空
.局部变量 I, 整数型
.计次循环首 (超列.取表项数 (), I)
.如果 (检查框判断 = 假)
.如果 (超列.是否被选择 (I - 1) = 真)
超列.取消表项选择 (I - 1)
.否则
超列.选择表项 (I - 1)
.如果结束
.否则
.如果 (超列.取当前状态图片 (I - 1) = 1)
超列.置状态图片 (I - 1, 0)
.否则
超列.置状态图片 (I - 1, 1)
.如果结束
.如果结束
.计次循环尾 ()
超列.进入编辑 (1)
.子程序 超列复制选中, , ,bbs.125.la (Joker4tb)
.参数 超列, 超级列表框
.参数 指定列, 文本型, 可空, 多列用逗号隔开,0为复制整行(默认)
.参数 行分割, 文本型, 可空, 默认为#换行符
.参数 列分割, 文本型, 可空, 默认为 #Tab 键
.参数 检查框判断, 逻辑型, 可空, 根据检查框状态执行复制选中操作
.局部变量 C, 文本型, , "0"
.局部变量 I, 整数型
.局部变量 X, 整数型
.局部变量 S, 文本型
.局部变量 G, 文本型
.如果真 (行分割 = “”)
行分割 = 到文本 (#换行符)
.如果真结束
.如果真 (列分割 = “”)
列分割 = 字符 (9)
.如果真结束
.如果 (指定列 = “”)
.计次循环首 (超列.取表项数 (), I)
.如果 (检查框判断 = 假)
.如果真 (超列.是否被选择 (I - 1) = 真)
.计次循环首 (超列.取列数 (), X)
S = S + 超列.取标题 (I - 1, X) + 列分割
.计次循环尾 ()
S = 取文本中间 (S, 1, 取文本长度 (S) - 取文本长度 (列分割))
G = G + S + 行分割
S = “”
.如果真结束
.否则
.如果真 (超列.取当前状态图片 (I - 1) = 1)' 检查框被勾选
.计次循环首 (超列.取列数 (), X)
S = S + 超列.取标题 (I - 1, X) + 列分割
.计次循环尾 ()
S = 取文本中间 (S, 1, 取文本长度 (S) - 取文本长度 (列分割))
G = G + S + 行分割
S = “”
.如果真结束
.如果结束
.计次循环尾 ()
.否则
指定列 = “,” + 指定列 + “,”
.计次循环首 (超列.取表项数 (), I)
.如果 (检查框判断 = 假)
.如果真 (超列.是否被选择 (I - 1) = 真)
.计次循环首 (超列.取列数 (), X)
.如果真 (寻找文本 (指定列, “,” + 到文本 (X) + “,”, , 假) > 0)
S = S + 超列.取标题 (I - 1, X) + 列分割
.如果真结束
.计次循环尾 ()
S = 取文本中间 (S, 1, 取文本长度 (S) - 取文本长度 (列分割))
G = G + S + 行分割
S = “”
.如果真结束
.否则
.如果真 (超列.取当前状态图片 (I - 1) = 1)' 检查框被勾选
.计次循环首 (超列.取列数 (), X)
.如果真 (寻找文本 (指定列, “,” + 到文本 (X) + “,”, , 假) > 0)
S = S + 超列.取标题 (I - 1, X) + 列分割
.如果真结束
.计次循环尾 ()
S = 取文本中间 (S, 1, 取文本长度 (S) - 取文本长度 (列分割))
G = G + S + 行分割
S = “”
.如果真结束
.如果结束
.计次循环尾 ()
.如果结束
置剪辑板文本 (G)
.子程序 超列删除选中, , ,bbs.125.la (Joker4tb)
.参数 超列, 超级列表框
.参数 检查框判断, 逻辑型, 可空, 根据检查框状态执行删除操作
.局部变量 I, 整数型
.如果 (检查框判断 = 假)
.变量循环首 (超列.取表项数 () - 1, 0, -1, I)
.如果 (超列.是否被选择 (I) = 真)
超列.删除表项 (I)
.否则
.如果结束
.变量循环尾 ()
.否则
.变量循环首 (超列.取表项数 () - 1, 0, -1, I)
.如果 (超列.取当前状态图片 (I - 1) = 1)' 检查框被勾选
超列.删除表项 (I)
.否则
.如果结束
.变量循环尾 ()
.如果结束
.子程序 超列查找, , ,bbs.125.la (Joker4tb)
.参数 超列, 超级列表框
.参数 欲查找内容, 文本型
.参数 指定列, 文本型, 可空, 用逗号隔开
.参数 返回索引, 整数型, 可空 数组, 传入一个整数型数组变量
.参数 起始行, 整数型, 可空
.参数 结束行, 整数型, 可空
.参数 全字匹配, 逻辑型, 可空
.参数 区分大小写, 逻辑型, 可空
.局部变量 C, 文本型, , "0"
.局部变量 I, 整数型
.局部变量 X, 整数型
.局部变量 S, 文本型
.局部变量 G, 文本型
.局部变量 Idx, 整数型, , "0"
.如果真 (起始行 > 结束行)
返回 ()
.如果真结束
.如果真 (结束行 = 0)
结束行 = 超列.取表项数 ()
.如果真结束
.如果真 (起始行 > 超列.取表项数 () 或 结束行 > 超列.取表项数 ())
返回 ()
.如果真结束
.如果真 (起始行 = 0)
起始行 = 1
.如果真结束
.如果 (指定列 = “”)
.变量循环首 (起始行, 结束行, 1, I)
.计次循环首 (超列.取列数 (), X)
.如果 (全字匹配 = 假)
.如果真 (寻找文本 (超列.取标题 (I - 1, X), 欲查找内容, , 区分大小写) > 0)
超列.选择表项 (I - 1)
加入成员 (Idx, I - 1)
跳出循环 ()
.如果真结束
.否则
.如果真 (超列.取标题 (I - 1, X) = 欲查找内容)
超列.选择表项 (I - 1)
加入成员 (Idx, I - 1)
跳出循环 ()
.如果真结束
.如果结束
.计次循环尾 ()
.变量循环尾 ()
.否则
指定列 = “,” + 指定列 + “,”
.变量循环首 (起始行, 结束行, 1, I)
.计次循环首 (超列.取列数 (), X)
.如果真 (寻找文本 (指定列, “,” + 到文本 (X) + “,”, , 假) > 0)
.如果 (全字匹配 = 假)
.如果真 (寻找文本 (超列.取标题 (I - 1, X), 欲查找内容, , 区分大小写) > 0)
超列.选择表项 (I - 1)
加入成员 (Idx, I - 1)
跳出循环 ()
.如果真结束
.否则
.如果真 (超列.取标题 (I - 1, X) = 欲查找内容)
超列.选择表项 (I - 1)
加入成员 (Idx, I - 1)
跳出循环 ()
.如果真结束
.如果结束
.如果真结束
.计次循环尾 ()
.变量循环尾 ()
.如果结束
返回索引 = Idx
超列.进入编辑 (1)
.子程序 超列排除, , , bbs.125.la (Joker4tb)
.参数 超列, 超级列表框
.参数 排除内容, 文本型
.参数 指定列数, 整数型
.参数 全字匹配, 逻辑型, 可空
.参数 区分大小写, 逻辑型, 可空
.参数 起始行, 整数型, 可空
.参数 结束行, 整数型, 可空
.局部变量 I
.局部变量 X
.如果真 (结束行 = 0)
结束行 = 超列.取表项数 ()
.如果真结束
.如果真 (起始行 > 结束行)
返回 ()
.如果真结束
.变量循环首 (起始行, 结束行, 1, I)
.如果 (全字匹配 = 真)
.如果 (超列.取标题 (I, 指定列数) = 排除内容)
超列.选择表项 (I)
.否则
超列.取消表项选择 (I)
.如果结束
页:
[1]