在Visual Basic 6中逐行写入所有符合条件的记录
问题描述:
请帮助我如何列出文本框中所有符合条件的记录(逐行),如下面的代码仅检索第一条记录。在Visual Basic 6中逐行写入所有符合条件的记录
注:我试图使在文本框中多行,但一个错误出现了“无法分配给只读属性”与修订beloe代码
Dim iFile As Integer
Dim sLine As String, sNewText As String
iFile = FreeFile
Open App.Path & "\text1.txt" For Input As #iFile
Do While Not EOF(iFile)
Line Input #iFile, sLine
If sLine Like "*TOTAL INTERCHANGE*" Then
Text5.Text = sLine
End If
Loop
Close
答
任何帮助,请您能还发布了text1.txt文件中的内容?你是否真的需要检查sLine来获得TOTAL INTERCHANGE值?顺便说一句,你只是每次覆盖text5.text的值。它应该是
Text5.Text = Text5.Text & sLine
OR
Text5.Text = Text5.Text & sLine & vbCrLf
此外,你应该能够在设计时没有问题的多行设置为true。
答
要了解您的线是否包含字符串“TOTAL INTERCHANGE”,您还可以使用Instr
(别担心,Like
作品也很好)。
If Instr(1, sLine, "TOTAL INTERCHANGE") > 0 Then
Text5.Text = Text5.Text & sLine & vbCrLf
End If
下面是引用,你也可以快速的在线测试:: VBScript InStr Function(这是VBScript中,不是VB6,但没关系,这是相同的)
关于MultiLine
属性,应该将其设置在VB6 IDE中,而不是通过代码。
的一点是:
请注意,你不应该取代文本框的全部内容,但是通过保持TextBox
的实际内容,只是将换行符附加在年底前把新线。这就是Text5.Text = Text5.Text & sLine & vbCrLf
所做的。
感谢学习和deblocker,现在工作得很好。 –
我还有其他问题: - 如何从文本框中取出特定的行并将其包含在另一行中(例如,我在第二行中找到了一条记录,并且我需要它在另一个文本框中显示)? - 我想在语句中添加另一个条件,并在第一条语句的每一行的开头打印结果,它是可行的吗? –
您应该为您的其他问题创建另一个线程,因为您的原始问题已经解决。 – Learning