版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第九章 文件,9.1 文件系统控件 9.2 文件的读写 9.3 常用的文件操作语句和函数,文件系统控件在工具箱以及界面中的形式:,DriveListbox (驱动器列表框),DirListbox (目录列表框),FileListbox (文件列表框),9.1 文件系统控件,9.1 文件系统控件,9.1.1 驱动器列表框 9.1.2 目录列表框 9.1.3 文件列表框,9.1.1 驱动器列表框 是一种列表框,单击向下箭头时,显示用户系统中所有有效磁盘驱动器 。 Drive属性: 返回运行时选择的驱动器。*设计时不可用 使用形式: 对象.Drive = drive 其中: 对象.:驱动器列表框的名
2、称; drive:指定所选择的驱动器 。 Change事件: 该事件在重新设置Drive属性引发,例9.1 有一窗体界面及运行结果如图所示,其“代码设置驱动器”按钮的Click事件如下: Private Sub Command1_Click() Drive1.Drive = d: Print 您已经把驱动器设置为:; Drive1.Drive End Sub,9.1.2 目录列表框 显示选中驱动器的目录结构及其当前目录下的所有子目录。 Path属性 : 返回当前路径。 *设计时不可用 使用形式: 对象.Path = pathname pathname:一个指示路径的字符串 Change事件:
3、重新设置Path 属性引发Change事件,例9.2 界面如右图.要求: 1、驱动器改变时,目录框能随之改变 Private Sub Drive1_Change() Dir1.Path = Drive1.Drive End Sub 2、当按显示当前路径按钮时,在文本框里能够显示当前路径 Private Sub Command1_Click() Text1.Text = Dir1.Path End Sub,9.1.3 文件列表框 显示所选驱动器、所选目录下的指定文件类型的文件 Path属性: 返回当前路径,显示该路径下的文件。 *设计时不可用 *重新设置Path属性引发 “PathChange”
4、 事件。,Pattern属性: 返回或设置文件列表框中显示的文件类型。 使用形式: 对象.Pattern = value Value:一个用来指定文件规格的字符串表达式, 例如“ *.FRM”,表示显示*.frm文件, 缺省值是 “*.*” ,表示显示所有文件。 多个时可用”*.jpg;*.gif;*.bmp”表示 *重新设置Pattern属性引发 “PatternChange” 事件,FileName属性 用于设置或返回所选文件的文件名 * 设计时不可用; 设置时可带路径; 引用时只返回文件名(不包括路径) 如 File1.FileName 若想得到完整文件名(含路径)需将Path属性和Fi
5、leName属性配合使用。,Click、DblClick事件: 单击文件列表中某个文件进行选择时,该事件发生,例9.3 窗体上有一文件列表框和一个标签,当选择某一个文件时,在标签上显示该文件的全名(包括路径),Private Sub File1_Click() Dim fullname As String If Right(File1.Path, 1) = Then fullname = File1.Path *.jpg;*.gif Combo1.AddItem *.exe;*.com Combo1.AddItem *.txt Combo1.AddItem *.frm“ Combo1.List
6、Index = 0 End Sub,Private Sub Drive1_Change() Dir1.Path = Drive1.Drive 目录的路径和驱动列表框的同步 End Sub,Private Sub Dir1_Change() File1.Path = Dir1.Path 文件的路径和目录的同步 File1.Pattern = Combo1.Text 从combo1得到文件的模式 End Sub Private Sub Combo1_Click() File1.Pattern = Combo1.Text 文件模式改变时,更新文件框中的内容 End Sub,Private Sub C
7、ommand1_Click() If Right(File1.Path,1) = Then 获取文件的路径和名称 fullname = File1.Path Next i 产生100个数并保存在文件data1 Close #1,(2) 如何从data1.dat中读出所有的数并将其中的素数存入data2.dat中 a)以读方式打开data1.dat,同时以写方式打开data2.dat Open App.Path + data1.dat For Input As #1 Open App.Path + data2.dat For Output As #2 b)用For循环读data1.dat 100
8、次,判断每个数是否为素数,若为素数,则写入data2.dat For i = 1 To 100 Input #1, t 从data1.dat中读数据到t If ss(t) = True Then 若是素数,则写入文件data2.dat no=no+1 统计素数的个数,为输出作准备 Write #2, t; 写入data2.dat End If Next i,c) 判断是否是素数可以用函数来实现 Private Function ss(ByVal n As Integer) As Boolean ss = True For i = 2 To Int(Sqr(n) If n Mod i = 0 T
9、hen ss = False Exit Function End If Next i End Function,(3) 从data2.dat中读出所有的素数并显示在窗体中 用For循环将data2.dat中的数逐一读出并用Print方法输出到窗体 循环次数为素数的个数no,Open App.Path + data2.dat For Input As #2 For i = 1 To no Input #2, t 读出数到变量t Print t, If i Mod 5 = 0 Then 一行输出5个后换行 Print End If Next i Close #2,9.2.3 随机文件,一 随机文件
10、的特点: 1. 所有记录等长、各数据项长度固定; 2. 每个记录有唯一的记录号,读写文件按 记录号操作; 3. 文件以二进制代码形式存放数据。,打开文件,读写,关闭文件,操作步骤:,定义记录类型,定义记录类型变量,二 记录类型(用户自定义类型) 1.声明变量类型: Type 自定义类型名 元素名(下标) as 类型名(标准) 元素名(下标) as 类型名(标准) End Type 如:,Type Student XueHao As Integer Name As String*6 YuWen As Integer ShuXue As Integer End Type,2.声明自定义类型的变量
11、Dim 变量名 as 自定义类型 如:Dim stu1 as student 3.自定义类型的变量各元素的引用: 自定义变量名.元素名 如:=“张飞”,三 随机文件的打开和关闭: 1. 打开 Open 文件名 For Random As #文件号 Len=记录长度 2. 关闭 Close #文件号, #文件号. Close:关闭所有打开的文件。,四 随机文件的读写操作: 1.写操作 Put #文件号,记录号,变量名 作用:将一个记录变量的内容写入指定记录号。 若忽略记录号,则写入当前记录后。 例: Put #1,2,stud 在1号文件的2号记录处写stud的内容。 2. 读
12、操作 Get #文件号,记录号,变量名 作用:将一条指定记录的内容读入记录变量中。 若忽略记录号,则读出当前记录后的那一条记录 例: Get #1,2,stud 把1号文件的2号记录读取到记录型变量stud中,例9.8 设有一个记录型变量表示学生情况,包括姓名、学号和成绩三个字段。从键盘上输入若干个学生情况记录并保存在一个文件中,当输入姓名为空时结束输入。再从文件中读取出前两个学生的信息并显示在窗体中。,1、建立记录类型 Type stud xm As String * 6 xh As String * 4 score As Integer End Type,2、定义记录类型变量 Dim st
13、1 as stud,分析:,3、如何从键盘上依次输入学生的姓名、学号、成绩并保存呢?a) 打开一个随机文件 Open App.Path + “stud1.txt” For Random As #1b) 用三个inputbox得到分别得到学生的姓名、学号、成绩并写入文件st1.xm = InputBox(请输入学生姓名:)st1.xh = InputBox(请输入 & st1.xm & 的学号:)st1.score = Val(InputBox(请输入 & st1.xm & 的成绩:)Put #1,recno,st1c)用while循环控制结束 While Trim(st1.xm) ,Priva
14、te Sub Command1_Click() Dim st1 As stud 定义记录型变量stud Dim recno As Integer 定义记录号 recno = 0 Open App.Path + stud1.txt For Random As #1 Len = Len(st1) 打开随机文件 st1.xm = InputBox(请输入学生姓名:) While Trim(st1.xm) 当输入姓名不为空时循环 recno = recno + 1 st1.xh = InputBox(请输入 & st1.xm & 的学号:) st1.score = Val(InputBox(请输入 &
15、 st1.xm & 的成绩:) Put #1,recno,st1 把记录变量stud写入文件中的第recnow个位置 st1.xm = InputBox(请输入下一个学生姓名:) Wend Close #1 关闭文件 End Sub,3、如何读取前两个学生的成绩并显示在窗体中?,Private Sub Command2_Click() Dim st(1 To 2) As stud 定义记录型数组st Open App.Path + stud1.txt” _ For Random As #1 Len =Len(st(1) Get #1,1,st(1) 从文件中读取出1号记录变量st(1)中 Pr
16、int st(1).xm,st(1).xh,st(1).score 输出数据到窗体中 Get #1,2,st(2) 从文件中读取出2号记录变量st(2)中 Print st(2).xm,st(2).xh,st(2).score Close #1 End Sub,9.3 常用的文件操作语句和函数,1. FileCopy语句 格式:FileCopy source , destination 功能:复制一个文件。 说明:(1)source ,destination:源文件名和目标文件名 (2) 不能复制一个已打开的文件。 2. Kill语句 格式:Kill pathname 功能:删除文件。 说明:pathname中可以使用统配符“*”和“?”。 3. Name 语句 格式:Name oldpathname As newpathname 功能:重新命名一个文件或目录。 说明:(1) Name具有移动文件的功能。 (2) 不能使用统配符“*”和“?” (3)不能对一个已打开的文件使用Name语句,4. MkDir 语句 格式:MkDir path 功能:创建一个新的目录。 5. RmDir 语句 格式:RmDir path 功能:删除一个存在的目录。 说明:只能删除空目录。 6. ChDrive 语句 格式:ChDrive drive
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年蚌埠市审计系统事业单位人员招聘考试备考试题及答案详解
- 2026年巴中市社区工作者招聘考试备考试题及答案详解
- 2026中国科学院科技战略咨询院特别研究助理(博士后)招聘8人笔试参考题库及答案解析
- 法律类事业编就业
- 2026年北京市宣武区精神病医院医护人员招聘笔试模拟试题及答案解析
- 2026年巢湖市环境系统事业单位人员招聘考试备考试题及答案详解
- 2026国网西藏电力有限公司高校毕业生招聘(第三批)考试模拟试题及答案解析
- 2026广东交通职业技术学院招聘正高级职称退休教师考试备考题库及答案解析
- 2026年阿里市农业机械系统事业单位人员招聘考试备考试题及答案详解
- 2026年德州市卫生健康系统事业单位人员招聘考试备考试题及答案详解
- 中国深色名贵硬木家具标准
- 密封条范文模板(A4打印版)
- 二级减速器链传动课程设计
- GB/T 6547-1998瓦楞纸板厚度的测定法
- 水库运行管理试题
- 第10-11课情感分析课件
- 服装制作水平提高QC教学课件
- 无创呼吸机课件
- 一汽大众产品开发过程课件
- 反恐应急演练过程记录表
- 《中国古代文学史》宋代文学完整教学课件
评论
0/150
提交评论