加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

VB中关于二进制的操作

发布时间:2020-12-16 23:26:42 所属栏目:大数据 来源:网络整理
导读:二进制文件的操作是最基础,最简单,也是最强悍的. 我们先来看看相关语法,Open语句: Open pathname For mode [Access access] [lock] As [#]filenumber [Len=reclength] 各个部分的含义如下: pathname 必要的字符串表达式,指定带路径的文件名. mode 必要关键

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

我们先来看看相关语法,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,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 语句可以用来获取当前读取的位置,目前我感觉没多大用处,所以就不说了.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读