
请教VB老手line input函数问题
以下是svr.ini文件内容pagewhith=2700pathhight=1400server=192.168.1.2以下是程序代码:PrivateSubForm_Cl...
以下是svr.ini文件内容
pagewhith=2700
pathhight=1400
server=192.168.1.2
以下是程序代码:
Private Sub Form_Click()
Dim getini As String
Dim txtline As String
Open "C:\Program Files\Microsoft Visual Studio\VB98\svr.ini" For Input As #1
Do Until EOF(1) = True
Line Input #1, txtline
Print txtline
If Left(txtline, 7) = "server=" Then getini = Right(txtline, Len(txtline) - 7)
Print getini
Exit Do
Loop
Close #1
End Sub
为什么程序运行每次都只能读取到svr.ini文件的第一行呢?烦死,也不知道哪里错了,还望知道的不惜指点。谢谢。 展开
pagewhith=2700
pathhight=1400
server=192.168.1.2
以下是程序代码:
Private Sub Form_Click()
Dim getini As String
Dim txtline As String
Open "C:\Program Files\Microsoft Visual Studio\VB98\svr.ini" For Input As #1
Do Until EOF(1) = True
Line Input #1, txtline
Print txtline
If Left(txtline, 7) = "server=" Then getini = Right(txtline, Len(txtline) - 7)
Print getini
Exit Do
Loop
Close #1
End Sub
为什么程序运行每次都只能读取到svr.ini文件的第一行呢?烦死,也不知道哪里错了,还望知道的不惜指点。谢谢。 展开
2个回答
展开全部
你的Exit Do的作用
你的Exit Do根本不在一个条件语句里,只是一个顺序结构,所以当你的程序读完第一行的时候,txtline就赋值第一行,然后就执行Exit Do了,所以Do 循环只循环一次就跳出了,所以只能读取第一行!!
这就是你每次都读取一行的原因!!
我看你的意思应该是这样吧;
Private Sub Form_Click()
Dim getini As String
Dim txtline As String
Open "C:\Program Files\Microsoft Visual Studio\VB98\svr.ini" For Input As #1
Do Until EOF(1) = True
Line Input #1, txtline
Print txtline
If Left(txtline, 7) = "server=" Then ‘ 把Exit Do放到条件语句里
getini = Right(txtline, Len(txtline) - 7)
Print getini
Exit Do
end if
Loop
Close #1
End Sub
回答补充;我看你的程序啊,也许是你对
if then ………
和
if then
……
……
end if
他们的区别不太熟悉,建议你去看一下,你就明白了!!
你的Exit Do根本不在一个条件语句里,只是一个顺序结构,所以当你的程序读完第一行的时候,txtline就赋值第一行,然后就执行Exit Do了,所以Do 循环只循环一次就跳出了,所以只能读取第一行!!
这就是你每次都读取一行的原因!!
我看你的意思应该是这样吧;
Private Sub Form_Click()
Dim getini As String
Dim txtline As String
Open "C:\Program Files\Microsoft Visual Studio\VB98\svr.ini" For Input As #1
Do Until EOF(1) = True
Line Input #1, txtline
Print txtline
If Left(txtline, 7) = "server=" Then ‘ 把Exit Do放到条件语句里
getini = Right(txtline, Len(txtline) - 7)
Print getini
Exit Do
end if
Loop
Close #1
End Sub
回答补充;我看你的程序啊,也许是你对
if then ………
和
if then
……
……
end if
他们的区别不太熟悉,建议你去看一下,你就明白了!!
展开全部
Dim getini As String
Dim txtline As String
Open "d:\svr.ini" For Input As #1
Do Until EOF(1) = True
Line Input #1, txtline
Print txtline
If Left(txtline, 7) = "server=" Then
getini = Right(txtline, Len(txtline) - 7)
Print getini
Exit Do
End If
Loop
Close #1
估计这才是你所需要的结果!
因为你无论你是否前7位字符时不是server=,都将在程序中遇到exit do,循环就跳出了,当然只能读取第一行啊!
Dim txtline As String
Open "d:\svr.ini" For Input As #1
Do Until EOF(1) = True
Line Input #1, txtline
Print txtline
If Left(txtline, 7) = "server=" Then
getini = Right(txtline, Len(txtline) - 7)
Print getini
Exit Do
End If
Loop
Close #1
估计这才是你所需要的结果!
因为你无论你是否前7位字符时不是server=,都将在程序中遇到exit do,循环就跳出了,当然只能读取第一行啊!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询