求教如何提高执行速度,谢谢!!!!

ahbc123 2003-03-10 08:17:25
在文本中(1.txt)找到RQ,ZF,GS,写入2.DAT里,求教加一个判断,如果bb.rRQ = CDate(Trim(RQ))bb.zZF = ZF和,就不加入,如不等于,就加入,另求教如何提高执行速度,谢谢!!!!
Dim MC As String * 6
Dim RQ As String * 12
Dim ZF As String * 40
Dim GS As String * 10
Dim bL As String * 10
Dim filetxt As String, x As Variant, i As Integer, ii As Integer, Lines As Integer, FileName As String

Dim bb As Record2
Dim aa As Record1

On Error Resume Next

Open App.Path & "\1.txt" For Binary As #2
Get #2, , filetxt
x = Split(filetxt, vbCrLf)
Lines = UBound(x)
For i = 0 To Lines - 1
If InStr(x(i), "22") > 0 Then
RQ = Mid(x(i + 1), InStr(x(i + 1), ":") + 21, 10)
For hs = i + 2 To i + 6
ZF = Mid(x(hs), 1, 2)
GS = Mid(x(hs), 3, 6)

Open App.Path & "\2.dat" For Binary Access Read Write As #3
Seek #3, LOF(3) + 1
bb.rRQ = CDate(Trim(RQ))
bb.zZF = ZF
bb.gGS = GS
bb.bbL = ""
Put #3, , bb
Close #3
Next
Exit For
End If
Next i
Close #2
...全文
19 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
ahbc123 2003-03-11
  • 打赏
  • 举报
回复
谢谢几位高手,我试过,可出错,请几位高手帮助写一下好吗,谢谢!!!!!
用户 昵称 2003-03-10
  • 打赏
  • 举报
回复
1)把一次性操作放到循环外面
2)如果需要参数数组,也放到循环外
3)越大的循环越靠里面
4)适当使用缓存,减少i/o操作次数
dingyanwei 2003-03-10
  • 打赏
  • 举报
回复
速度慢好像是由于频繁打开文件造成的吧。
不如建立一个大数组,然后将结果保存到数组,最后再写入文件。
ClientDC 2003-03-10
  • 打赏
  • 举报
回复
把 Open App.Path & "\2.dat" For Binary Access Read Write As #3 放到 for 循环外
打开文件很耗时

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧