回 帖 发 新 帖 刷新版面

主题:如何读写文本文件

请问怎样用VB实现读取一个“*.TXT”文件,该文件由很多行类似“6,12.4,23.4,4.2”的数字组成,每一行的格式是一样的,都有4个数字,每个数字之间用“,”分开,我想将每一行数据的第一个数字不变,而第2、3、4这三个数字分别加上一个随机数然后依次写到另一个“*.txt”文件中,如何才能实现呢?谢谢![em18]

回复列表 (共7个回复)

沙发

思路如下:
1.读数据的时候,将回车换行符替换成逗号","
2.把这一溜数据装入字符型数组
3.在For循环中,第0、4、8....数组元素之值不变,其余的加上一个随机数
4.存盘

Dim St As String, Z As String, i As Integer, Dat()
Open Nam For Input As #1
Do Until EOF(1)
  Line Input #1, Z
  St = St & Z & ","  '第一步
Loop
Close #1

Dat = Split(St, ",", -1) '第二步

St = Dat(0)
Randomize

For i = 1 To UBound(Dat) '第三步
  st = st & IIf(i / 4 = i \ 4, vbCrLf & Dat(i), "," & Val(Dat(i)) + 10 * Rnd) '加上10以内的随机数,你按要求改
Next

第四步存盘你自己写吧,数据都在St中

板凳

老兄,写入数据部分能否帮我写一下,我刚学VB,不会处理啊,非常感谢。

3 楼

Open Nam For Output As #1
Print #1, St
Close #1

存盘的文件名你可以修改,我这是存入原文件中

4 楼


谢谢。

5 楼

你要是使用VB.net就容易多了,程序如下(一个子程序):

Private Sub SaveTextFiles(byval strPath as String,byval strText as String)
    'strPath为文件路径,strText为内容,将内容放至strText即可
    Try
        System.IO.File.WriteAllText(strPath,strText)'就这一句话即可写入
    Catch
        Debug.Print("写入文件出错")'错误处理
    End Try
End Sub

6 楼


[url=http://www.bootboots.com]ugg boots[/url]
[url=http://www.salelouboutin.com]christian louboutin[/url]
[url=http://www.buylouboutin.com]louboutin[/url]
[url=http://www.bootboots.com]cheap ugg boots[/url]
[url=http://www.bootboots.com]discount ugg boots[/url]
[url=http://www.bootboots.com]ugg boots sale[/url]
[url=http://www.bestlouisvuitton.com]lv handbags[/url]
[url=http://www.sale-mbt.com]mbt shoes[/url]
[url=http://www.discount-christianlouboutin.com]christian louboutin[/url]

7 楼


[url=http://www.bootboots.com]ugg boots[/url]
[url=http://www.salelouboutin.com]christian louboutin[/url]
[url=http://www.buylouboutin.com]louboutin[/url]
[url=http://www.bootboots.com]cheap ugg boots[/url]
[url=http://www.bootboots.com]discount ugg boots[/url]
[url=http://www.bootboots.com]ugg boots sale[/url]
[url=http://www.bestlouisvuitton.com]lv handbags[/url]
[url=http://www.sale-mbt.com]mbt shoes[/url]
[url=http://www.discount-christianlouboutin.com]christian louboutin[/url]

我来回复

您尚未登录,请登录后再回复。点此登录或注册