VB中关于二进制的操作

前端之家收集整理的这篇文章主要介绍了VB中关于二进制的操作前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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

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

猜你在找的VB相关文章