VB 如何修改TXT内容?
如何修改TXT内容?第一:我要能在TXT文本的最后一行可以写入新的数据第二:可以任意修改、删除TXT文本的某一行数据本人刚接触VB不长时间,对数据处理还很陌生,请高手帮忙...
如何修改TXT内容?
第一:我要能在TXT文本的最后一行可以写入新的数据
第二:可以任意修改、删除TXT文本的某一行数据
本人刚接触VB不长时间,对数据处理还很陌生,请高手帮忙写个例子!
youxiang a395977648去掉我@163去掉我.com
感激不尽! 展开
第一:我要能在TXT文本的最后一行可以写入新的数据
第二:可以任意修改、删除TXT文本的某一行数据
本人刚接触VB不长时间,对数据处理还很陌生,请高手帮忙写个例子!
youxiang a395977648去掉我@163去掉我.com
感激不尽! 展开
4个回答
展开全部
楼上的别瞧不起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
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
这句为什么会在文本的最后一行多出一个空行呢??
展开全部
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,还是去学其它编程语言吧,或者直接学习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框架根本就不是问题了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2015-07-03 · 知道合伙人互联网行家
关注
展开全部
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
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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
哥们 劝你 别学VB 以后工作用的非常少
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询