VB读取DAT文件问题
我有一个DAT文件stulnfo.dat,数据前几条如下999999999里小东False21111111111莉莉True20333333333大卫False23666...
我有一个DAT文件stulnfo.dat,数据前几条如下
999999999 里小东 False 21
111111111 莉莉 True 20
333333333 大卫 False 23
666666666 王维 False 22
然后代码如下
Open "d:\vb\stulnfo.dat" For Input As #1
ReDim myArray(LOF(1))
Do While Not EOF(1)
Input #1, myArray(i)
Loop
Close #1
For i = 1 To 10
Print myArray(i)
Next i
我执行后为什么是空的,什么也没显示出来??
哈哈我自己弄出来了!在不知道DAT文件有多少条数据的情况下
代码如下:
Dim myArray() As String
Private Sub Command1_Click()
Open "d:\vb\stulnfo.dat" For Input As #1
iline = 1
Do While Not EOF(1)
If EOF(1) = False Then
iline = iline
End If
For i = 1 To iline
ReDim myArray(iline)
Line Input #1, myArray(i)
Print myArray(i)
Next i
Loop
Close #1 展开
999999999 里小东 False 21
111111111 莉莉 True 20
333333333 大卫 False 23
666666666 王维 False 22
然后代码如下
Open "d:\vb\stulnfo.dat" For Input As #1
ReDim myArray(LOF(1))
Do While Not EOF(1)
Input #1, myArray(i)
Loop
Close #1
For i = 1 To 10
Print myArray(i)
Next i
我执行后为什么是空的,什么也没显示出来??
哈哈我自己弄出来了!在不知道DAT文件有多少条数据的情况下
代码如下:
Dim myArray() As String
Private Sub Command1_Click()
Open "d:\vb\stulnfo.dat" For Input As #1
iline = 1
Do While Not EOF(1)
If EOF(1) = False Then
iline = iline
End If
For i = 1 To iline
ReDim myArray(iline)
Line Input #1, myArray(i)
Print myArray(i)
Next i
Loop
Close #1 展开
3个回答
展开全部
你循环错了
你用for好了
改成
Open "d:\vb\stulnfo.dat" For Input As #1
ReDim myArray(LOF(1))
For i = 1 To 4
Line Input #1, myArray(i)
Next i
Close #1
For i = 1 To 4
Print myArray(i)
Next i
如果你要添加记录什么的不只4条的话,就就在第一行写下总共的行数再读取第一行为末尾条数就可以了
你用for好了
改成
Open "d:\vb\stulnfo.dat" For Input As #1
ReDim myArray(LOF(1))
For i = 1 To 4
Line Input #1, myArray(i)
Next i
Close #1
For i = 1 To 4
Print myArray(i)
Next i
如果你要添加记录什么的不只4条的话,就就在第一行写下总共的行数再读取第一行为末尾条数就可以了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Input #1, myArray(i)
这一句中的i没有意义。
i值恒为0,而你最后读出的是1至10,显然出现空值。
这一句中的i没有意义。
i值恒为0,而你最后读出的是1至10,显然出现空值。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
给两个通用函数你
自己看着用
你自己试试
msgbox openfile("读入文件的绝对路径")
Public Function openfile(ByVal filepath As String) As String
Dim s As String
Open filepath For Input As #1
While Not EOF(1)
Line Input #1, sline
s = s & sline & vbCrLf
Wend
Close #1
openfile = s
End Function
Public Function savefile(ByVal filepath As String, ByVal txt As String)
Open filepath For Output As #1
Print #1, txt
Close #1
End Function
Function disStr(ByVal vstr As String) As String '文件路径/\字符处理函数
If Right$(vstr, 1) <> "\" And Right$(vstr, 1) <> "/" And vstr <> "" Then
disStr = vstr & "\"
Else
disStr = vstr
End If
End Function
自己看着用
你自己试试
msgbox openfile("读入文件的绝对路径")
Public Function openfile(ByVal filepath As String) As String
Dim s As String
Open filepath For Input As #1
While Not EOF(1)
Line Input #1, sline
s = s & sline & vbCrLf
Wend
Close #1
openfile = s
End Function
Public Function savefile(ByVal filepath As String, ByVal txt As String)
Open filepath For Output As #1
Print #1, txt
Close #1
End Function
Function disStr(ByVal vstr As String) As String '文件路径/\字符处理函数
If Right$(vstr, 1) <> "\" And Right$(vstr, 1) <> "/" And vstr <> "" Then
disStr = vstr & "\"
Else
disStr = vstr
End If
End Function
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询