VB 如何修改TXT内容?

如何修改TXT内容?第一:我要能在TXT文本的最后一行可以写入新的数据第二:可以任意修改、删除TXT文本的某一行数据本人刚接触VB不长时间,对数据处理还很陌生,请高手帮忙... 如何修改TXT内容?

第一:我要能在TXT文本的最后一行可以写入新的数据
第二:可以任意修改、删除TXT文本的某一行数据

本人刚接触VB不长时间,对数据处理还很陌生,请高手帮忙写个例子!
youxiang a395977648去掉我@163去掉我.com
感激不尽!
展开
 我来答
网海1书生
科技发烧友

2013-04-13 · 擅长软件设计、WEB应用开发、小程序
网海1书生
采纳数:12311 获赞数:26228

向TA提问 私信TA
展开全部
楼上的别瞧不起VB6,其实这样的简单问题VB6处理起来也很简单,而且不需要FSO

1、最后一行写入数据:
Open "c:\123.txt" For Append As #1
Print #1, "要写入的数据"
Close #1

2、修改某一行数据:
Dim s() As String
Open "c:\123.txt" For Binary As #1
s = Split(Input(LOF(1), #1), vbCrLf)

s(4) = "修改后的数据" '修改第5行的数据(s(0)是第1行)
Put #1, , Join(s, vbCrLf)
Close #1
追问
Open "c:\123.txt" For Append As #1

Print #1, "要写入的数据"
Close #1
这句为什么会在文本的最后一行多出一个空行呢??
瑞雪屋
2013-04-12 · TA获得超过1177个赞
知道小有建树答主
回答量:424
采纳率:80%
帮助的人:128万
展开全部
TXT是最好操作的文件了。
不过如果你初学VB,还是去学其它编程语言吧,或者直接学习VB.NET也行。
VB和VB.NET根本是一个地一个天,其差距是非常巨大的。
在VB.NET中,你说的这个问题太小儿科了,超级简单。
但在VB中,就比较麻烦了,主要是编写上麻烦,还要调用FSO系统。

就用VB.NET来简单回答一下吧
第一个问题:直接在写入文件时,使用Append参数就行了,比如
Dim vSW As New IO.StreamWriter("C:\123.txt", True)
vSW.Write("写入文件的内容")
vSW.Close()

第二个问题,在读取TXT文件时,直接拆分到字符串数组就行了,这样你随便去修改、删除。
Dim vSR As New IO.StreamReader("C:\123.txt")
Dim vStrs() = vSR.ReadToEnd.Split(vbCrLf)
vSR.Close()

这就是VB.NET关于你这两个问题的代码,够简单吧。
追问
恩,我也打算学习VB.NET但是听说如果要使用NET编写的程序,首先电脑要安装net framework否则程序不能运行是吗?
追答
只要是WIN7及以上的系统,都有.NET框架。如果是XP或以下系统,就需要安装NET框架了。
现在多数人都用上WIn7了吧,还有一些用上了WIN8。
只有一些特别怀旧和电脑配置不是太好的朋友,还在用着XP。
未来用WIN7或以上版本的人,会越来越多,所以这个NET框架根本就不是问题了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友96ffcf7
2015-07-03 · 知道合伙人互联网行家
百度网友96ffcf7
知道合伙人互联网行家
采纳数:22721 获赞数:118724
从事多年网络方面工作,有丰富的互联网经验。

向TA提问 私信TA
展开全部
Private Sub Command1_Click()
Dim S As String
Dim S1$, S2$, S3$, S4$
Open "d:\vbtxt2.txt" For Output As #1
Open "d:\vbtxt.txt" For Input As #2
Do While Not EOF(2)
Line Input #2, S
If InStr(S, "王权") > 0 Then
x = InStr(S, "王权")
S1 = Left(S, x + 1)
S4 = S1
S2 = Right(S, Len(S) - x - 1)
For i = 1 To Len(S2)
S3 = Mid(S2, i, 1)
If S3 <> " " Then '找到王权后面的第一个数字,即改为7
S4 = S4 & "7"
Exit For
Else
S4 = S4 & S3
End If
Next i
S4 = S4 & Mid(S2, i + 1)
Print #1, S4
Else
Print #1, S
End If
Loop
Close (1)
Close (2)
Kill ("d:\vbtxt.txt") '删除原来的文件
Name "d:\vbtxt2.txt" As "d:\vbtxt.txt" '修改后来的文件名为原来一样
MsgBox "操作完毕!", , "OK"
End Sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sunwenqi199138
2013-04-12
知道答主
回答量:18
采纳率:0%
帮助的人:9.9万
展开全部
哥们 劝你 别学VB 以后工作用的非常少
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式