VB6:尝试使用Line输入保存txt时使用多个变量

时间:2016-05-22 19:22:55

标签: vb6

我刚刚开始在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值保持在同一行?还是我被迫使用我刚刚提到的方法?

很抱歉,如果我的解释很糟糕,但这是我认为我解释过的最佳方式。

1 个答案:

答案 0 :(得分:1)

执行Print #1, x, y后,xy的值将写入文本文件中以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)

对于这类事情,您可能更好地关注WriteInput,它可以更好地满足一行中的多个变量。样本取自以下链接

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环境,以提供更全面的示例。