vb里面怎么读取TXT文档里面的内容

angloy 2004-12-25 07:18:17
想把txt文档里面的内容一行一行的读取出来,怎么读取,以前记得可以把TXT文档当作是数据库来处理就可以了,但是具体怎么操作不记得了,请教高手!!!!谢谢
...全文
1402 20 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
angloy 2004-12-27
  • 打赏
  • 举报
回复
很谢谢各位,我也去看过MSDN的语法了。open ,input , output , print的语法我也已经知道了。
另外我觉得用tztz520(午夜逛街) 的数据库方法去读写也是一个办法。:)
aohan 2004-12-26
  • 打赏
  • 举报
回复
////还想请教一下,Open "e:\readme.txt" For Input As #1 是什么意思?特别是input AS #1,为什么要这样写?有什么参考书可以看一下?


可以参传统文件的读取,或查看MSDN中的 Open 语句

Line Input # 语句


从已打开的顺序文件中读出一行并将它分配给 String变量。

语法

Line Input #filenumber, varname

Line Input # 语句的语法具有以下几个部分:

部分 描述
filenumber 必要。任何有效的文件号。
varname 必要。有效的 Variant 或 String 变量名。


说明

通常用 Print # 将 Line Input # 语句读出的数据从文件中写出来。

Line Input # 语句一次只从文件中读出一个字符,直到遇到回车符 (Chr(13)) 或回车–换行符 (Chr(13) + Chr(10)) 为止。回车–换行符将被跳过,而不会被附加到字符串上。


#是你打开的文件号 范围是1~511
StarLover 2004-12-26
  • 打赏
  • 举报
回复
同意楼上的
leongwong 2004-12-26
  • 打赏
  • 举报
回复
Dim tempFSO As New FileSystemObject, tempTs As TextStream
Dim Rows As Integer, strText As String, intJSQ As Integer

Rows = 10 '赋行值

Set tempTs = tempFSO.OpenTextFile(App.Path + "\****.txt", 1)

For intJSQ = 1 To Rows
strText= Trim(tempTS.ReadLine) '取出内容
Next intJSQ
StarLover 2004-12-26
  • 打赏
  • 举报
回复
helanshan(C++)
to:StarLover(DreamInWind) ( )
你再仔细看看..是循环读取..
******************************
确实是循环读取,但是,while not EOF(1)是读到该行的换行符
也就是说,如果文件是有2行或者更多,则只读取第1行!
fengyetianshi 2004-12-26
  • 打赏
  • 举报
回复

'文件打开的方法↓ 这是一行行读取直到读完文本文件所有内容!
private sub command1_click()
dim readtext as string
open "c:\try.txt" for input as #1
while not EOF(1)
line input #1 , readtext
text1.text=text1.text & readtext &vbcrlf
wend
'文件关闭的方法
close #1
'文件打开,或写入后一定要使用关闭的方法关闭文件,否则有可能造成文件丢失等错误
End Sub

'以下是判断文件是否存在的代码↓
Private Sub Command1_Click()
Dim FileName As String
FileName = "e:\try.txt"

If Dir(FileName) <> "" Then
MsgBox FileName & "存在"
Kill (FileName) '如果想删除它,加上这句!
MsgBox "文件以删除"
Else
MsgBox FileName & "不存在"
'如果想创建加上以下语句↓
Open FileName For Append As #1 '以不覆盖写的方式打开文件
Print #1, Text1.Text
Close #1
MsgBox "文件写入完毕,请去" & FileName & "下查看"
End If
End Sub

tztz520 2004-12-26
  • 打赏
  • 举报
回复
'也可以使用ADO来读取.
首先引用microsoft ActiveX Data Objects 2.0 Library

Private Sub Command1_Click()
Dim strConn As String
Dim pubConn As New ADODB.Connection
Dim rsTable As New ADODB.Recordset

strConn = "Driver={Microsoft Text Driver (*.txt; *.csv)};" & "Dbq=;" & "Extensions=asc,csv,tab,txt;" & "Persist Security Info=False"
pubConn.Open strConn
rsTable.Open "Select * From F:\ABC.txt ", pubConn, adOpenDynamic, adLockPessimistic

Do While Not rsTable.EOF
Debug.Print rsTable.Fields(0).Value '这里读出每一行数据
rsTable.MoveNext
Loop
End Sub

dongge2000 2004-12-26
  • 打赏
  • 举报
回复
TO: angloy(烂柯遗梦)
呵呵,看看变量名就知道了,这是我刚学VB时抄的,一直没用也没改,用第一个好了,FSO还得引用其它东西。
wfhlxl 2004-12-25
  • 打赏
  • 举报
回复
use ado 2.0 reference msdn ado 2.0 help article
helanshan 2004-12-25
  • 打赏
  • 举报
回复
to:StarLover(DreamInWind) ( )
你再仔细看看..是循环读取..
******************************
还想请教一下,Open "e:\readme.txt" For Input As #1 是什么意思?特别是input AS #1,为什么要这样写?有什么参考书可以看一下?
文件打开格式:
open 文件路径 for 输入输出方式 AS #文件号
input(顺序输入)
angloy 2004-12-25
  • 打赏
  • 举报
回复
dongge2000(秋日私语:非[版务].灌!) ,
Dim u As Object
Dim X As TextStream
Set u = CreateObject("scripting.filesystemobject")
Set X = u.OpenTextFile(pFile, ForReading, True)
FsoRead = X.ReadAll
Exit Function
你的方法我曾经试过,但是好像对象里面没有TEXTSTREAM,以至于无法读出数据,谢谢
ryuginka 2004-12-25
  • 打赏
  • 举报
回复
fso
angloy 2004-12-25
  • 打赏
  • 举报
回复
呵呵,谢谢各位,还想请教一下,Open "e:\readme.txt" For Input As #1 是什么意思?特别是input AS #1,为什么要这样写?有什么参考书可以看一下?
Taylor.tian 2004-12-25
  • 打赏
  • 举报
回复
朋友
Private Sub Command1_Click()
Open "e:\readme.txt" For Input As #1
while not EOF(1)
line input #1 , readtext
text1.text=text1.text & readtext &vbcrlf
wend
Close #1
End Sub
StarLover 2004-12-25
  • 打赏
  • 举报
回复
crysbaby(永远) 的方法有点问题,那种读法只能读取文件中的一行,如果要读取第二行就还要再写一句line input了。感觉很麻烦~~~
江语 2004-12-25
  • 打赏
  • 举报
回复
这是读取指定行的内容↓
Private Sub Command1_Click()
Dim s
Dim ls_Content
Open "e:\readme.txt" For Input As #1
s = StrConv(InputB(LOF(1), #1), vbUnicode)
Close #1
ls_Content = Split(s, Chr(13))
MsgBox ls_Content(2) '读第二行
End Sub
achinacracker 2004-12-25
  • 打赏
  • 举报
回复
open "c:\123.txt" for binary as #1
text1.text=input(lof(1),1)
close #1
江语 2004-12-25
  • 打赏
  • 举报
回复
添加一个按钮,一个文本框

'文件打开的方法↓ 这是一行行读取直到读完文本文件所有内容!
private sub command1_click()
dim readtext as string
open "c:\try.txt" for input as #1
while not EOF(1)
line input #1 , readtext
text1.text=text1.text & readtext &vbcrlf
wend
'文件关闭的方法
close #1
'文件打开,或写入后一定要使用关闭的方法关闭文件,否则有可能造成文件丢失等错误
End Sub

'以下是判断文件是否存在的代码↓
Private Sub Command1_Click()
Dim FileName As String
FileName = "e:\try.txt"

If Dir(FileName) <> "" Then
MsgBox FileName & "存在"
Kill (FileName) '如果想删除它,加上这句!
MsgBox "文件以删除"
Else
MsgBox FileName & "不存在"
'如果想创建加上以下语句↓
Open FileName For Append As #1 '以不覆盖写的方式打开文件
Print #1, Text1.Text
Close #1
MsgBox "文件写入完毕,请去" & FileName & "下查看"
End If
End Sub
dongge2000 2004-12-25
  • 打赏
  • 举报
回复
'引 用:Microsoft Scripting Runtime

Function FsoRead(ByVal pFile As String) As String
On Error Resume Next
Dim u As Object
Dim X As TextStream
Set u = CreateObject("scripting.filesystemobject")
Set X = u.OpenTextFile(pFile, ForReading, True)
FsoRead = X.ReadAll
Exit Function
End Function
dongge2000 2004-12-25
  • 打赏
  • 举报
回复
'调用方法:ReadFile(文件的路径和文件名)
Function ReadFile(pFile As String) As String
Dim fN As Integer
fN = FreeFile
Open pFile For Binary Access Read As #fN
ReadFile = Space(FileLen(pFile))
Get #fN, , ReadFile
Close #fN
End Function
里面所含的内容有: 1、vb6MDPlay重复播放.txt 2、vb6MsgBox消息窗口.txt 3、vb6text自动换行.txt 4、vb6保存(读取)数据到注册表里.txt 5、vb6背景色透明.txt 6、vb6打开任意类型的文件.txt 7、vb6打开网页.txt 8、vb6单击按钮复制文本框内的内容.txt 9、vb6单击按钮最小化窗体.txt 10、vb6点击最大化最小化和关闭(有上角的)触发什么事件.txt 11、vb6调用API函数模拟按下Alt键.txt 12、vb6读写txt内容.txt 13、vb6根据MDPlay设计进度框.txt 14、vb6后台发送邮件.txt 15、vb6获取鼠标当前位置.txt 16、vb6检测程序是否运行.txt 17、vb6检测键盘的输入.txt 18、vb6检测文件是否存在.txt 19、vb6进度条的使用A.txt 20、vb6进度条的使用B.txt 21、vb6禁止改变窗口大小(允许最大化和最小化).txt 22、vb6模拟按键.txt 23、vb6模拟键盘输入的N种方法.txt 24、vb6判断鼠标左键被按下.txt 25、vb6屏幕任意截图.txt 26、vb6全局键盘钩子.txt 27、Vb6如何注册OCX控件.txt 28、vb6什么是键盘虚拟键?.txt 29、vb6使控件大小随窗体的变化而变化.txt 30、vb6使用ShellExecute调用RAR进行解压.txt 31、vb6释放资源文件.txt 32、vb6提取包含特定字符的行的内容.txt 33、vb6托盘+气泡(不用模块).txt 34、vb6拖动text文本框.txt 35、vb6拖动没有标题栏的窗口.txt 36、vb6信息收发软件的制作.txt 37、vb6循环整数的运用.txt 38、vb6用MDPlay播放音乐.txt 39、vb6用代码解压缩rar文件.txt 40、vb6用代码添加资源文件.txt 41、vb6在程序中调用资源文件.txt 42、vb6在数据库中保存变量.txt 43、vb6怎么生成不带引号的字符.txt 44、vb6制作时钟(时针、分针、秒针).txt 45、vb6中的text中输入的内容存为txt文本.txt 46、vb6中多个简单的命令.txt 47、vb6中怎样加载背景图片,能随窗体大小变化? .txt 以上内容纯属作者本人整理,内容的可靠性也经本作者亲手证实,请放心使用,珍惜作者的劳动成果。

7,785

社区成员

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

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