TC官方合作论坛

 找回密码
 立即注册
查看: 377|回复: 6

[问题] 求助:循环文件遍历速度会越来越慢

[复制链接]
发表于 2022-1-15 18:09:34 来自手机 | 显示全部楼层 |阅读模式

马上加入TC

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
我做了个循环文件遍历,运行时间越长,遍历速度越慢,请问有没有办法优化
回复

使用道具 举报

发表于 2022-2-9 14:12:33 | 显示全部楼层
syyangyuan 发表于 2022-2-7 16:20
请问 怎么在每次写入编辑框内容  发送一个换行符
而不是文本追加

msg=msg & "\r\n"

评分

参与人数 1威望 +10 金币 +10 收起 理由
syyangyuan + 10 + 10 很给力!

查看全部评分

回复 支持 1 反对 0

使用道具 举报

发表于 2022-1-15 20:14:15 | 显示全部楼层
首先确定一下你的代码逻辑有没有问题,先不考虑这一点的话,如果被遍历的文件夹内的文件是固定不变的,那么可以把文件夹内的所有文件路径保存在数组里面循环使用即可,如果文件夹里面的文件是经常要新增或者删减的,那么可以在进行上述操作时把对应路径从数组内追加或剔除.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-1-16 16:36:25 | 显示全部楼层
我后来发现了慢的原因,是因为我编辑框内容太长的原因 ,怎么固定编辑框内容行数 比数说 超过100行,自动删除之前数据
回复 支持 反对

使用道具 举报

发表于 2022-1-23 20:59:15 | 显示全部楼层
本帖最后由 minews 于 2022-1-23 21:03 编辑

我猜你用的字符串拼接的方式吧? 这样肯定是不行的 字符串越长 拼接越慢 比较好点的方法应该是用发消息的方式给文本框追加字本
  1.     var length = windowsendmessage(edithwnd, 14, 0, 0)//获取文本长度
  2.     if(length >= 30000 - 2)  //已经超出TC文本框支持的最大字符数
  3.         windowsendmessage(edithwnd, 177, 0, -1)//选中全部 ,发送文本的时候将会覆盖全部
  4.     else
  5.         windowsendmessage(edithwnd, 177, -1, -1)//选中末尾 0个字符 ,发送文本的时候将会覆盖最后0个字符,也就是追加文本
  6.     end
  7.     windowsendmessage(edithwnd, 194, 0, msg)    //发送文本
  8.     windowsendmessage(edithwnd, 277, 7, 0)    //滚动到底
复制代码


回复 支持 反对

使用道具 举报

发表于 2022-2-7 16:20:09 | 显示全部楼层
minews 发表于 2022-1-23 20:59
我猜你用的字符串拼接的方式吧? 这样肯定是不行的 字符串越长 拼接越慢 比较好点的方法应该是用发消息的方 ...

请问 怎么在每次写入编辑框内容  发送一个换行符
而不是文本追加
回复 支持 反对

使用道具 举报

发表于 2022-2-11 14:52:16 | 显示全部楼层

谢谢 困扰了我的问题解决了
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18045623号)

GMT+8, 2022-5-25 13:13 , Processed in 0.043568 second(s), 27 queries .

Powered by 海安简单软件服务部

© 2008-2019 版权所有 保留所有权利

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