| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 531 人关注过本帖
标题:请教有关把数据文件读入文本框的程序问题
只看楼主 加入收藏
jiafeng6
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2007-9-1
收藏
 问题点数:0 回复次数:2 
请教有关把数据文件读入文本框的程序问题
程序实现的功能:打开数据文件输入到text1.text中

Private Sub Command1_Click()
Dim strFilename As String
Dim strLine As String
CommonDialog1.ShowOpen
strFilename = CommonDialog1.FileName
Text1.Text = ""
filenum = FreeFile
If strFilename <> "" Then
Open strFilename For Input As filenum
Do While Not EOF(filenum)
Line Input #filenum, strLine
Text1.Text = Text1.Text + strLine + Chr(13) + Chr(10)
Loop
Close filenum
End If
End Sub
问题:
1、为什么在读入大量的数据的时候会很慢(比如一行5个数据,共8000行的数据)??
2、而且读进TEXT1.TEXT的数据也不全(比如一行5个数据,共8000行的数据,只能读进去一部分)??
比如说把上传的示例数据文件读入,就读不全,而且很慢!

搜索更多相关主题的帖子: 数据文件 文本 
2007-10-09 22:10
放纵思想
Rank: 1
来 自:中
等 级:新手上路
帖 子:29
专家分:0
注 册:2007-6-23
收藏
得分:0 
If strFilename <> "" Then
Open strFilename For Input As filenum
Do While Not EOF(filenum)
Line Input #filenum, strLine
Text1.Text = Text1.Text + strLine + Chr(13) + Chr(10)
Loop
Close filenum
End If


改为:

If strFilename <> "" Then
Dim s As String
Open strFilename For Input As filenum
Do While Not EOF(filenum)
Line Input #filenum, strLine
s = s & strLine & Chr(13) & Chr(10)
'Text1.Text = Text1.Text + strLine + Chr(13) + Chr(10)
Loop
Close filenum
Text1.Text = s
End If



2007-10-09 22:41
放纵思想
Rank: 1
来 自:中
等 级:新手上路
帖 子:29
专家分:0
注 册:2007-6-23
收藏
得分:0 

可以用以下方法测试两种方法的运行时间差别,可以看到方法运行时间为 0 ,而方法二运行时间达到100以上,效率差距是很大的.

Private Declare Function timeGetTime Lib "winmm.dll" () As Long

Private Sub Command1_Click()
Dim StartTime As Long, EndTime As Long, Time1 As Long, Time2 As Long

Dim i As Integer, s As String

'测试第一种方法
StartTime = timeGetTime
For i = 0 To 1000
s = s & CStr(i)
Next
Text1.Text = s
EndTime = timeGetTime
Text1.Text = ""
Time1 = EndTime - StartTime

'测试第二种方法
StartTime = timeGetTime
For i = 0 To 1000
Text1.Text = Text1.Text & CStr(i)
Next

EndTime = timeGetTime
Time2 = EndTime - StartTime

MsgBox "方法一用时: " & CStr(Time1) & " 毫秒" & vbCrLf & _
"方法二用时: " & CStr(Time2) & " 毫秒" & vbCrLf & _
"相差: " & CStr(Time2 - Time1) & " 毫秒"
End Sub

[此贴子已经被作者于2007-10-9 22:56:52编辑过]

2007-10-09 22:55
快速回复:请教有关把数据文件读入文本框的程序问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.028085 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved