7.1文件系统控件
1.文件系统控件种类
(1)驱动器列表框(DriveListBox):用来显示当前机器上的所有盘符
(2)目录列表框(DirListBox):用来显示当前盘上的所有文件夹
(3)文件列表框(FileListBox):用来显示当前文件夹下的所有文件名
2.重要属性
3.重要事件
7.2文件的读写
1.文件的有关概念
记录:计算机处理数据的基本单位,由若干个相互关联的数据项组成。相当于表格中的一行。
文件:记录的集合,相当于一张表。
文件类型:顺序文件、随机文件、二进制文件。
访问模式:计算机访问文件的方式,VB中有顺序、随机、二进制三种访问模式。
2.顺序访问模式
顺序访问模式的规则最简单,指读出或写入时,从第一条记录“顺序”地读到最后一条记录,不可以跳跃式访问。该模式专门用于处理文本文件,每一行文本相当于一条记录,每条记录可长可短,记录与记录之间用“换行符”来分隔。
顺序文件的写入步骤:打开、写入、关闭;.读出步骤:打开、读出、关闭。
(1)打开文件
打开文件的命令是Open,格式为:
Open“文件名”For模式.As[#]文件号[Len=记录长度]
说明:
1)文件名可以是字符串常量也可以是字符串变量
2)模式可以是下面之一:
OutPut:打开一个文件,将对该文件进行写操作
Input:打开一个文件,将对该文件进行读操作
Append:打开一个文件,将在该文件末尾追加记录
3)文件号是一个介于1-511之间的整数,打开一个文件时需要指定一个文件号,这个文件号就代表该文件,直到文件关闭后这个号才可以被其他文件所使用。可以利用FreeFile()函数获得下一个可以利用的文件号。
例:Open."D:sjaaa".For.Output.As.#1..
意思是:打开D:SJ下aaa文件供写入数据,文件号为#1
(2)写操作
将数据写入磁盘文件所用的命令是:Write#或Print#。
语法格式:
1)Print#文件号,[输出列表]
例:Open“D:SJTEST.DAT”For.Output.As.#1
Print.#1,Text1.Text...'把文本框的内容一次性写入文件
Close.#1
2)Write#文件号,[输出列表]
其中的输出列表一般指用逗号,分隔的数值或字符串表达式。Write#与Print#的功能基本相同,区别是Write#是以紧凑格式存放,在数据间插入逗号,并给字符串加上双引号。
(3).关闭文件
结束各种读写操作后,必须将文件关闭,否则会造成数据丢失。关闭文件的命令是Close。
Close.[#]文件号[,[#]文件号]……
例:Close.#1,#2,#3
(4)读操作
1)Input#文件号,变量列表
作用:将从文件中读出的数据分别赋给指定的变量。
注意:与Write#配套才可以准确地读出。
2)Line.Input#文件号,字符串变量
用于从文件中读出一行数据,并将读出的数据赋给指定的字符串变量,读出的数据中不包含回车符和换行符,可与Print#配套用。
3)Input$(读取的字符数,#文件号)
该函数可以读取指定数目的字符。
与读文件有关的两个函数:
LOF():返回某文件的字节数
EOF():检查指针是否到达文件尾。
例:将一个文本文件读入文本框的三种方法。
3.随机访问模式
该模式要求文件中的每条记录的长度都是相同的,记录与记录之间不需要特殊的分隔符号。只要给出记录号,可以直接访问某一特定记录,其优点是存取速度快,更新容易。
(1).打开与关闭
打开:Open“文件名”For.Random.As[#]文件号[Len=记录长度]
关闭:Close.#文件号
注意:文件以随机方式打开后,可以同时进行写入和读出操作,但需要指明记录的长度,系统默认长度为128个字节。
(2)读与写
读操作:Get.[#]文件号,[记录号],变量名
说明:Get命令是从磁盘文件中将一条由记录号指定的记录内容读入记录变量中;记录号是大于1的整数,表示对第几条记录进行操作,如果忽略不写,则表示当前记录的下一条记录。
写操作:Put.[#]文件号,[记录号],变量名
说明:Put命令是将一个记录变量的内容,写入所打开的磁盘文件指定的记录位置;记录号是大于1的整数,表示写入的是第几条记录,如果忽略不写,则表示在当前记录后插入一条记录。
4.二进制访问模式
打开:Open“文件名”For.Binary.As[#]文件号[Len=记录长度]
关闭:Close.#文件号
该模式是最原始的文件类型,直接把二进制码存放在文件中,没有什么格式,以字节数来定位数据,允许程序按所需的任何方式组织和访问数据,也允许对文件中各字节数据进行存取和访问。
该模式与随机模式类似,其读写语句也是Get和Put,区别是二进制模式的访问单位是字节,随机模式的访问单位是记录。在此模式中,可以把文件指针移到文件的任何地方,刚开始打开时,文件指针指向第一个字节,以后随文件处理命令的执行而一旦。文件一旦打开,就可以同时进行读写。
7.3常用的文件操作语句和函数
1.FileCopy语句格式:FileCopy.源文件名.目标文件名
功能:复制一个文件
说明:不能复制一个已打开的文件
2.Kill语句
格式:Kill.文件名
功能:删除文件
说明:文件名中可以使用通配符,?
3.Name语句
格式:Name.旧文件名.新文件名
功能:重新命名一个文件或目录
说明:不能使用通配符;具有移动文件功能;不能对已打开的文件进行重命名操作
4.ChDrive语句
格式:ChDrive.驱动器
功能:改变当前驱动器
说明:如果驱动器为空,则不变;如果驱动器中有多个字符,则只会使用首字母
5.MkDir语句
格式:MkDir.文件夹名
功能:创建一个新的目录
6.ChDir语句
格式:ChDir.文件夹名
功能:改变当前目录
说明:改变默认目录,但不改变默认驱动器。
7.RmDir语句
格式:RmDir.文件夹名
功能:删除一个存在的目录
说明:不能删除一个含有文件的目录
8.CurDir()函数
格式:CurDir[(驱动器)]
功能:可以确定任何一个驱动器的当前目录。
说明:括号中的驱动器表示需要确定当前目录的驱动器,如果为空,返回当前驱动器的当前目录路径。
8.4进程条(ProgressBar)和滑块(Slider)
1.进程条作用:进程条控件用于监视操作完成的进度。
创建:在窗体上画出进程条控件,右击,选择属性,然后进行所需的外观设置。
主要属性:ProgressBar控件有一个行程和一个当前位置。行程代表该操作的整个持续时间。当前位置则代表应用程序在完成该操作过程时的进度。Max和Min属性设置了行程的界限。Value属性则指明了在行程范围内的当前位置。.
(1).Min属性代表进程条全空时的值,缺省时为0。
(2).Max属性代表进程条全空时的值,缺省时为100。
(3).Value属性代表进程条当前的值(但不出现在属性窗口中),它大于Min属性,小于Max属性。改变Value属性的值将改变进程条的进度显 示。
示例:
PrivateSubCommand1_Click()
If.ProgressBar1.Value<ProgressBar1.MaxThen
ProgressBar1.Value=ProgressBar1.Value+5
Else
ProgressBar1.Visible=False.‘当进程条满了的时候让进程条消失
EndIf
EndSub