开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

楼主: 小腊肠
打印 上一主题 下一主题
收起左侧

[已解决] 散尽家产,如何取出多个编辑框或者组合框相同的行内容

 关闭 [复制链接]
结帖率:100% (18/18)
21
 楼主| 发表于 2012-5-13 21:13:42 | 只看该作者   云南省昆明市
难道还是没有人吗?
回复

使用道具 举报

结帖率:100% (18/18)
22
 楼主| 发表于 2012-5-13 22:20:50 | 只看该作者   云南省昆明市
还是没人吗???
回复

使用道具 举报

23
发表于 2012-5-13 22:46:56 | 只看该作者   广西壮族自治区南宁市
佚名ka 发表于 2012-5-13 22:20
还是没人吗???

我试验了一下。可能没什么好办法。
1。生成四个文本文件,里面都是用随机数随机生成的3位的数字。
2。把它们放到列表框中。
3。两两对比,把在四个列表框中都存在的在放到第五个列表框中。

试验的结果:
如果生成的四个文件中的数字,也就是3位一组的数字。它的 数量 有2000个。那么就要用到差不多五秒。才能完成。如果是每个列表框中的数字只有1000个的话,感觉上是一秒半的样子。如果是500个那么只是一闪就可以,应当少于一秒。这就不用说少于500个的情况了。
我是用VC6。0写的。
思路就是前面说的。放到数组,四个数组两两相比,然后得出两个,再次两两相比,得出来的就是结果。不过有重复,这不是问题。至时再把重复的去掉就行。这倒好实现。
做过一些极限试验 5000个数字的话,那就不行了。因为相同数字会达到600万个。用时30秒以上。

所以你可以这样,把这个数字量限制在每个列表框中在1000个以下。这样就能保证速度了。
至于写法。我是用VC6写的,如果你想要我倒是可以给你源码。易语言。。。我好久没用了。有点拿不准。
回复

使用道具 举报

结帖率:100% (18/18)
24
 楼主| 发表于 2012-5-13 22:56:55 | 只看该作者   云南省昆明市
wwh944116 发表于 2012-5-13 22:46
我试验了一下。可能没什么好办法。
1。生成四个文本文件,里面都是用随机数随机生成的3位的数字。
2。把 ...

看来我的思路和你的差不多  我也是这样弄的 开了多线程 不多我不是全部放到数组里面去比较 我是取一个编辑框的内容 分割文本 然后用每一个数组去查找另外一个编辑框的内容 如果找到 则添加到另外一个编辑框

请问下 如何直接放到数组里面去比较呢?
回复

使用道具 举报

25
发表于 2012-5-13 22:57:09 | 只看该作者   广西壮族自治区南宁市
总结来说,就是每个列表框中,把数字分成1000组。如果大于就分开来进行第二次。然后在结果那里再把重复的去掉。事实上用时都是在写到列表框中时出现。在内存中计算时不怎么费时间。
回复

使用道具 举报

结帖率:100% (18/18)
26
 楼主| 发表于 2012-5-13 23:04:45 | 只看该作者   云南省昆明市
wwh944116 发表于 2012-5-13 22:57
总结来说,就是每个列表框中,把数字分成1000组。如果大于就分开来进行第二次。然后在结果那里再把重复的去 ...

每个列表框的数字肯定都小于或者等于1000 这是可以肯定的 呵呵

问题是放在数组里面怎么取出来重复 ?

用精易的模块 文本数组排序?然后取重复?还是怎么地?
回复

使用道具 举报

27
发表于 2012-5-13 23:07:50 | 只看该作者   广西壮族自治区南宁市
佚名ka 发表于 2012-5-13 22:56
看来我的思路和你的差不多  我也是这样弄的 开了多线程 不多我不是全部放到数组里面去比较 我是取一个编辑 ...

可以先取列表框的总项目数,然后定义一个数组。再分别把列表框项目中的文本放到数组中就行了。这样应当能够加快不少的速度。因为在读列表中的数值时会比较费时,而如果项目数很多,累加起来会比较可观的。
另外,你每个列表中的数字的数量达到2000项?如果达到,那么最好先把它们分成500或1000。这样速度应当就可以了。
就软件上,VC不会比易语言快多少的。至于算法。多线程,如果你是四核可能是有效提高速度。如果象我只是双核,可能效果也提不了多少。我的是2GCPU和2G内存。好几年的机子了。
回复

使用道具 举报

结帖率:100% (18/18)
28
 楼主| 发表于 2012-5-13 23:10:51 | 只看该作者   云南省昆明市
wwh944116 发表于 2012-5-13 23:07
可以先取列表框的总项目数,然后定义一个数组。再分别把列表框项目中的文本放到数组中就行了。这样应当能 ...

哥哥 说了那么多还是没说到点子上嘛

能用易语言写个例程吗?我还是不太懂如何取出相同的数组
回复

使用道具 举报

29
发表于 2012-5-13 23:13:51 | 只看该作者   广西壮族自治区南宁市
你影响速度的问题可能就出在要一个一个的读出来,再去读其它的编辑框。这很费时的。一次性把它们全读到数组。再数组中对比。这就应当会快许多倍。
回复

使用道具 举报

结帖率:100% (18/18)
30
 楼主| 发表于 2012-5-13 23:16:28 | 只看该作者   云南省昆明市
wwh944116 发表于 2012-5-13 23:13
你影响速度的问题可能就出在要一个一个的读出来,再去读其它的编辑框。这很费时的。一次性把它们全读到数组 ...

是的啊~~怎么对比呀????
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:[email protected]
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表