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