在vb6中编辑文本文件

在vb6中编辑文本文件,vb6,Vb6,我已经在richtextbox中显示了文本文件。 文本文件中文本框1的onclick on命令按钮值被替换 但是如何保存这两个数据。在文本框中输入的前一个和另一个 我已使用此代码,但它替换了所有文本: Open "D:\chat.txt" For Output As #1 a = Text1.Text Print #1, a Close #1 将输出的更改为追加的,它会将新文本添加到文件末尾而不是覆盖它。将输出的更改为追加的,它会将新文本添加到文件末尾而不是覆盖它。附加说明 因为我无法对Bo

我已经在richtextbox中显示了文本文件。 文本文件中文本框1的onclick on命令按钮值被替换

但是如何保存这两个数据。在文本框中输入的前一个和另一个

我已使用此代码,但它替换了所有文本:

Open "D:\chat.txt" For Output As #1
a = Text1.Text
Print #1,  a
Close #1

将输出的
更改为追加
,它会将新文本添加到文件末尾而不是覆盖它。

将输出
更改为追加
,它会将新文本添加到文件末尾而不是覆盖它。

附加说明 因为我无法对Boann的答案(标记为已接受的答案)添加评论

Print
语句一起使用的
Append
访问模式会自动在文件末尾追加一行。这在几乎所有情况下都是可以的,但是对于任何阅读本文希望避免这种行为的人来说,只需在
Print
语句的末尾添加一个分号(这是我在VB6中看到的唯一使用分号的实例)

我确信你最初发布的代码只是为了得到答案,而不是你的代码实际的样子。否则:

对于您或任何未来的读者,这里有一个简单的AppendToFile()函数,它可以简化重复调用,确保即使遇到运行时错误也能关闭文件,并在失败时显示有用的调试信息(即使用无效文件名):

将下面的函数放入代码时,原始代码将如何编写: 下面是函数:
私有函数附件文件(_
ByRef文件路径作为字符串_
ByRef文本作为字符串_
可选的ByVal AppendNewLine为Boolean=True_
)作为布尔值
关于错误转到错误处理程序
将intHandle设置为整数
'获取要使用的可用文件句柄。
intHandle=FreeFile
打开附加为intHandle的文件路径
'如果不想追加新行,则仅在末尾使用分号。
如果是换行,那么
打印intHandle、文本
其他的
打印intHandle,文本;
如果结束
关闭intHandle
intHandle=0
AppendToFile=True
退出功能
错误处理程序:
'确保文件确实已关闭。
如果intHandle为0,则
关闭intHandle
如果结束
'在调试窗口中显示错误(CTRL+G)
调试。打印_
“错误(#)”&CStr(错误编号)&“&_
“TextToFile(u“&vbCrLf&_
“`”&FilePath&“`,`&vbCrLf&_
“`”&Text&“`,`&vbCrLf&”_
IIf(附录换行符、`True`、`False`')和vbCrLf&_
“”:“&Err.Description&IIf(“.”=Right$(Err.Description,1),“”,“)&vbCrLf
退出功能
端函数
附加说明 因为我无法对Boann的答案(标记为已接受的答案)添加评论

Print
语句一起使用的
Append
访问模式会自动在文件末尾追加一行。这在几乎所有情况下都是可以的,但是对于任何阅读本文希望避免这种行为的人来说,只需在
Print
语句的末尾添加一个分号(这是我在VB6中看到的唯一使用分号的实例)

我确信你最初发布的代码只是为了得到答案,而不是你的代码实际的样子。否则:

对于您或任何未来的读者,这里有一个简单的AppendToFile()函数,它可以简化重复调用,确保即使遇到运行时错误也能关闭文件,并在失败时显示有用的调试信息(即使用无效文件名):

将下面的函数放入代码时,原始代码将如何编写: 下面是函数:
私有函数附件文件(_
ByRef文件路径作为字符串_
ByRef文本作为字符串_
可选的ByVal AppendNewLine为Boolean=True_
)作为布尔值
关于错误转到错误处理程序
将intHandle设置为整数
'获取要使用的可用文件句柄。
intHandle=FreeFile
打开附加为intHandle的文件路径
'如果不想追加新行,则仅在末尾使用分号。
如果是换行,那么
打印intHandle、文本
其他的
打印intHandle,文本;
如果结束
关闭intHandle
intHandle=0
AppendToFile=True
退出功能
错误处理程序:
'确保文件确实已关闭。
如果intHandle为0,则
关闭intHandle
如果结束
'在调试窗口中显示错误(CTRL+G)
调试。打印_
“错误(#)”&CStr(错误编号)&“&_
“TextToFile(u“&vbCrLf&_
“`”&FilePath&“`,`&vbCrLf&_
“`”&Text&“`,`&vbCrLf&”_
IIf(附录换行符、`True`、`False`')和vbCrLf&_
“”:“&Err.Description&IIf(“.”=Right$(Err.Description,1),“”,“)&vbCrLf
退出功能
端函数

它可以工作。谢天谢地,洗液管用。非常感谢
a = Text1.Text
intHandle = FreeFile
Open "D:\chat.txt" For Append As intHandle
  Print #intHandle, a; ' Notice the semicolon; prevents a new line after this output.
Close #intHandle
AppendToFile "D:\chat.txt", Text1.Text
Private Function AppendToFile( _
  ByRef FilePath As String, _
  ByRef Text As String, _
  Optional ByVal AppendNewLine As Boolean = True _
) As Boolean

  On Error GoTo ErrorHandler

  Dim intHandle As Integer

  ' Get an available file handle to use.
  intHandle = FreeFile

  Open FilePath For Append As intHandle

    ' Only use semicolon at end if we do NOT want to append a new line.
    If AppendNewLine Then
      Print intHandle, Text
    Else
      Print intHandle, Text;
    End If

  Close intHandle

  intHandle = 0
  AppendToFile = True

  Exit Function
ErrorHandler:

  ' Ensure that file is indeed closed.
  If intHandle <> 0 Then
    Close intHandle
  End If

  ' Show error in debug window (CTRL+G)
  Debug.Print _
    "Error (#" & CStr(Err.Number) & ") in " & _
    "TextToFile( _" & vbCrLf & _
      "`" & FilePath & "`, _" & vbCrLf & _
      "`" & Text & "`, _" & vbCrLf & _
      IIf(AppendNewLine, "`True`", "`False`") & vbCrLf & _
      "): " & Err.Description & IIf("." = Right$(Err.Description, 1), "", ".") & vbCrLf

    Exit Function

End Function