国际文件的输入/输出

Visual Basic 中,当有文件的输入/输出操作时,区域也是考虑的重要因素。Print # 和 Write # 语句都可用于数据文件输出,但它们有不同的用途。

Print #

Print # 语句以区域识别的格式将数据输出到文件里,就象数据显示到屏幕上一样。例如,日期输出使用系统 Short Date 格式,数字值使用系统小数点。

在 Visual Basic 中,当数据是用 Print # 语句写到文件里时,Input # 语句不能读取具有区域识别格式的数据。为了能使 Visual Basic 在任何区域里读取不依赖于区域的数据,可使用 Write # 语句,而不是 Print # 语句。

Write #

与 Print # 语句类似,Write # 语句也是以固定的格式将数据输出到文件,并保证这些数据在任何区域里都能用 Input # 语句从文件中读取。例如,使用通用日期格式将日期输出到文件里,使用句号作为小数点将数字值输出到文件里。在下面的代码示例中,使用 Write # 语句将日期和数字值写到文件里。然后再打开该文件,使用 Input # 语句读取其内容,同时将结果输出到立即窗口中。Long Date 信息从系统区域中获取:

Dim MyDate As Date, NewDate As Date
Dim MyNumber As Variant
   MyDate = #8/2/67#
   MyNumber = 123.45
Open "Testfile" for Output As #1
   Write #1, MyDate, MyNumber
Close #1

Open "Testfile" for Input As #1
   Input #1, MyDate, MyNumber
   NewDate = Format(Mydate, "Long Date")
Debug.Print NewDate, MyNumber
Close #1

在英语/美国的区域中运行该代码,立即窗口出现如下信息:

Wednesday, August 02, 1967      123.45

在法语/法国的区域中运行该代码,立即窗口出现如下信息:

mercredi 2 ao鹴 1967            123,45

在这两个区域中,输出都是准确的—通过使用 Write # 和 Input # 语句,信息得到了恰当的存储和获取。

详细信息 有关文件处理的背景信息,请参阅第十四章“处理驱动器、文件夹和文件”中的“使用文件”。有关文件处理的背景信息,请参阅“处理驱动器、文件夹和文件”中“使用文件”。也可参阅《语言参考》的“Print # 语句”或“Write # 语句”。