我刚刚开始在VB6编程,作为我的高中课程的一部分。尝试保存到文本文件时,我的主要问题与线路输入有关。
假设我有变量x,y和我将它们打印到文本文件中,如下所示:
Print #1, x, y
如果我尝试使用以下行输入来访问它们:
Line Input #1, SavedX, SavedY
我收到错误。
但如果我这样打印它们:
Print #1, x
Print #1, y
然后尝试像这样访问它们:
Line Input #1, SavedX
x = SavedX
Line Input #1, Savedy
y = SavedY
我没有遇到任何错误。
是否可以使用线路输入将x和y值保持在同一行?还是我被迫使用我刚刚提到的方法?
很抱歉,如果我的解释很糟糕,但这是我认为我解释过的最佳方式。
答案 0 :(得分:1)
执行Print #1, x, y
后,x
和y
的值将写入文本文件中以TAB
字符分隔的单行。执行两个单独的Print
语句会将每个变量写入新行。正如评论中所述,Line Input将整行读入一个字符串。这就是为什么您的最终示例有效,因为每个Line Input
都会获得一个新行。如果你想把它全部放在一行上,那么用Print #1, x, y
写出来,然后用以下内容读出来:
Dim s as String
Dim values() as string
Line Input #1, s
values = Split(s, vbTab)
x = values(0)
y = values(1)
对于这类事情,您可能更好地关注Write
和Input
,它可以更好地满足一行中的多个变量。样本取自以下链接
Dim MyString, MyNumber
Open "TESTFILE" For Input As #1 ' Open file for input.
Do While Not EOF(1) ' Loop until end of file.
Input #1, MyString, MyNumber ' Read data into two variables.
Debug.Print MyString, MyNumber ' Print data to the Immediate window.
Loop
Close #1 ' Close file.
https://msdn.microsoft.com/en-us/library/office/gg264519.aspx
抱歉,目前我无法访问VB6环境,以提供更全面的示例。