精易论坛

标题: 易语言超级列表框筛选的问题 [打印本页]

作者: Eyy讲师小歪    时间: 2017-5-5 20:15
标题: 易语言超级列表框筛选的问题
这是一个易友在问题区提问的问题,我帮他解决了一下,虽然问题解决了,但是代码量太大,我想和广大的易友们一起讨论有没有更简单的方法,我现在说一下这个易友的要求,他就是想单击了 “取出没有过滤的QQ号是否登录” 这个按钮后筛选出除了编辑框1里的QQ之外其他的QQ号,希望和广大的易友们一起讨论更简单的方法,我这个方法太麻烦了。


下面是我的代码!

  
窗口程序集名保 留  保 留备 注
窗口程序集_启动窗口   
子程序名返回值类型公开备 注
_按钮1_被单击  
数组清零 (分割文本_全)
数组清零 (表项文本_全)
数组清零 (带判断的文本_全)
数据收集子程序 ()
子程序名返回值类型公开备 注
数据收集子程序  
变量名类 型静态数组备 注
计次变量_局整数型 
表项总数_全 = 超级列表框.取表项数 ()
分割文本_全 = 分割文本 (编辑框1.内容, “|”, )
数据分析子程序 ()
子程序名返回值类型公开备 注
数据分析子程序  
变量名类 型静态数组备 注
a逻辑型 
' 写入目标 (表项文本_全 [计次变量_局] + “   ” + 超级列表框.取标题 (到整数 (计次变量_局) - 到整数 (1), 2))
' 判断循环首 (表项文本_全 [计次变量_局] ≠ 分割文本_全 [计次变量2_局])
计次循环首 (表项总数_全, 计次变量_局)
' 表项文本_全 [计次变量_局] = 超级列表框.取标题 (计次变量_局 - 1, 1)
加入成员 (表项文本_全, 超级列表框.取标题 (计次变量_局 - 1, 1))
调试输出 (表项文本_全 [计次变量_局])
计次循环首 (取数组成员数 (分割文本_全), 计次变量2_局)
调试输出 (“即将判断 ” + 表项文本_全 [计次变量_局]“ 和 ” + 分割文本_全 [计次变量2_局]“ 是否相同”)
判断 (表项文本_全 [计次变量_局] ≠ 分割文本_全 [计次变量2_局])
调试输出 (“他们两个不相同,已经调用写入目标程序”)
判断 (计次变量2_局 = 取数组成员数 (分割文本_全))
调试输出 (“这个已经是最后一个了,我们对他进行写入!”)
写入目标 (表项文本_全 [计次变量_局]“   ” + 超级列表框.取标题 (到整数 (计次变量_局)到整数 (1), 2))
调试输出 (“这不是最后一个,还要继续判断!@”)

调试输出 (“他们两个相同,跳出循环”)
跳出循环 ()

计次循环尾 ()
计次循环尾 ()
调试输出 (取数组成员数 (带判断的文本_全))
计次循环首 (取数组成员数 (带判断的文本_全), 计次变量3_局)
编辑框2.内容 = 编辑框2.内容 + 带判断的文本_全 [计次变量3_局]#换行符
计次循环尾 ()
子程序名返回值类型公开备 注
写入目标  
参数名类 型参考可空数组备 注
写入内容文本型
变量名类 型静态数组备 注
局内判断整数型 
' 加入成员 (带判断的文本_全, 表项文本_全 [计次变量_局] + “   ” + 超级列表框.取标题 (到整数 (计次变量_局) - 到整数 (1), 2))
局内判断 = 取数组成员数 (带判断的文本_全)
调试输出 (局内判断)
如果 (局内判断 = 0)
调试输出 (“我们在对是否重复做判断,因为这是第一个,所以不用判断,直接写入!@”)
加入成员 (带判断的文本_全, 写入内容)
判断 (带判断的文本_全 [局内判断] = 写入内容)
调试输出 (“我们在对是否重复做判断,这个已经写入了,我们不继续写入!”)
返回 ()
调试输出 (“我们在对是否重复做判断,这个没有写入过,我们写入@!”)
加入成员 (带判断的文本_全, 写入内容)


' 带判断的文本_全 [计次变量_局] = 表项文本_全 [计次变量_局] + “   ” + 到文本 (到整数 (计次变量_局) + 到整数 (1))
子程序名返回值类型公开备 注
__启动窗口_创建完毕  



i支持库列表   支持库注释   
iext扩展界面支持库一
spec特殊功能支持库

超级列表框判断.e

7.17 KB, 下载次数: 42, 下载积分: 精币 -2 枚

这个是我做的,虽然效果是实现了,但是代码量太大!


作者: pwind    时间: 2017-5-5 22:09
  
子程序名返回值类型公开备 注
_按钮1_被单击  
变量名类 型静态数组备 注
i整数型 
计次循环首 (超级列表框.取表项数 (), i)
如果真 (寻找文本 (编辑框1.内容, 超级列表框.取标题 (i - 1, 1), , ) = -1)
编辑框2.加入文本 (超级列表框.取标题 (i - 1, 1)“|” + 超级列表框.取标题 (i - 1, 2)#换行符 )

计次循环尾 ()


i支持库列表   支持库注释   
iext扩展界面支持库一


难道不是这样就可以了吗。。
计次取出超级列表框的标题跟编辑框1对比,没找到就是没过滤啊。。

作者: 老表    时间: 2017-5-7 13:56
提示: 作者被禁止或删除 内容自动屏蔽
作者: kyo9766    时间: 2017-5-8 10:25
pwind 发表于 2017-5-5 22:09
[e=1].版本 2
.支持库 iext

正解,每个表项判断一下,没有的就写出到编辑框
作者: twc731    时间: 2017-5-12 14:59
厉害。   磨边了
作者: 圣魂々煌    时间: 2017-5-23 15:03
你这个的确看起来好复杂的样子,思路也对,不过实现过程太复杂,一起研究一下看看
作者: 80985808    时间: 2017-8-3 14:55
学习一下  




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4