《Visual Basic程序设计》课件第7章_第1页
《Visual Basic程序设计》课件第7章_第2页
《Visual Basic程序设计》课件第7章_第3页
《Visual Basic程序设计》课件第7章_第4页
《Visual Basic程序设计》课件第7章_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

主要内容文件系统控件文件操作常用函数顺序文件的操作随机文件的操作

二进制文件的操作

1.1图像浏览器案例说明

利用VB中提供文件系统控件,可以很方便地对文件进行查看。程序运行时,通过选择磁盘和目录定位图像文件,在文件列表框中选中图像文件后,在图片框中显示。运行效果如图7-1所示。1.2程序实现

界面设计:建立一个新工程,在窗体上添加3个标签控件,1个驱动器列表控件,1个目录列表控件,1个文件列表控件和一个图片框控件,并按表7-1设置各控件的属性:2.代码设计:1.3相关知识

1.驱动器列表框:是一个下拉式的列表框,提供了一个驱动器的列表。当单击右边的箭头时,则弹出显示计算机中的所有驱动器的下拉列表。(1)主要属性:Drive属性,用于返回或设置运行时选择的驱动器。默认值为当前驱动器,改变Drive属性会触发Change事件。格式如下:

<驱动器列表框名称>.Drive[=驱动器名]

(2)驱动器列表框的主要事件: 驱动器列表框的主要事件是Change,1.3相关知识

2.目录列表框:显示当前驱动器的目录结构,目录列表框从最高层目录开始,显示当前驱动器的目录结构,(1)目录列表框的主要属性:见表7-2

(2)目录列表框的主要事件:Change事件,当选择了一个新目录或通过代码改变了Path属性时触发该事件。1.3相关知识

3.文件列表框:显示当前目录中的部分或者全部文件。如果当前目录下的文件数量较多,自动在列表框中加上垂直滚动条。(1)文件列表框的主要属性:3个重要的常用属性:Path属性:返回或设置运行时选择的路径以显示其下的文件,改变Dir属性会触发PathChange事件。

File1.Path=Dir1.PathPattern属性:确定程序运行时,列表框中显示哪些类型的文件。它的缺省值为“*.*”,即显示所有文件的名字。在参数中还可以使用分号“;”来分割多种文件类型,

File1.Pattern=“*.Txt”在文件列表框中只显示.Txt文件。FileName属性:设置所选文件的路径和文件名,如果没有文件被选中,FileName属性将返回0长度的字符串。改变本属性值可能会产生如下事件:PathChange,PatternChange,DblClick(2)文件列表框的主要事件:Click事件,DblClick事件。1.4拓展知识文件操作控件驱动器列表框、目录列表框和文件列表框,三种控件一般需要同步操作。例如,假设驱动器列表框控件名为Drive1,目录列表框控件名为Dir1,文件列表框控件名为Fiel1,在代码窗口输入如下代码:PrivateSubDrive1_Change() '驱动器列表框的Change事件

Dir1.Path=Drive1.DriveEndSubPrivateSubDir1_Change() '目录列表框的Change事件

File1.Path=Dir1.PathEndSubPrivateSubFile1_Click() '文件列表框的单击事件

SelectedFile=File1.Path&"\"&File1.FileNameEndSub返回2.1文件操作器案例说明本案例可以实现目录的创建、删除;文件的创建、重命名和删除的操作,每个操作成功后都给出相应的提示信息。程序运行效果如图7-4所示。其中点击创建文件按钮后弹出如图7-5所示的对话框,输入文件名后如图7-6。2.2程序实现1.界面设计:建立一个新工程,在窗体上添加3个标签控件,1个驱动器列表控件,1个目录列表控件,1个文件列表控件、1个图片框控件并按[案例7-1]中的属性值设置它们的属性。另外再添加5个按钮控件。窗体和5个命令按钮控件按表7-3设置相应的属性:

2.代码设计:2.3相关知识1.文件操作相关函数(1)建立目录(文件夹)命令MkDir:MkDir“C:\temp”

功能:在C盘下建立一个temp文件夹(2)删除目录(文件夹)命令RmDir:RmDir“C:\temp”

功能:删除C盘下的temp文件夹,且temp文件夹必须为空(3)改变当前目录(文件夹)命令ChDir:ChDir“C:\temp”

功能:把当前文件夹改为C:\temp(4)复制文件命令FileCopy:FileCopy“C:\temp\1.txt”,“D:\2.txt”

功能:把C:\temp下的1.txt复制到D:盘并改名为2.txt(5)移动和重命名文件命令Name…As…: 例如:Name“C:\temp\1.txt”As“D:\2.txt”

功能:把C:\temp下的1.txt移动到D:盘并改名为2.txt返回3.1成绩录入器案例说明程序运行后,可以把用户输入的学号、姓名和成绩信息写入到“d:\grade1.txt”文件中,同时把录入的信息追加到“d:\grade2.txt”文件中。录入完成后,点击“查看成绩”按钮可以查看录入到d:\grade1.txt文件的内容。程序运行效果如图7-7所示,点击“查看成绩”后的效果如图7-8所示3.2

程序实现

1.界面设计建立一个新工程,在窗体上添加3个标签控件,3个文本框控件,3个按钮控件并按表7-7设置相应的属性:

2.代码设计:3.3相关知识根据不同的标准,文件可分为不同的类型。在VB中,按照文件的存取访问方式,可分为顺序文件、随机文件和二进制文件。应用程序访问一个文件时,应根据文件包含什么类型的数据,确定适合的访问类型。

3.3相关知识1.顺序文件:就是文本文件。以ASCII代码方式存放数据的,其数据是顺序存放。特点是文件中各记录写入、存放和读出三者的顺序是一致的。效率较低。

2.顺序文件的打开:用Open语句打开该文件,才可以对文件进行读写的操作。格式为:Open<文件名>[For<读写方式>]As[#]<文件号>几点说明:(1)文件名:指欲打开的且已存在的文件名。(2)读写方式:Output、Input和Append三种.(3)文件号(#):即缓冲区号。在Open语句中把文件名与指定的文件号即缓冲区号联系起来,表示输入或输出的数据要用该缓冲区作为过渡。在执行Open语句时,应注意:(1)用Output方式打开一个已存在的文件时应十分谨慎,以免使原有文件中的数据丢失。(2)如果以Input方式打开一个文件,此文件必须是已存在的,(3)如果用Append方式打开文件,文件指针指向文件的末尾,(4)执行Open语句时,系统自动建立相应的缓冲区,以便为数据的输入/输出做好准备。3.3相关知识3.向顺序文件写入数据:Print和Write语句可以进行写数据的操作。(1)Print语句:格式:Print#<文件号>[,写入列表] Open"d:\grade1.txt"ForOutputAs#1 Print#1,Sno,Sname,Sgrade Close#1(2)Write语句:格式:Write#<文件号>[,写入列表] Open"d:\grade1.txt"ForOutputAs#1 Write#1,Sno,Sname,Sgrade Close#1(3)Print语句与Write语句的区别:4.从顺序文件读取数据:以Input的方式打开文件后,就可以从文件中读取数据。VisualBasic提供了Input语句、LineInput语句和Input()函数将文件中的数据读入指定的变量中。(1)Input语句格式:Input#<文件号>,<变量列表>

说明:<文件号>要与OPEN语句指定的文件号对应。<变量列表>是准备保存文件数据的变量,可包含多个变量,各变量之间用逗号隔开,且变量的类型要与数据的类型一致。该语句将把文件中的数据依次存放到<变量列表>的各个变量中。例如,把当前目录中的“1.txt”文件内容显示在屏幕上,代码如下:PrivateSubCommand1_Click() Open“1.txt”ForInputAs#1 '以读数据的方式打开1.txt DoWhileNotEOF(1) Input#1,x '把文件中的数据读到变量x中

Printx LoopEndSub(2)LineInput语句格式:LineInput#<文件号>,<字符串变量>

参数说明:<文件号>要与Open语句指定的文件号对应。<字符串变量>必须是字符串类型。其作用就是从文件中每次读取一行数据到字符串变量中。例如,把当前目录中的“1.txt”文件内容每次读一行的方式显示在屏幕上,代码如下:

PrivateSubCommand1_Click() Open“1.txt”ForInputAs#1 '以读数据的方式打开1.txt DoWhileNotEOF(1) LineInput#1,x '把文件中的一行数据读到变量x中

Printx LoopEndSub(3)Input()函数格式:Input(整数,#<文件号>) 参数说明:<文件号>要与Open语句指定的文件号对应。“整数”是每次要读取的字符个数。Input()函数可以从文件中读取指定字数的字符。例如,下面的例子将把当前目录中的“1.txt”文件内容每次读4个字符的方式显示在屏幕上:PrivateSubCommand1_Click() Open“1.txt”ForInputAs#1 '以读数据的方式打开1.txt DoWhileNotEOF(1) x=Input(4,#1) '把文件中的4个字符读到变量x中

Printx LoopEndSub5.关闭文件当文件使用完后,要用Close语句来关闭一个己用完不再使用的文件,其格式为:Close[#<文件号>][,#<文件号>]……如:CLOSE#1,#2表示关闭#1,#2文件缓冲区,也就是关闭相应的文件。如不指定文件号,则表示关闭所有已经打开的文件,此时的形式为:Close执行Close语句时,释放相关的文件缓冲区,这样就停止了对文件的读写操作。如还需要读写,则应再使用Open语句。返回3.3相关知识4.从顺序文件读取数据:Input语句、LineInput语句和Input()函数将文件中的数据读入指定的变量中。(1)Input语句:格式:Input#<文件号>,<变量列表>说明:将把文件中的数据依次存放到<变量列表>的各个变量中。(2)LineInput语句:LineInput#<文件号>,<字符串变量>例如,把当前目录中的“1.txt”文件内容每次读一行的方式显示在屏幕上,(3)Input()函数:格式:Input(整数,#<文件号>)

Input()函数可以从文件中读取指定字数的字符。5.关闭文件:要用Close语句来关闭一个己用完不再使用的文件,其格式为:Close[#<文件号>][,#<文件号>]……如:CLOSE#1,#2,表示关闭#1,#2文件缓冲区,如不指定文件号,则表示关闭所有已经打开的文件,此时的形式为:Close

执行Close语句时,释放相关的文件缓冲区。如还需要读写,则应再使用Open语句。返回3.4拓展知识下面介绍一些在VisualBasic中常用的文件函数:(1)EOF():格式:EOF(文件号)

功能:判断在读文件是否到了文件尾,若是返回True,否则,返回False。(2)LOF(): 格式:LOF(文件号)

功能:返回一个已打开文件的大小,类型为Long,单位是字节。(3)LOC():格式:LOC(文件号)

功能:返回被打开文件的当前位置。(4)SEEK(): 格式:SEEK(文件号)

功能:返回文件指针的当前位置。对于顺序文件,返回指针所在的当前字节位置(从头算起的字节数),对于随机文件,返回指针当前所指的记录号。返回4.1工资管理程序案例说明本案例是一个简单的工资管理程序,演示随即文件的操作。程序窗体分两部分,左边部分的列表框用于显示工资数据,右边部分用于工资数据的操作,实现了添加、显示、修改工资数据的功能。4.2

程序实现

1.界面设计:建立一个新工程,在窗体上添加2个框架控件,1个列表框控件,3个标签控件,3个文本框控件,3个单选按钮控件,3个命令按钮控件,各个控件的属性设置见表7-8所示:2.代码设计:4.3相关知识1.随机文件: 随机文件中的记录长度是固定的,并且每个记录所含的数据项的类型和长度都相同。随机文件的特点是:存入的速度较快,数据容易更新。在随机文件中,其中字符数据以ASCII码的字符形式保存,数值型数据以二进制方式保存。2.随机文件的打开:利用Open语句可以打开一个随机文件。打开文件后就可以进行读写操作,读写完成后使用Close关闭文件。格式如下:Open<文件名>ForRandomAs[#]<文件号>[Len=<记录长度>]<文件名>:表示要打开的文件名称。ForRandom:用随机读写文件的方式打开文件;[Len=<记录长度>:可选,表示要打开的文件的每个记录长度。例如,OpenApp.Path+"\salary.dat"ForRandomAs#1Len=Len(Rec)由于随机文件中的数据是以记录为单位进行存取的,所以对随机文件进行操作前,必须定义记录的数据结构,可用Type…EndType语句实现。

4.3相关知识3.向随机文件写数据:使用Put语句可以实现对随机文件的写操作。格式:

Put#<文件号>,<记录号>,<变量><文件号>:与Open语句指定的文件号对应一致;<记录号>:将数据写入的记录号;<变量>:记录对应的自定义类型变量。Put语句的作用是把变量保存的数据写到记录号的记录中。OpenApp.Path+"\salary.dat"ForRandomAs#1Len=Len(Rec) Put#1,2,Rec4.从随机文件读数据:使用Get语句读取数据。格式如下:

Get#<文件号>,<记录号>,<变量>Get语句的参数说明与Put语句一样,:OpenApp.Path+"\salary.dat"ForRandomAs#1Len=Len(Rec)Get#1,2,Rec4.4鼠标绘图下面我们通过一个用鼠标在窗体上绘图的案例来巩固相关的鼠标事件。1.界面设计:只需用到一个窗体即可。当程序运行时,按下鼠标左键并在窗体上拖动就可以画出读者想要的图形。

返回5.1文件复制器案例说明本案例运行后,能把选中的磁盘文件复制到本应用程序所在的目录下。程序运行时可以检测到要复制的文件在本应用程序所在的目录下是否已经存在,若存在则不复制,否则将以二进制文件的形式打开要复制的文件,然后以二进制文件的形式写到一个新文件中,从而实现文件的复制,文件被复制时,进度条将同步显示文件复制的进程。复制完成给出提示,如图7-13所示。5.2

程序实现

1.界面设计:建立一个新工程,在窗体上添加1个驱动器列表控件,1个目录列表控件,1个文件列表控件,1个按钮控件和1个进程条控件(进程条控件的添加要先按Ctrl+T,选择MicrosoftWindowsCommonControls5.0(6.0)),并按下表设置好它们的属性:2.代码设计:5.3相关知识1.二进制文件:以字节为单位对文件进行访问操作,允许用户读写文件的任何字节,对文件进行完全的控制。只要是以二进制方式打开就可以被认为是二进制文件。2.二进制文件的打开:打开二进制文件的语法格式如下:

Open<文件名>ForBinaryAs[#]<文件号>说明:<文件名>:表示要打开的文件名称。若文件不存在,则自动创建一个新文件后打开;ForBinary:用二进制文件读写的方式打开文件。对于二进制文件,不能指定字节长度

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论