用户定义的类型未定义vb6

时间:2016-11-20 05:12:32

标签: vb6

我试图将vb6中文本框的上下文“保存”到* .ini文件中,以便它可以在程序的后续部分中使用。 (即用户会在文本框中输入内容,然后在程序中稍后会出现一个标签,其中包含用户输入的已保存信息)。

我使用了以下代码,这些代码是我从其他人程序的源代码中复制的,但它没有用到:

Dim fsys As New FileSystemObject 
Dim outstream As TextStream
Dim write1 As String
Dim val1 As String
val1 = Text1.Text
inisettings = App.Path & "\Variables.ini"
Set outstream = fsys.OpenTextFile(inisettings, ForWriting, False, TristateFalse)
outstream.WriteLine (val1)
Set outstream = Nothing

结果如下:

Error message

有没有人有办法保存数据以供日后使用?

3 个答案:

答案 0 :(得分:3)

FileSystemObject位于外部库中,要使用它,请单击项目然后引用并勾选 Microsoft Scripting Runtime

您实际上不需要执行任何操作,下面的代码使用VB的内置功能来编写文件。

Dim hF As Integer
hF = FreeFile()

Open App.Path & "\Variables.ini" For Output As #hF
Print #hF, val1
Close #hF

答案 1 :(得分:1)

您必须声明TristateFalse并为其赋予类似0,1或2的值。

您可以查看以下链接:

https://msdn.microsoft.com/en-us/subscriptions/bxw6edd3(v=vs.84).aspx

希望这可以提供帮助

答案 2 :(得分:1)

您收到此错误的原因是您没有引用Microsoft Scripting Runtime库。在VB6项目中按照以下说明操作:

  1. 点击顶部菜单,点击项目>引用。
  2. 从列表中,选中标题为" Microsoft Scripting Runtime"。
  3. 的项目。
  4. 单击“确定”。
  5. 这将解决您的即时错误,但您的代码仍有其他一些问题。首先,您忘记声明变量inisettings。我将假设您每次更新INI文件时都希望始终覆盖整个文件,因此您希望使用方法CreateTextFile而不是OpenTextFile

    Dim fsys As New FileSystemObject 
    Dim outstream As TextStream
    Dim write1 As String
    Dim val1 As String
    Dim inisettings As String
    
    val1 = Text1.Text
    inisettings = App.Path & "\Variables.ini"
    Set outstream = fsys.CreateTextFile(inisettings, True, False)
    Call outstream.WriteLine(val1)
    Set outstream = Nothing
    
    祝你好运!