一百万条保存在一个数组中?我晕。不了解你那文件中的数据是什么样的,也不知道你想做什么,所以暂不提程序的效率问题了。只解答楼主提出的问题: Private Sub Form_Load() Dim i As Long
'' 强制窗口显示 Me.Show DoEvents
'' 读数据 For i = 0 To 99999999 Me.Caption = i DoEvents Next End Sub 尽管上面的代码可以实现你的要求,但它不是最科学的方案,因为你可能无法在此期间终止程序的执行。另外,还可以利用Private Sub Form_Activate()事件,就不需要Mw.SHow语句了,但此方法的最大问题就在于在程序的运行过程中,Activate事件可能多次发生。
另外,可以把读取过程放在Private Sub Form_Activate()中,在Activate中加入一个条件,判断一下数据是否已经读过,以避免多次发生此事件时重复读取数据。比如:Private Sub Form_Activate() if Me.Tag="" then 读数据... Me.Tag="1" end if End Sub
Private Sub Form_Load()
Dim i As Long
'' 强制窗口显示
Me.Show
DoEvents
'' 读数据
For i = 0 To 99999999
Me.Caption = i
DoEvents
Next
End Sub
尽管上面的代码可以实现你的要求,但它不是最科学的方案,因为你可能无法在此期间终止程序的执行。另外,还可以利用Private Sub Form_Activate()事件,就不需要Mw.SHow语句了,但此方法的最大问题就在于在程序的运行过程中,Activate事件可能多次发生。
Private Sub Form_Load()
Dim i As Long
' ' 强制窗口显示
Me.Show
DoEvents
End Sub Private Sub Form_Activate()
' ' 读数据
For i = 0 To 99999999
Me.Caption = i
DoEvents
Next
End Sub
一般来讲这种问题都用多线程来解决或者用 createfile , read/writefile (异步读写文件)
Do Until EOF(1)
Line Input #1, nextline
b =nextline
'在此处与搜索关键词对照
'记录搜索结果
Loop
读数据...
Me.Tag="1"
end if
End Sub