c语言程序设计课件第9章

上传人:zw****58 文档编号:56833565 上传时间:2018-10-16 格式:PPT 页数:28 大小:806KB
返回 下载 相关 举报
c语言程序设计课件第9章_第1页
第1页 / 共28页
c语言程序设计课件第9章_第2页
第2页 / 共28页
c语言程序设计课件第9章_第3页
第3页 / 共28页
c语言程序设计课件第9章_第4页
第4页 / 共28页
c语言程序设计课件第9章_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《c语言程序设计课件第9章》由会员分享,可在线阅读,更多相关《c语言程序设计课件第9章(28页珍藏版)》请在金锄头文库上搜索。

1、第9章 文件系统操作,开始学习,本章要点:,9.1 文件系统控件,9.1.1 驱动器列表框 (1)Drive属性 Drive属性用来返回和设置在驱动器列表框中显示的驱动器 对象. Drive=drive (2)Change事件 当Drive属性值发生变化时,即驱动器列表框中的显示驱动器发生变化时,都会引发此事件。,9.1 文件系统控件,9.1.2 目录列表框 (1)Path属性 Path设置或返回当前路径,只能在程序代码中设置、访问,而不能在属性窗口中设置。 对象. Path =Pathname (2)Change事件 双击一个新目录或通过代码改变Path属性值时都会引发此事件。,9.1 文件

2、系统控件,9.1.3 文件列表框 (1)Path属性 表示文件列表框中显示的文件所在的路径 (2)Pattern属性 返回或设置文件列表框所显示的文件类型。默认值为“*.*”,显示所有文件。,9.1 文件系统控件,(3)FileName属性 对象.FileName = pathname (4)其他属性 Archive:显示归档文件; Normal:显示普通文件; System:显示系统文件; Hidden:显示隐含文件; ReadOnly:显示只读文件。,9.1 文件系统控件,(4)Click、DblClick事件 单击输出文件名。 Sub File1_Click( )MsgBox File1

3、.FileName End Sub 双击执行可执行程序。 Sub File1_DblClick( )ChDir Dir1.Path 改变当前目录RetVal = Shell(File1.FileName, 1) 执行可执行程序 End Sub,9.1 文件系统控件,9.1.4 综合示例【例9-1】 执行指定的可执行文件。选择特定驱动器和特定目录,并在组合框中设定文件类型后,在文件列表框中列出该文件夹下特定类型的文件。如果列出的是可执行文件,双击可执行文件则可运行之。(源文件),9.2 文件常用语句及函数,1. 文件操作语句 (1)FileCopy语句 格式:FileCopy 源文件名,目标文件

4、名 功能:复制一个文件。 FileCopy “d:sourcesource.txt”,”e:destdest.txt“ (2)Kill语句 格式:Kill 文件名 功能:删除文件。 Kill “D:myfilesTestFile” Kill “*.TXT“,9.2 文件常用语句及函数,(3)Name语句 格式:Name 原文件名 As 新文件名 功能:重新命名一个文件或目录。 Name “d:oldold.doc” As “d:newnew.doc” (4)ChDrive语句 格式:ChDrive驱动器号 功能:改变当前驱动器。 ChDrive “c”,9.2 文件常用语句及函数,(5)MkD

5、ir语句 格式:MkDir path 功能:创建一个新的目录或文件夹。 (6)ChDir语句 格式:ChDir path 功能:改变当前目录。 ChDir “D:TMP” (7)RmDir语句 格式:RmDir path 功能:删除一个空目录或文件夹。,9.2 文件常用语句及函数,2. 文件操作函数 (1)CurDir函数 格式:CurDir(drive) 功能:返回当前的路径 Dim MyPath MyPath = CurDir MyPath = CurDir(“C“) (2)LOF(#文件号)函数 功能:返回一个已打开的文件的长度,9.2 文件常用语句及函数,(3)EOF(#文件号)函数

6、功能:返回一个指示是否达到文件尾的逻辑值。 (4)Seek()函数 格式:Seek(文件号) 功能:返回打开文件当前的读/写位置,返回值的类型是Long。其使用形式为:Seek(文件号)。 (5)Seek语句 格式:Seek #文件号,位置 功能:设置下一个读/写操作的位置。,9.2 文件常用语句及函数,【例9-2】 为例9-1添加事件过程file_ KeyDown(),使之支持文件的删除。当选定文件并按下Del键时,提示是否确定要删除选定的文件,如果单击“确定”,则删除该文件。(源文件),9.3 文件访问,文件的分类 (1)按文件的性质分类 可执行文件、源程序文件和数据文件 (2)按数据的组

7、织方式及文件的访问方式分类 顺序文件(Sequential File) 随机文件(Random File) 二进制文件(Binary File) 对文件的操作,9.3 文件访问,9.3.1 顺序文件访问 1. 建立或打开顺序文件 Open 文件名 For 模式 As #文件号 Len=记录长度 Output打开一个文件,将对它进行写操作。 Input打开一个文件,将对它进行读操作。 Append打开一个文件,将在该文件的末尾追加记录。 Open “D:VBteacher.dat“ For Output AS #1,9.3 文件访问,2. 写文件 将数据写入文件所用的命令是Write#或Prin

8、t# Print #文件号,输出列表【例9-3】 利用Print #语句把数据写入文件。单击窗体上的命令按钮,将特定的文本写到指定文件中。(源文件) Write #文件号,输出列表【例9-4】 将例9-3中的Print #改为Write #。,9.3 文件访问,3. 读文件 LOF函数 EOF函数 Input # 文件号,变量列表 Line Input # 文件号,字符串变量【例9-5】 逐行读取例9-4中的文件1.txt中的内容到文本框txtContent中。(源文件),9.3 文件访问,Input(读取的字符数,#文件号)【例9-6】 一个字符一个字符地读取例9-4中的文件1.txt中的内

9、容到文本框txtContent中。 (源文件) 4. 关闭文件Close#文件号1,#文件号2,,9.3 文件访问,5. 顺序文件综合应用举例【例9-7】 建立一个窗体如图所示,实现以下功能:,9.3 文件访问,程序实现功能: (1)在文件名文本框中输入文件名,如果该文件存在,单击“浏览数据”按钮将该文件内容显示在文件内容文本框;如果该文件不存在,单击“浏览数据”按钮时给出错误提示,并清空文件名文本框重新输入。 (2)单击“写数据”按钮时,将文件内容文本框中的数据写到指定的文件中。 (3)单击“添加数据”按钮时,将文件内容文本框中的数据追加到指定的文件中。 (4)单击“清除数据”按钮时,将文件

10、内容文本框中的数据清除。(源文件),9.3 文件访问,9.3.2 随机文件访问随机文件可以对任意一个记录进行操作,只要记录号介于1和最大记录号(文件长度/记录长度)之间即可。例如下面所定义的Employee类型,将在本节例子中用到。 Type EmployeeempName As String * 10empDept As String * 7empSex As String *1empAge As IntegerempSalary As Single End Type,9.3 文件访问,1. 建立或打开随机文件 Open 文件名 For Random As #文件号 Len=记录长度 例:

11、Dim RecLength As Long, emp1 As Employee RecLength = LenB(emp1) Open “d:test.dat” For Random As #1 Len = RecLength 2. 写文件 Put #文件号,记录号,变量名 例: Put #4,emp1,9.3 文件访问,3.读文件Get #文件号,记录号,变量名例:Get #4,emp1 4. 关闭文件 5. 随机文件应用举例 【例9-8】 建立一个窗体,如图所示:,9.3 文件访问,程序功能如下: (1)输入员工信息后,单击“追加记录”按钮,将员工信息作为记录追加到随机文件末尾。 (2)在

12、文本框中输入记录号,单击“显示记录”按钮,将指定记录号的员工信息显示到各文本框。 (3)在文本框中输入记录号,单击“插入记录”按钮,将各文本框的信息作为员工记录的数据项,替代指定的记录。 (4)单击“清除”按钮,清除各文本框。 (源文件),9.3 文件访问,9.3.3 二进制文件访问 Seek 文件号,文件指针位置 1. 建立或打开二进制文件 Open 文件名 For Binary As #文件号 2. 写文件 Put #文件号,Pos, Var 3. 读文件 Get #文件号,Pos, Var 4. 关闭文件,9.3 文件访问,5. 二进制文件应用举例【例9-9】 合并两个文件。将指定的源文件逐字节的复制到指定的目标文件的末尾即可实现文件的合并。(源文件),本章内容结束,谢谢观看,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 教育学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号