当前位置:   article > 正文

VB中关于二进制的操作_vb open for binary

vb open for binary

    二进制文件的操作是最基础,最简单,也是最强悍的.

    我们先来看看相关语法,Open语句:

    Open pathname For mode [Access access] [lock] As [#]filenumber [Len=reclength]

 

    各个部分的含义如下:

    pathname     必要的字符串表达式,指定带路径的文件名.

    mode            必要关键字,指定文件方式Append,Binary,Input,Output或Random方式.如果未指定方

                         式,则以 Random 访问方式打开文件.

    access          可选关键字,说明打开的文件进行的操作.有Read,Write或Read Write 操作.

    lock               可选关键字,说明限定于其它进程打开的文件的操作,有Shared,Lock Read,Lock Write和

                         Lock Read Write 操作.

    filenumber    必要一个有效的文件号,范围在1到511之间.使用FreeFile 函数可得到下一个可用的文件号.

    reclength     可选小于或等于32767(字节)的一个数. 对于用随机访问方式打开的文件,该值就是记录长度

                        对于顺序文件,该值就是缓冲字符数.

 

    *如果 pathname 指定的文件不存在,则用Append,Binary,Output或Random方式打开文件时,可以建立这一文件.

    *如果文件已由其它进程打开,而且不允许指定的访问类型,则 Open 操作失败,而且会有错误发生.

    *如果 mode 是 Binary 方式,则 Len 子句会被忽略掉.在Binary,Input 和Random方式下可以用不同的文件号打开同一文件,而不必先将该文件号关闭.在Append 和Output 方式下,如果要用不同的文件号打开同一文件,则必须在打开文件之前先关闭该文件号.

 

    相关操作语句:

    Get 语句,将一个已打开的磁盘文件读入一个变量之中.

    语法
    Get [#]filenumber, [recnumber], varname

    各部分含义如下:

    filenumber      必要的有效文件号

    recnumber      可选Variant (Long)记录号(Random 方式的文件)或字节数(Binary 方式的文件),以表

                           示在此处开始读出数据

    varname         必要一个有效的变量名,将读出的数据赋值给该变量.

   

    Put语句正好是Get的反过程.

   

    例子一:

    打开一个二进制文件,读取每一个字节的值.

    Dim f As Integer,b() As Byte

    Dim i as Long

    f = FreeFile

    Open app.Path & "/1.dat" for Binary As #f

    i = lof(f)

    Redim b(1 to f)

    For i = 1 to lof(f)

     Get #f,i,b(i)

    Next i

    Close #f

   

    例子二:

    修改某个二进制文件特定字节的值,比如PlantsVSZombies(植物大战僵尸)这个游戏的存档文件,我们要修改它的金钱.金钱在User2.dat中,偏移量(OffSet)为00000008到0000000B四个字节,即一个Long.但是游戏最小金钱单位是10所以只要写入99999游戏中就显示999990了.

    Open App.Path & "/user2.dat" For Binary As #1
     Put #1, , CLng(99999)
    Close #1

    这里我们直接写入一个Long,而不是单个字节的写,那样麻烦.好了开始有人想写修改器了.

 

    Seek 语句可以用来获取当前读取的位置,目前我感觉没多大用处,所以就不说了.

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/203319
推荐阅读
相关标签
  

闽ICP备14008679号