- .版本 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 [x], 到文本 (到数值 (超级列表框.取标题 (a, 合并列数c [x])) + 到数值 (超级列表框.取标题 (b, 合并列数c [x]))))
- .计次循环尾 ()
- .如果真结束
- .如果真结束
- .如果结束
- .计次循环尾 ()
- .如果结束
- .计次循环尾 ()
- .计次循环首 (表项数, 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 [I], 列分割, , 假) > 0)
- C = 分割文本 (S [I], 列分割, )
- .如果真 (取数组成员数 (C) > 0)
- L = 超列.取表项数 ()
- 超列.插入表项 (, C [1], , , , )
- .计次循环首 (取数组成员数 (C) - 1, X)
- 超列.置标题 (L, X, C [X + 1])
- .计次循环尾 ()
- .如果真结束
- .如果真结束
- .计次循环尾 ()
- .子程序 超列全选, , , 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)
- .如果结束
复制代码
联系我时,请说是在 挂海论坛 上看到的,谢谢! |