每次打开应用程序时都会出现VB6引号

每次打开应用程序时都会出现VB6引号,vb6,Vb6,我有一个VB6程序,可以将文本框中的文本保存到一个文件中,当您再次打开它时,相同的文本将出现在那里,但是每当我重新打开它时,文本框中的文本现在周围都有引号,如何删除引号?代码是: Private Sub Form_Load() On Error GoTo NoFile Randomize Dim sFile As String Dim Blank As String Dim c1Path As String Dim iFileNum As Integer sFile = "C:\JPLDat

我有一个VB6程序,可以将文本框中的文本保存到一个文件中,当您再次打开它时,相同的文本将出现在那里,但是每当我重新打开它时,文本框中的文本现在周围都有引号,如何删除引号?代码是:

Private Sub Form_Load()
On Error GoTo NoFile
Randomize

Dim sFile As String
Dim Blank As String
Dim c1Path As String
Dim iFileNum As Integer

sFile = "C:\JPLData"

iFileNum = FreeFile
Open sFile For Input As iFileNum

Line Input #iFileNum, c1Path
Close #iFileNum
Text1.Text = c1Path

NoFile:
If Err.Number = 5 Then
sFile = "C:\JPLData"
c1Path = "No Custom Defined."

iFileNum = FreeFile
Open sFile For Output As iFileNum
Write #iFileNum, Text1.Text
Close #iFileNum
End If


End Sub

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
Dim sFile As String
Dim cName As String
Dim iFileNum As Integer

sFile = "C:\JPLData"
cName = vbClrf & Text1.Text & vbClrf

iFileNum = FreeFile
Open sFile For Output As iFileNum
Write #iFileNum, cName
Close #iFileNum

End Sub
编辑: 我已经回答了我自己的问题,
我拼写的vbCrLf错误,要添加到BLsnk变量中以处理引号的I foorgot:P

[Line]Input
Write
命令都是非常古老的语句,仍然保留了很多遗留行为。很可能其中之一是添加引号

这个最简单的修复方法可能只是在显示文本框时删除引号。因此,改变这一行:

Text1.Text = c1Path
为此:

Text1.Text = Replace(c1Path, Chr(34), "")
Chr(34)
是引号字符,
Replace
函数只是在
c1Path
字符串中搜索
Chr(34)
(引号)的所有实例,并将其替换为空字符串(
),有效地删除它们。

说明使用
Write
语句写入的数据通常使用
Input
语句读取

另外:使用
Print#
语句写入的数据,我们通常使用
Line Input#
语句读取


您将
Write#
行输入#
混合,因此不一致。

行输入
读取文件中的整行文本,包括逗号和引号。使用
行输入
可以将类似此CSV数据示例的内容读取到一个字符串变量中:

12345,"John Doe","Fake Street",123,"Test Town",900343
整行将成为一个字符串,您必须自己拆分它。
行输入的“相反”语句是
PRINT
<代码>打印
以字符串形式输出到文件中。该字符串可能包含逗号、引号等

INPUT
用于从单行读取单独的字段(列值=单元格!)。它需要
WRITE
生成的格式。所以
输入
写入
一起进行。使用
INPUT
您可以从文件的单个逗号分隔行中读取多个变量,而无需自行拆分列。您不必使用
split
或任何正则表达式之类的东西。此外,您不必进行任何类型的铸造<代码>编写和
输入
只需携手合作即可

例如,可以读取逗号分隔的数据行,如下所示:

Dim Id As Integer, FullName As String, Street As String, Income As Double
...
' Write a few separated fields in one operation:
Write #fx, Id, FullName, Street, Income
...
' Read all the fields with different types using just one line of code:
Input #fy, Id, FullName, Street, Income   ' Read the cell values straight into your variables
如果混合使用两对
行输入
/
打印
输入
/
写入
,在大多数情况下都不会得到预期的结果

如果您只想保存/恢复单个字符串(无论它可能包含什么逗号,…而没有多个字段(尤其是具有不同数据类型(整数、字符串,…)),请转到
行输入
打印
。这些不包括任何字段分离处理。只需使用由
vbCrLf
分隔的整行即可。如果使用
PRINT
,则无需写入任何额外的
vbCrLf
字符,因为
PRINT
将在末尾自动包含一个换行符。(如果您不想在语句行的末尾换行,请在语句行的末尾添加一个
。)


若要在写入文件时删除字符串引号,请使用“打印”而不是“写入”

Dim ff As Integer, MyString As String
ff = FreeFile
TheString= "test"
Open "myfile.txt" For Output As #ff
Print #ff, TheString
Close #ff
Dim ff As Integer, MyString As String
ff = FreeFile
TheString= "test"
Open "myfile.txt" For Output As #ff
Print #ff, TheString
Close #ff