EwordsTQ

所属分类:Windows编程
开发工具:Visual Basic
文件大小:8KB
下载次数:9
上传日期:2008-04-09 11:51:05
上 传 者VB妮可
说明:  英文单词抽取纯模块源码 从txt中提取所有的英文单词,并且不重复.. 对txt无要求,可以是中英文混合的. 纯模块的. 无需窗体, VB6的代码
(English words taken from pure source modules extracted from txt all the English words, and do not wish to repeat .. on the txt did not ask for, it can be mixed in both English and Chinese. Pure module. Without form, VB6 code)

文件列表:
MSSCCPRJ.SCC (190, 2008-04-09)
工程1.vbp (708, 2008-04-09)
工程1.vbw (31, 2008-04-09)
提取程序.exe (16384, 2008-04-09)
Module1.bas (6366, 2008-04-09)

原文链接:http://hi.baidu.com/%C4%DD%BF%C9%B1%A6%B1%B4/blog/item/ff65118fb95490fe503d9247.html ================================ 英文单词提取模块, VB6源码 ================================ 在论坛,空间,贴吧,以及Q里面.. 好多老师前辈的帮助... 终于改的效率令自己狠满意.. 下面的源码是纯模块的,使用方法,就是新建工程,然后移出窗体,添加一个模块.. 生成exe时,选择启动执行为sub main.. 不得不说的话.. 我的测试时间比写代码的时间长NN倍..比较了各个模块的不同操作方法之间的速度差. 1.原来试过不同的打开文件的方式..因为原来是按行取单词, 最终定为2进制打开全部文件,直接在所有文本中取单词 2.原来的筛选单词使用过N种方式, 最终定义为逐一取每个字母,判断是否为字母 在最终方式确定下来后,又使用了4种方法来判断...几百次的测试最后取平均值后,发现like方式还是最优的 A> like a-z B> instr ("abcdefg....z",s) >0 C> asc(m) 在97-122之间? D> 呵呵,保密 3.有关单词排序.. 呵呵,不说了, 这个算法花的时间是较长的.. 原来自己的算法不能得到满意效率时, 还采用了隐藏listbox控件来替代排序算法的方式.. 不过最终解决了. 修改后的quicksort专门为我所用呵.. 因为我固定下来了类型的定义呵..效率无疑是目前发现的最好的 4.其实筛选重复单词时, 也动过脑筋, 因为以前在排序时间为最长时, 只有先去除重复单词, 最后再排序时可以节省时间, 后来的排序算法在速度上占据优势时, 就可以将去重复单词放到排序之后, 一个循环后, 即可去除所有重复的单词, 方法可以直接从代码中看到 5.在云霞的引导下, 我看到在他的代码中3000数组的效率可以差2秒以上.. 呵呵,不过在我的代码中,经过不同的测试, 结论是还是不要使用CopyMemory或RtlMoveMemory为好..呵呵,因为单词的长度都很短..甚至短到比内存位置的长整形还短呵. 频繁的调用 api 不仅没使效率加快, 甚至在5000以上单词排序时效率慢了5倍以上.. 呵呵, 程序应该还有bug和不足, 希望大家帮助分析和提供一些更好的思路及方法,谢谢! ..打字累,还是上源码吧.. ^_^ '================================================================ ' ' E文单词提取模块 By VB妮可 ' http://hi.baidu.com/%C4%DD%BF%C9%B1%A6%B1%B4 ' 程序演示: 读写文件,提取字符串,字符串数组排序,字符串数组去重复 ' 友情鸣谢: 云霞散人 , 虚无极 , gcyun , pigpag , AeroDOS ' '================================================================

近期下载者

相关文件


收藏者