我想读取一个随机ZZ.txt文件的某几个字符,应该怎么写代码呀。

解决方案 »

  1.   

    就是一个zz.txt文件  里面数据:0940  13  16  14  16  14  240901  11  17  23  300903      13  130935  110901****  76  76  760931  51- 25 281 2820926 2770901--------------------  
    我要里面几个数据,比如41-44进行判断。
      

  2.   


    s=""
    Open "zz.txt" For Input As #1
    Line Input #1, t 's存储你要读取的值
    s=s & t
    Close #1v=split(s," ") '数组v中存放你读取的全部数据
    n=ubound(v) '求得数据的个数randomize
    mystr=v(int(rnd()*n+1))'随机取一个数据
      

  3.   

    Seek 语句
          在 Open 语句打开的文件中,设置下一个读/写操作的位置。语法Seek [#]filenumber, positionSeek 语句的语法具有以下几个部分:部分 描述 
    filenumber 必要。任何有效的文件号。 
    position 必要。介于 1 – 2,147,483,647 之间的数字,指出下一个读写操作将要发生的位置。 
    说明在 Get 及 Put 语句中指定的记录号将覆盖由 Seek 语句指定的文件位置。若在文件结尾之后进行 Seek 操作,则进行文件写入的操作会把文件扩大。如果试图对一个位置为负数或零的文件进行 Seek 操作,则会导致错误发生。
    ---------------
    Seek 语句示例
    本示例使用 Seek 语句在文件内设置下一次读写的位置。示例中假设 TESTFILE 文件内含有用户自定义数据类型 Record 的记录。Type Record   ' 定义用户自定义数据类型。
       ID As Integer
       Name As String * 20
    End Type如果以随机方式打开文件,Seek 将读写位置设置到下一个记录。Dim MyRecord As Record, MaxSize, RecordNumber   ' 声明变量。
    ' 以随机文件方式打开文件。
    Open "TESTFILE" For Random As #1 Len = Len(MyRecord)
    MaxSize = LOF(1) \ Len(MyRecord)   ' 取得文件中的记录的数。
    ' 用循环读入所有记录,但是从最后的记录开始往前读。
    For RecordNumber = MaxSize To 1 Step - 1
       Seek #1, RecordNumber   ' 设置读写位置。
       Get #1, , MyRecord   ' 读入一个记录。
    Next RecordNumber
    Close #1   ' 关闭文件。如果不以 Random 打开文件,则 Seek 设置下一个操作发生的位置。假设 TESTFILE 文件内含有文本数据。Dim MaxSize, NextChar, MyChar
    Open "TESTFILE" For Input As #1   ' 打开输入文件。
    MaxSize = LOF(1)   ' 取得文件的总字符数。
    ' 用循环读入所有记录,但是从最后的记录开始往前读。
    For NextChar = MaxSize To 1 Step -1   
       Seek #1, NextChar   ' 设置读写位置。
       MyChar = Input(1, #1)   ' 读入一字符。
    Next NextChar
    Close #1   ' 关闭文件。
      

  4.   

    楼上的  非常感谢你写的程序,但是好像和我想的有点出入
    0940  13  16  14  16  14  240901  11  17  23  300903      13  130935  110901****  76  76  760931  51- 25 281 2820926 2770901
    我想提取41-44的数  及zz.txt文件及上面数字里面  23这4个数。求帮助
      

  5.   

    zz.txt文件每10分钟更新一次,我要每10分钟读取一次。
      

  6.   

    “41-44的数 及zz.txt文件及上面数字里面 23这4个数”,不明白啊~~~~
      

  7.   

    Private Sub Command1_Click()
    Dim TempFile     As Long
    Dim LoadBytes()     As ByteTempFile = FreeFile
    Open "F:\bj\zz.txt" For Binary As #TempFile
    ReDim LoadBytes(41 To 44) As Byte
    Get #TempFile, , LoadBytes
    Close TempFileText1.Text = StrConv(LoadBytes, vbUnicode)
    End Sub
      

  8.   

    真难猜明白,莫非是mid函数~~~~s=""
    Open "zz.txt" For Input As #1
    Line Input #1, t 's存储你要读取的值
    s=s & t
    Close #1'v=split(s," ") '数组v中存放你读取的全部数据
    'n=ubound(v) '求得数据的个数mystr=mid(s,41,4)'莫非是mid函数
    'randomize
    'mystr=v(int(rnd()*n+1))'随机取一个数据