VB文件读写
2015-10-08 15:33
387 查看
vb使用open方法读写文件
(一)打开和关闭文件 1、顺序文件 打开顺序文件,我们可以使用Open语句。它的格式如下:
(1)参数pathname 表示要打开的文件名,文件名可以包含有驱动器和目录 (2)Input Output 和Append用于设置顺序文件的打开方式。其中,Input表示从打开的文件中读取数据。以这种方式打开文件时,文件必须存在,否则会产生错误。Output表示向打开的文件中写入数据。以这种方式打开文件时,文件中原有的数据将被覆盖,新的数据将从文件开始写入。如果文件不存在,则创建一个新文件。Append表示向打开的文件中添加数据。以这种方式打开时,文件中原有的数据将被保留,新的数据将从文件为开始添加。如果文件不存在,则创建一个新文件。 (3)As[#]filenumber 子句用于为打开的文件指定文件号.对文件进行读写操作时,要用文件号表示该文件.文件号是介于1~511之间的整数,既可以是数字,又可以是变量.也可以省略不用. (4)当在文件与程序之间拷贝数据时,Len=buffersize子句指定缓冲区的字符数. 例如:
2、随机文件 操作随机文件之前,首先必须定义用于保存数据项的记录类型.该记录是用户自定义数据类型,他们是随机文件中存储数据的基本结构.例如:
之后我们就可以打开并读写文件了.下面是打开随机文件的语法格式:
(1)参数filename 和filenumber 分别表示文件名或文件号. (2)关键字Random 表示打开的是随机文件 (3)Len子句用于设置记录长度,长度由参数Reclength指定.Reclength的值必须大于0,而且必须与定义的记录结构的长度一致.计算记录长度的方法是将记录结构中每个元素的长度相加.例如前面声明的Student的长度应该是2+20+2=24字节. 打开一个记录类型为Student 的随机文件的方法是:
打开二进制文件的语法格式如下:
(1) 参数filename 和filenumber 分别表示文件名或文件号. (2)关键字Binary 表示打开的是二进制文件 (3)对于二进制文件,不能指定字节长度.每个打开的二进制文件都有一个自己的指针,文件指针是一个数字值,指向下一次读写操作的文件中的位置.二进制文件中的每个”位置”对应一个数据字节,因此,有n个字节的文件,就有1到n个位置. 我们可以用Seek()函数返回当前的文件指针位置(即下一个要读写的字节 );用Loc()函数返回上一次读写的字节位置,除非用Seek语句移动了指针,Loc()返回值总比Seek()的小1.我们来看下面的例子:
(二)读文件 1、顺序文件 顺序文件的读取有三种方式: (1)Line Input # 语句 该语句从打开的顺序文件中读取一行数据。这里的一行指的是从当前指针位置开始到回车符或回车换行符之间的所有数据。Line Input # 语句的语法格式如下:
请看下面代码:
(2)Input函数 此函数可以从顺序文件中一次读取指定长度的字符串。具体地说,就是从文件的当前位置开始,读取指定个数的字符,然后将他们返回。Input函数可以读取包括换行符,回车符,空格符等在内的各种字符。下面是它的语法格式: 变量 = Input(串长度,文件号) 例如,要从一个打开文件中读取12个字符并复制到变量file中,我们可以这样写:
Input #语句可以从文件中同时向多个变量内读入数据,而且读入的数据可以是不同类型的。 下面使它的语法格式:
读取随机文件是可以使用Get # 语句,数据从文件的一个指定记录中读出后,存入一个用户自定义的变量中. 语法格式: Get # FileNum ,[RecNum],UserType 说明: (1)FileNum 是要打开的文件号;RecNum是要读取的记录号,若省略,则读取下一个记录 (2)UserType 是一个用来存放读出数据的用户自定义的数据类型变量. 下面是一个例子:
3、二进制文件 读写二进制文件的方法和读写随机文件的方法基本相同,下面是相关的语句格式及其说明: 格式: Get [#]fileNumber ,[Pos], Var 功能: 用二进制方式,从文件的中指定的位置开始读取,所给变量长度的数据 说明: (1)FileNumber是以二进制方式打开的文件号. (2)Pos用来指定读写操作发生时的字节位置,若省略,则使用当前文件指针位置. (3)Var是用来存放读出的数据的变量.该语句会自动根据var变量包含的字节长度读取适当的文件,如果Var是一个可变长度的字符串变量,则传送的字节数等于Var中目前的字节数.对于文件长度的判断我们可以使用Lof()函数,Eof()函数检查文件的结尾位置. 下面的代码复制studert.txt文件到student1.txt文件中
(三)写文件 1、 顺序文件 写顺序文件我们可以用Write # 和Print #语句向一个已经打开的文件中写入数据. 下面是他们的格式和说明: Print # 的语法格式:
向随机文件中写入数据,使用Put #语句.语法格式如下:
(1) FileNum 是要打开的文件号;RecNum是要写入的记录号,若省略,则再上一次用Get 和Put语句所读写过的记录的后一条记录中写入,如果没有执行过Get 和Put语句,就从第一条记录开始 (2)UserType 是包含要写入数据的用户自定义的数据类型变量.例如:我们向前面的student.txt文件中的第5个记录写入数据,可用这些语句:
下面是以二进制方式写入文件的语句格式及其说明: 格式:
说明: (1)FileNumber是以二进制方式打开的文件号. (2)Pos用来指定写操作发生时的字节位置,若省略,则使用当前文件指针位置. (3)Var是用来存放写入的数据的变量.该语句会自动根据var变量包含的字节长度写入文件,如果Var是一个可变长度的字符串变量,则传送的字节数等于Var中目前的字节数 |
相关文章推荐
- VB 读写文件
- VBA教程
- 在VB 中调用动态连接库
- (一)VBA基础——显示Excel的【开发工具】选项卡
- win7 64位启动virtualBox虚拟机的失败案例一 VBoxDD.dll
- VBA创建超链接内容表
- VB CAD插件二次开发
- VB 连接AutoCad 模块代码
- VBA 第14课 自动生成年历
- 10月tiobe。oc跌出前10,排名不如汇编和老vb
- VBA 学习
- Virtualbox 的 Kern Service 出问题了,怎么办?
- VBA 第13课 字典dictionary
- VBA 第12课 插入排序
- VBA 第11课 数组,取特定行数据
- 名字与地址转换getservbyname 与 getservbyport函数
- VBA 第10课 禁止关闭工作薄
- VBA 第9课 合并单元格
- VBA 第8课 Excel单元格的颜色,格式的设置
- Vagrant 启动报错:the "vboxsf" file system is not available