《VB程序设计第五章》PPT课件

上传人:沈*** 文档编号:245084645 上传时间:2024-10-07 格式:PPT 页数:35 大小:199.50KB
返回 下载 相关 举报
《VB程序设计第五章》PPT课件_第1页
第1页 / 共35页
《VB程序设计第五章》PPT课件_第2页
第2页 / 共35页
《VB程序设计第五章》PPT课件_第3页
第3页 / 共35页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第,5,讲 文件处理应用程序设计,教学要求,1,掌握文件读写的基本方法;,2,、掌握与文件处理相关的语句和函数的用法;,3,、理解文件系统控件的基本功能;,4,、了解文件管理器应用程序开发过程。,5.1,文件管理器程序任务,5.1.1,任务概述,文件是指存储在外部介质上的数据的集合,是一种可以永久性存储数据的形式。操作系统以文件为单位管理数据,文件名是文件访问的标示。把数据写入文件或从文件中读取数据,计算机需要先根据文件名找到指定的文件,然后再执行读写操作。,采用,VB,中提供的驱动器列表框、目录列表框和文件列表框三种控件可实现上述功能。在本章中我们将建立一个简单的文件管理器。,5.1,文件管理器程序任务,5.1.2,界面设计,1,、创建工程,2,、创建窗体,5.1.3,代码设计,1,、编写,ClearAttr,过程,2,、编写,ShowAttr,过程,3,、驱动器列表框控件的,Change,事件,4,、目录列表框控件的,Change,事件,5,、文件列表框控件的,Change,事件,5.2,文件系统控件及相关语句,5.2.1,改变当前驱动器,语法:,ChDrive,说明:驱动器名是一个字符串表达式,指定一个存在的驱动器。使用空字符串,驱动器不变;使用多个字符,则使用首字母。,例:,ChDrive,“D”,5.2.2,改变当前目录,语法:,ChDir,说明:语句改变缺省目录位置,但不会改变缺省驱动器位置。,例:,ChDir,“D:Temp”,5.2,文件系统控件及相关语句,5.2.3,删除文件,语法:,Kill ,说明:,Kill,支持统配符(*和,?,),例:,Kill D:Data,Test.txt,Kill C:TEMP*.,tmp,5.2.4,拷贝文件,语法:,FileCopy,说明:源文件和目标文件名是字符串表达式,可以包含驱动器、文件夹。不能对打开的文件执行复制操作。,5.2,文件系统控件及相关语句,5.2.5,文件重命名,语法:,Name As ,说明:,Name,语句重新命名文件并将其移动到不同的目录或文件夹中。可跨驱动器移动文件,且只能重命名文件,不能创建新文件。,Dim,OldName,NewName,As String,OldName,=“C:,mydiroldfile,”,NewName,=“C:,youdirNewfile,”,Name,OldName,As,NewName,5.2,文件系统控件及相关语句,5.2.6,创建新目录,语法:,MkDir,说明:若没有指定驱动器,则在当前驱动器上创建目录。例:,Mkdir,“,成绩单,5.2.7,删除目录,语法:,RmDir,说明:在使用此命令前,应先使用,Kill,命令删除所有文件,否则会发生错误。,例:,RmDir,“C:,成绩单,临时文件夹,”,5.2,文件系统控件及相关语句,5.2.8,得到当前路径,语法:,CurDir,说明:若没有指定驱动器,或驱动器名为空,在返回当前驱动器的路径。返回值为,Variant,(,String,)。,C,盘的当前路径为,C:Program Files,D,盘的当前路径为,D:Visual Basic,程序设计,当前驱动器为,C,,则:,Dim,MyPath,As String,MyPath,=,CurDir,返回,C:Program Files,MyPath,=,CurDir(“C,”) ,返回,C:Program Files,MyPath,=,CurDir(“D,”) ,返回,D:Visual Basic,程序设计,5.2,文件系统控件及相关语句,5.2.9,设置文件属性,语法:,SetAttr,SetAttr,“,test.txt”,vbArechive+vbReadOnly,常数,值,描述,vbNormal,0,常规(默认值),vbReadOnly,1,只读,vbHidden,2,隐藏,vbSystem,4,系统文件,vbDirectory,16,目录或文件夹,vbArchive,32,存档文件,vbAlias,64,指定的文件名是别名,5.2,文件系统控件及相关语句,5.2.10,得到文件属性,语法:,GetAttr,若当前文件夹下有一个,test.txt,,通过以下方法可获得文件的属性:,Dim,iAttr,As,Integer:iAttr,=,GetAttr(“test.txt,”),If,iAttr,And,vbNormal,Then:debug.print,“,普通文件,”,If,iAttr,And,vbReadOnly,Then:debug.print,“,只读文件,”,If,iAttr,And,vbHidden,Then:debug.print,“,隐藏文件,”,If,iAttr,And,vbSystem,Then:debug.print,“,系统文件,”,If,iAttr,And,vbDirectory,Then:debug.print,“,目录”,If,iAttr,And,vbArchive,Then:debug.print,“,存档文件,”,5.2,文件系统控件及相关语句,5.2.11,常用文件系统控制,1,、驱动器列表框,下拉式列表框,显示计算机内全部有效的驱动器。最常用的属性为,Drive,属性,该属性用于在程序运行时设置或返回选定的驱动器,只在运行阶段有效。如:,Drive1.Drive=“C:” ,指定,C,盘为当前驱动器,使用,ChDrive,可以使指定的驱动器设置为当前驱动器。,ChDrive,Drive1.Drive,驱动器列表框最重要的事件是,Change,事件。,5.2,文件系统控件及相关语句,5.2.11,常用文件系统控制,2,、目录列表框,以列表方式显示当前驱动器上的所有目录,运行时双击即可打开下一级目录。,最常用的属性是,Path,属性,只在运行阶段有效。,Dir1.Path=“C:Visual Basic,Stu,”,指定,C,盘,Visual Basic,Stu,为当前目录,使用,ChDir,语句可使指定的目录成为当前目录:,ChDir,Dir1.Path,目录列表框最重要的事件是,Change,事件。,5.2,文件系统控件及相关语句,5.2.11,常用文件系统控件,3,、文件列表框,以列表方式显示当前目录下的所有文件,文件列表框的三种属性:,(,1,),Path,属性:用于设置文件列表框中所示的完整路径:,File1.Path=“C:Visual Basic,Stu,”,(,2,),Pattern,属性:设置列表框中可以显示的文件类型,默认为*,.*,,表示所有文件:,File1.Pattern=“*.txt”,(,3,),FileName,属性:设置或返回选定的文件名称,只在运行阶段可用。,5.3,标准文件输入,/,输出,5.3.1,顺序文件,1,、顺序文件的打开和关闭,顺序文件采用记录结构,按次序一个接一个地排列记录,只提供第一个记录的存储位置。需要读取记录时,必须按顺序从第一条记录开始依次读出数据,直到找到所需记录为止。,(,1,)打开顺序文件,格式,:Open For As # ,5.3,标准文件输入,/,输出,说明:,1,)文件名是所要打开的文件的名称,其中包含完整的路径名称。,2,)模式是指打开文件的方式:,Input,:以读方式打开文件,Output,:以写方式打开文件,创建一个新的顺序文件,等待数据输出。若存在同名文件。则覆盖原有文件内容。,Append,:以追加方式打开文件。若文件不存在则创建新文件。,5.3,标准文件输入,/,输出,说明:,3,)文件号是一个,1511,之间的整数,同时被打开的每个文件的文件号不能相同。文件被打开后,文件号就代表该文件,通过文件号读写文件,直到文件被关闭。例:,Open “A:D1.dat” For Input As # 1,以读方式打开,A,盘中的,D1.dat,文件,Open “A:D2.txt” For Output As # 2,以写方式打开,A,盘中的,D2.dat,文件。,5.3,标准文件输入,/,输出,5.3.1,顺序文件,(,2,)关闭顺序文件,格式,:Close # ,# ,说明:,1,)文件号是,Open,语句打开文件时指定的文件号,2,),Close,语句可同时关闭多个已打开的文件,例:,Close # 1 ,关闭文件号为,1,的文件,Close #1,,,#2 ,关闭文件号为,1,和,2,的两个文件,Close ,关闭所有文件,5.3,标准文件输入,/,输出,2,、顺序文件的写操作,(,1,),Print #,语句,格式:,Print # ,输出项列表,功能:将各输出项的值写入到指定的文件中。,说明:,1,)输出项可以是常数、变量或表达式,输出多于一项,中间用逗号或分号分隔。,2,)输出项之间用分号分隔时,按紧凑格式输出到文件。若是字符串,则输出项之间无空格;数值型数据在整数前留一个前导空格,在负数前输出一个负号。,5.3,标准文件输入,/,输出,2,、顺序文件的写操作,3,)输出项之间使用逗号分隔时,按分区格式输出到文件,,10,列为一个分区。,4,)在输出项中可使用,spc(n,),函数输出,n,个空格,使用,Tab(n,),函数指定其后的输出项从,n,列开始输出。,5,),Print #,语句的末尾可以加分号、逗号或不加任何符号。加分号表示下一个,Print #,语句的输出项不换行,直接按紧凑格式输出;加逗号表示下一个,Print #,语句的输出项不换行,按分区格式输出;不使用任何符号时,下一个,Print #,语句的输出项换行输出。,5.3,标准文件输入,/,输出,Private Sub Command1_Click(),Open ,j:printtest.txt, For Output As #1,Print #1, Print #,语句测试,Print #1,Print #1, ,第一分区,; ,第二分区,Print #1, ,你好,!, 2 * 3, 2 + 3,Print #1, Spc(2); ,输出两个空格,Print #1, Tab(5); ,从第五列开始输出,Print #1, 行 1,Print #1, 5; 6; -8,Close #1,MsgBox,j:printtest创建成功,!,End Sub,5.3,标准文件输入,/,输出,2,、顺序文件的写操作,(,2,),Write #,语句,格式:,Write # ,输出项列表,功能:将各输出项的值写入到指定的文件中。,说明:,Write,语句与,Print,语句的区别是:,1,),Write,语句在各输出项之间自动插入逗号,2,)为字符串加双引号,3,)在将最后一个字符写入文件后插入回车换行符,即,Chr(13)+Chr(10),。,5.3,标准文件输入,/,输出,Private Sub Command2_Click(),Open ,j:writetest.txt, For Output As #1,Write #1, write #,语句测试,Write #1,Write #1, ,第一分区,; ,第二分区,Write #1, ,你好,!, 2 * 3, 2 + 3,Write #1, Spc(2); ,输出两个空格,Write #1, Tab(5); ,从第五列开始输出,Write #1, 行 1,Write #1, 5; 6; -8,Close #1,MsgBox,j:writetest创建成功,!,End Sub,Print#,语句输出与,Write,语句输出的区别:,(,1,),Print#,语句在输出项中,用逗号分隔输出项,可按分区格式输出;,Write#,语句用逗号分隔输出项,不按分区格式输出,而是在输出项之间用逗号分隔。对于,Write,语句,采用逗号分隔输出项还是用分号分隔输出项没有差别。,(,2,),Print#,语句生成的数据文件,数据项之间没有逗号,而用,Write#,语句生成的数据文件,会在文本上自动添加双引号,数据项之间有逗号。,5.3,标准文件输入,/,输出,3,、顺序文件的读写,(,1,),Input #,语句,格式:,Input # ,功能:从指定文件中读取数据并将其赋值给变量,说明:,1,)变量列表中的变量可为基本数据和数组元素,但不能是数组或对象变量,2,)变量多于一个用逗号分隔,3,),Input#,语句一般与,Write#,语句配合使用。若数据文件用,Write#,写入,应使用,Input#,读取。,5.3,标准文件输入,/,输出,5.3,标准文件输入,/,输出,Private Sub Command1_Click(),Dim A,Open ,j,:,writetest,.txt, For,in,put As #1,Do While Not EOF(1),Input #1, A,Print A,Loop,Close #1,End Sub,3,、顺序文件的读写,(,2,),Line Input #,语句,格式:,Line Input # ,功能:从指定文件中读取一行数据并将其赋值给字符串变量,说明:,1,)依次从文件中读取一行数据,直到回车或回车加换行为止,2,),Line Input#,语句一般与,Print#,语句配合使用。若数据文件用,Print#,写入,应使用,Line Input#,读取。,5.3,标准文件输入,/,输出,5.3,标准文件输入,/,输出,Private Sub Command1_Click(),Dim A,Open F:d,1,.txt For,in,put As #1,Do While Not EOF(1),Line,Input #1, A,Print A,Loop,Close #1,End Sub,3,、顺序文件的读写,(,3,),Input,函数,格式:,Input ,*,功能:从指定文件中读取指定个数的字符,说明:函数,Input,返回所读出的所有字符,包括逗号、回车键、空白列、换行符、引号和前导空格等。,5.3,标准文件输入,/,输出,5.3.2,随机文件,可按照任意顺序读写的文件,每条纪录长度相同,具有不同的纪录号。读取数据时,只要指定纪录号,就可直接读取。为保证纪录长度相等,必须将字符串字段定义为定长字符串类型。,1,、随机文件的打开与关闭,(,1,)打开随机文件,格式:,Open For Random As # Len=,纪录长度,5.3,标准文件输入,/,输出,5.3.2,随机文件,说明:,1,)文件名应包含完整路径,2,)纪录长度用于制定随机文件每条纪录的长度。默认为,128Byte,,可取,032k,,也可在程序中用,Len,函数获得纪录长度。,3,)随机文件打开后,既可从文件中读取数据,也可向文件中写入数据。如:,Open “A:D3.txt” For Random As #1 Len=,Len(Student,),(,2,)关闭随机文件用,Close,语句。,5.3,标准文件输入,/,输出,5.3.2,随机文件,2,、随机文件的写操作,格式:,Put # ,纪录号,,,功能:把变量中的数据写入指定文件中纪录号指定的位置。,说明:,1,)纪录号为大于,1,的整数,2,)省略纪录号时,新纪录插入到当前纪录之后,5.3,标准文件输入,/,输出,5.3.2,随机文件,3,、随机文件的读操作,格式:,Get # ,纪录号,,,功能:从指定文件中读取纪录号指定的纪录,并赋值给变量。,说明:,Get,语句依次读取一条纪录后,文件纪录指针自动指向下一条纪录,纪录号加,1,。,5.3,标准文件输入,/,输出,5.3.3,二进制文件,1,、二进制文件的打开与关闭,Open For Binary As #,2,、二进制文件的写操作,Put #,位置,变量名,将一个变量写入打开的文件。,3,、二进制文件的读操作,Get #,位置,变量名,Input(,字节数,#),5.3,标准文件输入,/,输出,实验,更改密码登录程序,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!