精易论坛

标题: TXT大文本加入超级列表框,修改的别人的源码 [打印本页]

作者: lufanjingyi    时间: 2018-5-22 21:16
标题: TXT大文本加入超级列表框,修改的别人的源码
原本使用的读入文件,导入 300000条数据需要15秒 ,现在只需要1秒  

修改前源码来自:https://125.confly.eu.org/thread-13862315-1-1.html


TXT大文本加入超级列表框.zip

32.56 KB, 下载次数: 802, 下载积分: 精币 -2 枚


作者: xxins    时间: 2018-5-22 22:29
快速读取很厉害
作者: 神盾科学    时间: 2018-5-22 22:52
快速读取很厉害
作者: wangguan    时间: 2018-5-22 22:58
虚表操作吧
作者: huxian    时间: 2018-5-23 10:53
哈哈彗星不错哦
作者: cf2006a    时间: 2018-5-23 12:50
下个学习下!~~~~~~~
作者: zz5201314    时间: 2018-5-23 13:39
快速读取很厉害
作者: 2519141563    时间: 2018-5-23 14:04
提示: 作者被禁止或删除 内容自动屏蔽
作者: q240609182    时间: 2018-5-23 14:05
不知道读入亿级的数据如何
作者: Mr_leaf    时间: 2018-5-23 17:39
看下怎么使用虚表模块的
作者: Mr_leaf    时间: 2018-5-23 17:44
所谓一秒读入,看下源码就知道 怎么回事了,显示需要十几秒钟,还不用如代码框来的快,显示只需要2-3秒,也看配置

再一个软件关掉以后,内存不释放
作者: 不会英文学习易    时间: 2018-5-23 18:00
支持开源,感谢分享
作者: 菜鸟杰西卡    时间: 2018-5-24 08:59
提示: 作者被禁止或删除 内容自动屏蔽
作者: AHHFLQ    时间: 2018-5-25 08:25

感谢分享,收藏了
作者: y252999822    时间: 2018-5-26 00:02
用的 彗星虚表,如果只能显示,不能修改 某行某列的内容,用处不是很大!!!!!
作者: lkj1993    时间: 2018-5-29 10:28
谢谢分享思路
作者: rpptliang    时间: 2018-5-29 15:44
直接用字节集处理好再重画就行啦,比这个更快
作者: lufanjingyi    时间: 2018-5-29 19:09
asd80126232 发表于 2018-5-29 15:44
直接用字节集处理好再重画就行啦,比这个更快

请写个例子  谢谢
作者: msicleo    时间: 2018-5-30 14:10
非常感谢·············
作者: 蒲公半岛    时间: 2018-5-30 15:38
感谢分享 学习一下
作者: rpptliang    时间: 2018-5-30 20:54
lufanjingyi 发表于 2018-5-29 19:09
请写个例子  谢谢
  1. .版本 2
  2. .支持库 commobj
  3. .支持库 iext

  4. .子程序 超级列表框_导入文本, , 公开
  5. .参数 参_超级列表框, 超级列表框
  6. .参数 参_文件路径, 文本型, 可空, 路径优先
  7. .参数 参_文本, 文本型, 可空, 路径为空时导入文本
  8. .参数 参_分隔符, 文本型, 可空, 默认"----"
  9. .参数 参_导入列数, 整数型, 可空, 默认1
  10. .参数 参_保留原先数据, 逻辑型, 可空, 默认为真
  11. .参数 参_总耗时, 整数型, 参考 可空
  12. .参数 参_是否有加密, 逻辑型, 可空
  13. .参数 参_构造耗时, 整数型, 参考 可空
  14. .局部变量 字节集, 快速字节集对象
  15. .局部变量 文本, 快速文本对象
  16. .局部变量 文本数组, 文本型, , "0"
  17. .局部变量 计次, 整数型
  18. .局部变量 单行文本, 文本型
  19. .局部变量 开始时间, 整数型
  20. .局部变量 原表项数, 整数型
  21. .局部变量 总数, 整数型
  22. .局部变量 已处理, 整数型
  23. .局部变量 内循环数, 整数型

  24. 开始时间 = 取启动时间 ()

  25. .如果真 (是否为空 (参_分隔符))
  26.     参_分隔符 = “----”
  27. .如果真结束
  28. .如果真 (参_导入列数 < 1)
  29.     参_导入列数 = 1
  30. .如果真结束
  31. .如果真 (参_文件路径 ≠ “”)  ' 路径优先
  32.     文本.从文件读 (参_文件路径)
  33. .如果真结束
  34. .如果真 (参_文件路径 = “” 且 参_文本 ≠ “”)
  35.     文本.置文本 (参_文本)
  36. .如果真结束

  37. 文本数组 = 文本.分割文本 (#换行符, )
  38. 文本.清除文本 ()

  39. .如果真 (是否为空 (参_保留原先数据))
  40.     参_保留原先数据 = 真
  41. .如果真结束
  42. .如果真 (参_保留原先数据)
  43.     原表项数 = 参_超级列表框.取表项数 ()
  44.     字节集.添加 (参_超级列表框.表项)
  45. .如果真结束

  46. 总数 = 取数组成员数 (文本数组)
  47. 已处理 = 0

  48. .判断循环首 (已处理 < 总数)
  49.     内循环数 = 选择 (总数 - 已处理 < 10000, 总数 - 已处理, 10000)  ' 分块处理  减少卡顿  或者可以多线程构造?思路而已...
  50.     .计次循环首 (内循环数, 计次)
  51.         .' 如果 (参_是否有加密)
  52.             ' 单行文本 = 功能_动态解密 (文本数组 [计次])
  53.         .否则
  54.             单行文本 = 文本数组 [已处理 + 计次]
  55.         .如果结束
  56.         字节集.添加 ({ 0, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0 } + 到字节集 (到文本 (已处理 + 计次 + 原表项数)) + { 0, 0 } + 超级列表框_表项字节集 (单行文本, 参_分隔符, 参_导入列数, ))
  57.     .计次循环尾 ()
  58.     已处理 = 已处理 + 内循环数
  59.     处理事件 ()
  60. .判断循环尾 ()


  61. .' 计次循环首 (取数组成员数 (文本数组), 计次)
  62.     .' 如果 (参_是否有加密)
  63.         ' ' 单行文本 = 功能_动态解密 (文本数组 [计次])
  64.     .否则
  65.         ' 单行文本 = 文本数组 [计次]
  66.     .如果结束
  67.     ' 字节集.添加 ({ 0, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0 } + 到字节集 (到文本 (计次 + 原表项数)) + { 0, 0 } + 超级列表框_表项字节集 (单行文本, 参_分隔符, 参_导入列数, ))
  68. .' 计次循环尾 ()

  69. 参_构造耗时 = 取启动时间 () - 开始时间

  70. 参_超级列表框.可视 = 假  ' 可视的话会耽误更多时间
  71. 参_超级列表框.禁止重画 ()
  72. 参_超级列表框.表项 = 字节集.取字节集 (, )
  73. 参_超级列表框.可视 = 真
  74. 参_超级列表框.允许重画 ()

  75. 字节集.清除字节集 ()

  76. 参_总耗时 = 取启动时间 () - 开始时间


  77. .子程序 超级列表框_表项字节集, 字节集, 公开
  78. .参数 参_文本, 文本型
  79. .参数 参_分隔符, 文本型
  80. .参数 参_列数, 整数型
  81. .参数 参_从第0列开始, 逻辑型, 可空
  82. .局部变量 局_数组, 文本型, , "0"
  83. .局部变量 局_计次, 整数型
  84. .局部变量 局_字节集, 字节集
  85. .局部变量 局_列数, 整数型

  86. ' 0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,内容,0,0
  87. ' 1,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,内容,0,0,
  88. ' 1,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,内容,0,0,
  89. ' 1,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,内容,0,0,

  90. ' 0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,内容,0,0
  91. ' 1,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,内容,0,0,
  92. ' 1,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,内容,0,0,
  93. ' 1,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,内容,0,0,

  94. 局_数组 = 分割文本 (参_文本, 参_分隔符, 参_列数)
  95. 局_列数 = 取数组成员数 (局_数组)
  96. .如果真 (局_列数 = 0)
  97.     返回 ({  })
  98. .如果真结束
  99. .计次循环首 (局_列数, 局_计次)
  100.     局_字节集 = 局_字节集 + { 1, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0 } + 到字节集 (局_数组 [局_计次]) + { 0, 0 }
  101. .计次循环尾 ()
  102. .如果真 (参_从第0列开始)
  103.     局_字节集 = { 0 } + 取字节集右边 (局_字节集, 取字节集长度 (局_字节集) - 1)
  104. .如果真结束

  105. 返回 (局_字节集)
复制代码


这样操作的好处就是直接字节集操作不需要每次都等易语言的控件刷新一次,也不用像虚表那样操作不了
作者: huakeha    时间: 2018-6-23 15:50
好东西,收藏了。
作者: 天雨时晴    时间: 2018-6-29 18:44
谢谢分享学习学习
作者: l0447195    时间: 2018-6-29 19:27
x辛苦辛苦,虽然不懂
作者: bai171067631    时间: 2018-7-16 20:11
支持支持支持支持支持支持
作者: 153695923    时间: 2018-8-15 11:15
支持支持支持支持支持支持
作者: longsui48    时间: 2018-8-27 21:39
6666666666666666666
作者: legewudi    时间: 2018-9-7 10:07
试了一下,很快
作者: anying860452    时间: 2018-9-12 15:41
试了一下,很快
作者: 网络注册络员    时间: 2018-9-14 09:49
下来试一试
作者: 网络注册网员    时间: 2018-9-17 11:31
下来试一试
作者: bobodh    时间: 2019-3-6 23:04
下来试一试
作者: 1996118a    时间: 2019-3-7 04:13
下来试一试
作者: E世繁华    时间: 2019-3-24 11:21
下载之前先回复,这是一种美德
作者: chenuqiang    时间: 2019-4-11 13:47
下载之前先回复,这是一种美德
作者: wexiaom    时间: 2019-4-11 23:17
下载学习。。。。。。。。。。。。。。
作者: 悟心猎手    时间: 2019-4-17 08:57
下载学习。。。。。。。。。。
作者: dashang    时间: 2019-9-25 16:47
感谢开源!~支持1~
作者: wuriyuan    时间: 2019-11-1 09:14
感谢开源!~支持1~
作者: 397251773    时间: 2019-12-21 21:41
感谢~~~~~~~~~
作者: jj00520    时间: 2020-4-23 17:19
TXT大文本加入超级列表框.zip
作者: yangdashi    时间: 2020-5-23 03:44
太厉害了
作者: 蓝色666    时间: 2020-11-7 14:58
学习一下
作者: 11490013    时间: 2021-1-17 13:12
这个必须学习一下
作者: 11490013    时间: 2021-1-17 13:12
感谢楼主的无私分享精神
作者: 孤城已故    时间: 2021-1-18 07:04
666666666666666
作者: zifeiyu    时间: 2021-4-13 18:15
..............
作者: benxiaohai2004    时间: 2021-6-19 16:59
感谢楼主分享
作者: HuangQAQ    时间: 2022-2-12 14:31
谢谢谢谢谢
作者: JYYeah    时间: 2022-3-23 18:33

学习一下
作者: 莱美影像    时间: 2022-4-6 16:48
测试870w条数据,文件尺寸90M,导入后,会崩溃
作者: zhong314085472    时间: 2022-7-17 14:28
刚好需要,不知道会不会卡
作者: qq1132    时间: 2023-4-18 06:56
adsadsasdaasdad
作者: D名俾人改晒    时间: 2023-5-27 21:56
66666666666666666666666666666666
作者: 603007856    时间: 2023-5-29 18:37
66666666666666666666
作者: 603007856    时间: 2024-5-10 15:47
6666666666666666666666




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