怀念一片叶子 发表于 2017-10-30 15:48:36

大文本读取至列表框(超级列表框或虚表)

本帖最后由 怀念一片叶子 于 2017-10-30 15:51 编辑

源文本 无非就是 账号----密码这样,百万的数据在100M以内,不存在变量放不下这么一说

个人实现思路如下
用快速文本 先将整行的内容加载至文本数组中,测试双核CPU 处理200万行的数据需要6分钟

.版本 2
.支持库 commobj
.支持库 spec

.子程序 子程序1
.参数 文件, 文本型
.局部变量 text, 快速文本对象
.局部变量 sz, 文本型, , "0"
.局部变量 sz_, 文本型, , "0"
.局部变量 账号, 文本型, , "0"
.局部变量 密码, 文本型, , "0"
.局部变量 i, 整数型

调试输出 (取现行时间 ())
text.从文件读 (文件)
sz = text.分割文本 (#换行符, )
.counter (取数组成员数 (sz), i)
    sz_ = 分割文本 (sz , “----”, )
    加入成员 (账号, sz_ )
    加入成员 (密码, sz_ )
.CounterLoop ()
清除数组 (sz)
清除数组 (sz_)
调试输出 (取现行时间 ())



用打开文件在3分钟左右

.版本 2
.支持库 spec

.子程序 子程序1
.参数 文件, 文本型
.局部变量 文件号, 整数型
.局部变量 sz, 文本型, , "0"
.局部变量 账号, 文本型, , "0"
.局部变量 密码, 文本型, , "0"
.局部变量 i, 整数型

调试输出 (取现行时间 ())
文件号 = 打开文件 (文件, , )
移到文件首 (文件号)
.while (是否在文件尾 (文件号, 真) = 假)
    sz = 分割文本 (读入一行 (文件号), “----”, )
    加入成员 (账号, sz )
    加入成员 (密码, sz )
.wend ()
清除数组 (sz)
调试输出 (取现行时间 ())





光读取文件就已经用了3分钟,即使边读取边插入超级列表框都需要10分钟以上,
有没有大佬有更好的实现思路给个例子。

揰掵佲 发表于 2017-10-30 16:54:37

这样很慢的。。。。你不如直接用代码编辑框

怀念一片叶子 发表于 2017-10-30 19:31:50

揰掵佲 发表于 2017-10-30 16:54
这样很慢的。。。。你不如直接用代码编辑框

虫大能扔我个例子么

揰掵佲 发表于 2017-10-30 19:49:32

怀念一片叶子 发表于 2017-10-30 19:31
虫大能扔我个例子么

QQ已经告诉你了
页: [1]
查看完整版本: 大文本读取至列表框(超级列表框或虚表)