`
yiyeqinghuasoon
  • 浏览: 644605 次
文章分类
社区版块
存档分类
最新评论

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

分享到:
评论

相关推荐

    vb2005案例-二进制文件的读写操作

    vb2005案例-二进制文件的读写操作vb2005案例-二进制文件的读写操作

    VB.net 二进制文件的读写源代码

    源代码基于VB.net对二进制文件进行读写操作。

    VB在二进制文件中提取图像.rar

    VB在二进制文件中提取图像文件,提取VB源码中二进制文件中的所有图片资源ReadFrxRes,程序将最先分析一些二进制文件,诸如frm/frx,ctl/ctx等文件内的图像文件存储方式,然后把图像文件的Byte数组转换成StdPicture...

    VB读取jpeg文件二进制写入

    VB读取jpeg二进制数据,将其以二进制流数据进行保存。之后再将保存的文件进行显示。对于学习二进制操作非常有借鉴。

    ado 操作大对象二进制数据

    ado 操作数据库中,大对象二进制数据,适用于VC、VB等

    VB 将二进制图片文件转换为Base64字符串文本

    VB 将二进制图片文件转换为Base64字符串文本

    VB进制转换程序(十六进制、十进制、二进制、四进制互相转换).rar

    VB进制转换程序,可进行以下四种进制相互转换:二进制、四进制、十六进制、十进制,界面简洁,操作方便,示例演示截图如图所示。

    如何让C#、VB.NET实现复杂的二进制操作

    VB.NET和C#属于高级语言,对二进制位操作的支持不是很好,比如没有了移位运算等,用的时候确实很不方便,所以在闲暇之余我重新封装了一个用于C#、VB.NET的位操作类库,通过该类库可以实现数据移位、循环移位、转换为...

    二进制文件批量加密工具.zip

    VB现实的文件加密工具,通过选择一个文件,进而对该文件进行单独的加密,加密成功后会在其同目录下产生一个加密后的文件,加密后的文件只有进行逆向解密操作才能正常打开。也可以批量加密所选文件所在文件夹内所有...

    C#、VB.NET实现的位操作类库

    用于C#和VB.NET的二进制位操作类库,支持移位、循环移位、位设置和位状态查询等

    VB6超大文件(大于2G)读写 示例代码

    VB6超大文件读写,使用SetFilePointer定位,分段读写,解决VB6超大文件复制问题

    VB带漂亮TAB窗口的二进制文件备份程序.rar

    VB以二进制方式备份文件的小程序,它有一个挺漂亮实用的TAB式窗口,还可支持定时备份功能,通过操作TAB,可方便用户在备份与“定时备份”之间切换,本程序原型是针对数据库的备份程序,文件一类的未做测试,程序运行...

    vb.net 使用Access数据库保存和读取图片文件

    VB.NET 使用Access数据库保存和读取图片文件;并连接到datagridview

    32位进制转换计算器v1.0.5

    使用VB编写的进制转换器,支持32位位宽...1. 十进制 十六进制 二进制 互转 2. 左移 右移操作 (新增功能) 3. 连续地与操作, 或操作, 异或操作 (新增功能) 4. 统计结果数值中1的个数用与辅助测试奇偶校验 (新增功能)

    32位进制转换计算器v1.0.7.exe

    使用VB编写的进制转换器,支持32位...1. 十进制 十六进制 二进制 互转 2. 左移 右移操作 3. 连续地与操作, 或操作, 异或操作 4. 统计结果数值中1的个数用与辅助测试奇偶校验 6. 输入格式限制(正则表达式)(新增)

    VB提取frx、ctl、ctx等二进制文件中的图片资源

    内容索引:VB源码,文件操作,提取图片 VB提取二进制源码文件中的图片资源,分析frm/frx,ctl/ctx等文件里图片的保存方式,其实也是比较简单的,就是查看内存中的图片,或者是把图片文件的Byte数组转换成StdPicture类型...

    VB实现Word97-2003二进制文件格式文本提取

    摘要:VB源码,文件操作,二进制,文本提取,Word VB实现Word97-2003二进制文件格式文本提取程序的源代码,在此提醒:本控件本方法在vc中使用正常, 但是在vb中如果doc文件太大(测试过40M的)就会崩溃!同时也期待高手...

    vb6文件操作

    文章介绍文件的三种类型:1、顺序文件(文本文件)2、随机访问文件3、二进制文件。三种文件类型的操作方法。

    VB演示 FileToSplit分割文件与合并文件.rar

    本范例文件分割的思路:程序通过调用FreeFile函数来取得可以的文件号,以二进制的方式打开文件,根据文件的长度FilesLen和每个分割单位的比较,得出被分割之后的子文件个数,重新定义最后一个子文件的大小,将所取得...

Global site tag (gtag.js) - Google Analytics