我需要从文本文件中读取数据并在我的应用程序中使用。我正在使用VB 6.0。 我该使用哪些命令?非常感谢提供一些示例代码。
以下是如何将整个文本文件读入字符串的方法 - 来自VB6手册。
Function FileToString(strFilename As String) As String
iFile = FreeFile
Open strFilename For Input As #iFile
FileToString = StrConv(InputB(LOF(iFile), iFile), vbUnicode)
Close #iFile
End Function
完整的教程和示例代码可以在此处找到。
Open Filename$ For Input As #FileHandle
Do While Not EOF(FileHandle) ' Loop until end of file
Line Input #FileHandle, TextLine$ ' Read line into variable
' Your code here
Loop
Close #FileHandle
我来晚了,但是 Microsoft Scripting Runtime(scrrun.dll)中的 FileSystemObject 对象对此非常有用。
Public Function ReadTextFileAsString(IN_sFilePath As String) As String
Dim myFSO As Scripting.FileSystemObject
Dim myTextStream As Scripting.TextStream
Dim myString As String
'Create a new FileSystemObject
Set myFSO = New Scripting.FileSystemObject
'Make sure file exists:
If myFSO.FileExists(IN_sFilePath) Then
Set myTextStream = myFSO.OpenTextFile(IN_sFilePath, ForReading)
myString = myTextStream.ReadAll()
Call myTextStream.Close
End If
'Assign Return Value
ReadTextFileAsString = myString
'Make sure to clean up when done.
Set myTextStream = Nothing
Set myFSO = Nothing
End Function
还有其他方法可用于从文本流中获取数据。您可以按字符或逐行读取一定数量的数据。您需要在项目引用中添加 Microsoft Scripting Runtime,但它真的非常有用。
If myFSO.FileExists(IN_sFilePath) Then
Set myTextStream = myFSO.OpenTextFile(IN_sFilePath, ForReading)
myString = myTextStream.ReadAll()
Call myTextStream.Close
End If
'Assign Return Value
ReadTextFileAsString = myString
:
Private Sub ReadFile(strFile As String)
Dim intFile As Integer
Dim strData As String
intFile = FreeFile
Open strFile For Input As #intFile
strData = Input(LOF(intFile), #intFile)
Close #intFile
End Sub
一个变长字符串最多可以包含约20亿(2^31)个字符。
这是相关代码
Function ReadFileToText(filePath)
Dim objFile, objText, text
Set objFile = CreateObject("Scripting.FileSystemObject")
Set objText = objFile.OpenTextFile(filePath)
text = objText.ReadAll
objText.Close
Set objText = Nothing
Set objFile = Nothing
ReadFileToText = text
End Function
我会向你介绍一种不同的方法来读取并将内容导入到你的表单窗口中
public sub readfile
Dim rtc As TextBox = New TextBox
rtc.Multiline = True
rtc.ScrollBars = ScrollBars.Both
rtc.Width = 400
rtc.Height = 200
Me.Controls.Add(rtc)
rtc.WordWrap = True
Dim FILE_NAME As String = "C:\Users\vcidex92\Desktop\suji\me.html"
If System.IO.File.Exists(FILE_NAME) = True Then
Dim objReader As New System.IO.StreamReader(FILE_NAME)
rtc.Text = objReader.ReadToEnd
objReader.Close()
Else
MsgBox("File Does Not Exist")
End If
end sub