如何将vb6中文本框的内容发送到记事本文档

如何将vb6中文本框的内容发送到记事本文档,vb6,Vb6,我试图将插入文本框的数据发送到记事本文档中,以便保存这些数据以备将来参考,因为我正在尝试创建一个评估日期提醒,因为我是一名学生 但是,每当我在运行程序后检查记事本时,通过写入data=“txtsign\u Name,txtsign\u Due”尝试使用此代码发送数据时,文档中的所有内容都是txtsign\u Name,txtsign\u Due Private Sub Form_Load() Dim Data As String txtAssign_Name.Text = "" txtAs

我试图将插入文本框的数据发送到记事本文档中,以便保存这些数据以备将来参考,因为我正在尝试创建一个评估日期提醒,因为我是一名学生

但是,每当我在运行程序后检查记事本时,通过写入data=“txtsign\u Name,txtsign\u Due”尝试使用此代码发送数据时,文档中的所有内容都是txtsign\u Name,txtsign\u Due

Private Sub Form_Load()

Dim Data As String

txtAssign_Name.Text = ""

txtAssign_Due.Text = ""

Data = ""

Open "F:\Personal\date calender test - Copy\test.txt" For Output As #1

    Print #1, Data

Close #1
End Sub
试试这个:

Data = txtAssign_Name.Text & ", " & txtAssign_Due.Text

(在上面的几行中,您不希望将这些值设置为“”)

注意-使用内置的VB6写入文本文件将导致输出的格式设置为VB6可以再次读取。因此,所有字符串周围都有引号,其他值以各种奇数方式显示,逗号分隔所有值

如果希望输出文本文件主要供人使用,那么我发现使用richtextbox控件是创建文件的更好方法。从项目->组件->控件->Microsoft富文本框控件6.0添加它

将富文本框添加到表单中(如果不希望用户看到,可以将visible设置为false)。向其中添加数据,如下所示:

RichTextBox1.text = txtAssingn_Name.text & ", " & txt_Assing_Due.text
' If you need to add more things, add them on to the end like this
RichTextBox1.text = richtextbox1.text & vbcrlf & "More text on the next line"
然后,当所有数据都被添加时,您只需这样做

RichTextBox1.SaveFile "C:\Test.txt", rtfText

rtfText是一个visual basic常量,它告诉RTB另存为纯文本。替代品是rtfRTF。您可以在

OK上了解有关RTB的更多信息,因此上面的注释说明您希望能够将数据读回VB

问题中显示的代码将只输出一个空白文本文件,因为变量数据设置为“”,所以这就是将要输出的全部内容

你需要的是这样的东西

private Sub SaveData()
    dim SaveFile as integer

    SaveFile = Freefile ' This gets a file number not currently in use
    Open "F:\Personal\date calender test - Copy\test.txt" For Output As #Savefile
    write #SaveFile, txtAssign_Name.Text, txtAssign_Due.Text
    close #savefile
end sub
private sub LoadData()
    dim LoadFile as integer
    dim StringData as string

    loadfile = freefile
    Open "F:\Personal\date calender test - Copy\test.txt" For Input As #loadfile
    input #loadfile, StringData
    txtAssign_Name.Text = StringData
    input #loadfile, StringData
    txtAssign_Name.Text = stringdata
    close #loadfile

end sub
并在适当的位置调用
SaveData
。不是表单加载,因为此时用户不会输入任何内容。在用户按下按钮后,或者在窗体上卸载(如果希望在窗体关闭时自动保存)

要再次填充表单,请执行以下操作

private Sub SaveData()
    dim SaveFile as integer

    SaveFile = Freefile ' This gets a file number not currently in use
    Open "F:\Personal\date calender test - Copy\test.txt" For Output As #Savefile
    write #SaveFile, txtAssign_Name.Text, txtAssign_Due.Text
    close #savefile
end sub
private sub LoadData()
    dim LoadFile as integer
    dim StringData as string

    loadfile = freefile
    Open "F:\Personal\date calender test - Copy\test.txt" For Input As #loadfile
    input #loadfile, StringData
    txtAssign_Name.Text = StringData
    input #loadfile, StringData
    txtAssign_Name.Text = stringdata
    close #loadfile

end sub

您还应该在处理文件时添加错误处理。VB6非常特殊,在处理文件时很容易引发异常。

上面的所有代码都应该保存为“”,因为这就是数据中的全部内容。@David McElhaney,这似乎没有帮助,在输入代码后,您给了它一个输入,或者什么都不进监狱notepad@CMaster好的,你能给我一些关于如何修正代码的建议吗,这样它就能完成我想要它完成的功能吗?@CMaster数据将被重新读回vb,因为它应该记录指定的日期,然后每次打开它时,可以单独选择这些来查看到该日期的时间注释关于答案应该在答案上,而不是在问题上。我也调整了我的代码,对你给我的代码进行了总结,现在我得到了“运行时错误”52:错误的文件名或编号在哪一行?该错误似乎不言自明。错误显示在打开的“F:\Personal\date Calendar test-Copy\test.txt”上,输出为程序的#Savefile部分,不确定它是否也会进入加载序列。在我给您的加载例程中,最初的变量名不正确。现在已经解决了。文件夹“F:\Personal\date Calendar test-Copy\”是否已存在?如果不存在,将导致错误。是,程序所在的文件夹已存在