100分求购VB读取文件的代码。

tigerwen01 2004-07-06 08:52:45
哪位大虾给我一段VB读取文件的代码。要求在窗体上有三个控件:一个浏览文件的按钮;一个确定按钮;一个TextBox控件。当按下“确定”按钮后,“浏览”按钮所选的文件内容就显示在TextBox控件里。谢谢!
...全文
189 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
tigerwen01 2004-07-06
  • 打赏
  • 举报
回复
谢谢大家,结贴了!
wzzxq 2004-07-06
  • 打赏
  • 举报
回复
在部件中添加Microsoft Common Dialog Control
cdlOpen.CancelError = False '选取[取消]按钮时不出错
cdlOpen.Flags = cdlOFNHideReadOnly '只读
cdlOpen.Filter = "文本文件 (*.txt)|*.txt"
cdlOpen.DialogTitle = "请选择要导读取的文件"
cdlOpen.ShowOpen
If cdlOpen.FileName = "" Then
Exit Sub
End If
tigerwen01 2004-07-06
  • 打赏
  • 举报
回复
谢谢各位兄弟,谢谢lihonggen0网友。问题弄得差不多了。可是我就是找不到CommonDialog控件,谁能告诉我该怎样找?谢谢!
bbgbianbaogui 2004-07-06
  • 打赏
  • 举报
回复
Public Function RedTextFile(Filename As String) As String
Dim FileID As Long
Dim InputStr As String
Dim LineStr As String

On Error Resume Next

InputStr = "": LineStr = ""
FileID = FreeFile()
Open Filename For Input As #FileID
Do While Not EOF(FileID)
LineStr = ""
Line Input #FileID, LineStr
InputStr = InputStr & LineStr
Loop
Close #FileID
RedTextFile = IIf(Err.Number = 0, InputStr, "")
Err.Clear
End Function
Public Function WritTextFile(Filename As String, WritStr As String) As Boolean
Dim FileID As Long, ConTents As String
Dim A As Long, B As Long

On Error Resume Next

FileID = FreeFile
Open Filename For Output As #FileID
Print #FileID, WritStr
Close #FileID
WritTextFile = (Err.Number = 0)
Err.Clear
End Function
lihonggen0 2004-07-06
  • 打赏
  • 举报
回复
Private Sub Command1_Click()

CommonDialog1.ShowOpen
If CommonDialog1.filename <> "" Then
MsgBox CommonDialog1.FileTitle
Dim TempFile As Long
Dim LoadBytes() As Byte

TempFile = FreeFile
Open CommonDialog1.filename For Binary As #TempFile
ReDim LoadBytes(1 To LOF(TempFile)) As Byte
Get #TempFile, , LoadBytes
Close TempFile

Text1.Text = StrConv(LoadBytes, vbUnicode)

End If
End Sub
lihonggen0 2004-07-06
  • 打赏
  • 举报
回复
把文本文件内容读取TextBox:
Dim TempFile As Long
Dim LoadBytes() As Byte

TempFile=FreeFile
Open 文件名 For Binary As #TempFile
Redim LoadBytes(1 To Lof(TempFile)) As Byte
Get #TempFile,,LoadBytes
Close TempFile

Text1.Text=StrConv(LoadBytes,vbUniCode)



把TextBox内容写入文本文件:
Dim TempFile As Long
Dim SaveBytes() As Byte

SaveBytes=StrConv(Text1.Text,vbFromUniCode)

TempFile=FreeFile
Open 文件名 For Binary As #TempFile
Put #TempFile,,SaveBytes
Close TempFile
lqtflwg718 2004-07-06
  • 打赏
  • 举报
回复
要给分啊!记得啊!
lqtflwg718 2004-07-06
  • 打赏
  • 举报
回复
Dim readtext As String
Private Sub Command1_Click()
Open "D:\7777.txt" For Input As #1 '打开文件引用别名为#1
While Not EOF(1)
Line Input #1, readtext '第次读取一行到变量readtext中
Wend
Close #1 '关闭文件
End Sub
Private Sub command2_click()
Text1.Text = Text1.Text & readtext & vbCrLf
End Sub

lqtflwg718 2004-07-06
  • 打赏
  • 举报
回复
Dim readtext As String
Private Sub Command1_Click()
Open "D:\7777.txt" For Input As #1 '打开文件引用别名为#1
While Not EOF(1)
Line Input #1, readtext '第次读取一行到变量readtext中
TextBox1.Text = TextBox1.Text & readtext & vbCrLf
Wend
Close #1 '关闭文件
End Sub
private sub command2_click()
TextBox1.Text = TextBox1.Text & readtext & vbCrLf
end sub
tigerwen01 2004-07-06
  • 打赏
  • 举报
回复
各位兄弟,代码越简单越好。就完成我提出的功能就行了。调试通过100分相送。
AKillGodKillBuddha 2004-07-06
  • 打赏
  • 举报
回复
读:
dim s as string
dim filename as string
filename="...."

open filename for input as #1
s=input(lof(1),1)
close #1

写:
dim s as string
s="xxxxx"
open filename for append as #1
print #1,s
close #1


AKillGodKillBuddha 2004-07-06
  • 打赏
  • 举报
回复

'读TEXT文件
'函数:RedTextFile
'参数:FileName 打开的TXT文件名.
'返回值:成功 返回文件内容.失败 返回""
Public Function RedTextFile(Filename As String) As String
Dim FileID As Long
Dim InputStr As String
Dim LineStr As String

On Error Resume Next

InputStr = "": LineStr = ""
FileID = FreeFile()
Open Filename For Input As #FileID
Do While Not EOF(FileID) ' 循环至文件尾。
LineStr = ""
Line Input #FileID, LineStr
InputStr = InputStr & LineStr
Loop
Close #FileID
RedTextFile = IIf(Err.Number = 0, InputStr, "")
Err.Clear
End Function

'
'写TEXT文件
'函数:WritTextFile
'参数:FileName 目标文件名.WritStr 写到目标的字符串.
'返回值:成功 返回文件内容.失败 返回""
'注:如果同名,目标字符串将覆盖原文件内容.
Public Function WritTextFile(Filename As String, WritStr As String) As Boolean
'/保存文件
Dim FileID As Long, ConTents As String
Dim A As Long, B As Long

On Error Resume Next

FileID = FreeFile
Open Filename For Output As #FileID
Print #FileID, WritStr
Close #FileID
WritTextFile = (Err.Number = 0)
Err.Clear
End Function


AKillGodKillBuddha 2004-07-06
  • 打赏
  • 举报
回复
Private Sub Command1_Click()
Dim FileName As String
Dim StrArr() As String
Dim TmpStr() As String
Dim WritStr As String
Dim I As Long

FileName = "c:\lx1.txt"
'将文件读到一个字符串数组.
StrArr = RedTextFile(FileName)
For I = 0 To UBound(StrArr)
TmpStr = Split(StrArr, "=")
'查找符合条件的项
If UCase$(TmpStr(0)) = "ZZZ" Then
'修改该项
TmpStr(1) = "456"
StrArr(I) = TmpStr(0) & "=" & TmpStr(1)
End If
WritStr = WritStr & StrArr(I) & Chr(13)
Next
'回写文件
WritTextFile FileName, WritStr
End Sub

'读TEXT文件
'函数:RedTextFile
'参数:FileName 打开的TXT文件名.
Public Function RedTextFile(FileName As String) As String()
Dim FileID As Long
Dim InputStr As String
Dim LineStr As String
Dim RevStr() As String
Dim ID As Long

On Error Resume Next

InputStr = "": LineStr = ""
FileID = FreeFile()
Open FileName For Input As #FileID
Do While Not EOF(FileID) ' 循环至文件尾。
LineStr = ""
ID = ID + 1
ReDim Preserve RevStr(ID)
Line Input #FileID, LineStr
RevStr(ID - 1) = LineStr
Loop
Close #FileID
RedTextFile = RevStr
Err.Clear
End Function

'写TEXT文件
'Private Sub Form_Load()
' Call WritTextFile("c:\111.txt", "ONE LINE" & vbCrLf & "TWO LINE")
'End Sub
'函数:WritTextFile
'参数:FileName 目标文件名.WritStr 写到目标的字符串.
'返回值:成功 返回文件内容.失败 返回""
'注:如果同名,目标字符串将覆盖原文件内容.
Public Function WritTextFile(FileName As String, WritStr As String) As Boolean
'/保存文件
Dim FileID As Long, ConTents As String
Dim A As Long, B As Long

On Error Resume Next

FileID = FreeFile
Open FileName For Output As #FileID
Print #FileID, WritStr
Close #FileID
WritTextFile = (Err.Number = 0)
Err.Clear
End Function


7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧