每次打开应用程序时都会出现VB6引号
我有一个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
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