VB获取TXT指定内容

ljwc010 2009-08-04 02:56:15
比如有个TXT文件里的内容是这样的:
aa=1
bb=2
cc=3
dd=4
.
.
.
ee=565
ff=545
dd=22
.
ee=23423
.
现在想获取所有从“dd=”开始到"ee="的所有行内容,有一个关键的问题就是,无法确定这些内容到底从第几行开始,然后从第几行结束。
...全文
105 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
samtyty 2009-08-04
  • 打赏
  • 举报
回复
    Dim temp As String
Text1.Text = ""
Open "F:\qqq.txt" For Input As #1
Do While Not EOF(1)
Line Input #1, temp
If InStr(temp, "dd=") <> 0 Then
Text1.Text = Text1.Text & temp & vbCrLf
Line Input #1, temp
Text1.Text = Text1.Text & temp & vbCrLf
ElseIf InStr(temp, "ee=") <> 0 Then
Text1.Text = Text1.Text & temp & vbCrLf
End If
Loop
Close #1

测试内容:
aa=1
bb=2
cc=3
dd=4
hh=6
ss=89
df=89
ee=565
ff=545
dd=22
sd=45
ee=23423
aa=11
bb=2 1
cc=3 1
dd=4 1
hh=6 1
ss=89 1
df=89 1
ee=565 1
ff=545 1
sd=45 1
futosky 2009-08-04
  • 打赏
  • 举报
回复
这里有一段代码,我自己写的,应该说基本满足,但效率不敢说,代码也没有优化
Dim sy As String
Private Sub Command1_Click()
Command1.Enabled = False


Do Until 0 > 1


Do
If Not EOF(1) Then
Line Input #1, sy
Else
Command1.Enabled = True
Close #1
Exit Sub
Command1.Enabled = True
End If
Loop Until Left(sy, 2) = "dd"


Text1.Text = Text1.Text & sy & vbCrLf




Do
If Not EOF(1) Then
Line Input #1, sy
Text1.Text = Text1.Text & sy & vbCrLf
Else
Close #1
Exit Sub
Command1.Enabled = True
End If
Loop Until Left(sy, 2) = "ee"


Loop
End Sub

Private Sub Command2_Click()
Open App.Path & "\shiyan.txt" For Input As #1
Text1.Text = Text1.Text & "打开成功!" & vbCrLf
End Sub



下面是试验文件
aa=1
bb=2
cc=3
dd=4
hh=6
ss=89
df=89
ee=565
ff=545
dd=22
sd=45
ee=23423

yangguo8013 2009-08-04
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 huyongsc 的回复:]
先将所有文本读到一变量中,然后用字符串截取函数处理。
[/Quote]
这个方法感觉变量得设的很大啊,不如从第一行读取然后字符串截取
huyongsc 2009-08-04
  • 打赏
  • 举报
回复
先将所有文本读到一变量中,然后用字符串截取函数处理。

7,763

社区成员

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

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