第十二章Visual Basic程序设计
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
此过程含义表示驱动器 列表框中改变驱动器, 其目录列表框中的内容 也同步发生相应变化。
河北理工大学理学院
12.2 文件及其结构
文件:指存储在计算机外部介质上一组相关信息 一般由若干个字 由若干个相关字 的集合。 数据文件中的最小单 符组成的一项独
段组成的一个逻 位,如单个的字节、 辑单位,如学生 数字、字符等 关于文件的几个概念: 的学号、姓名、 年龄等多个字段 字符 字段 组成一个记录。 学号 姓名
程序运行后,如果单击“写文件”命令按钮,则可以随机存取方式打 开文件t5.txt,并根据提示向文件中添加记录,每写入一个记录后, 都要询问是否再输入新记录,回答“Y”(或”y”)则输入新记录, 回答“N”(或”n”)则停止输入;如果单击“读文件”按钮,则可 以随机存取方式打开文件t5.txt,读出文件中的全部记录,并在窗体 上显示出来,如图4(b)所示。
河北理工大学理学院
12.3 文件操作方法
例:打开文件C:\VB98\SCORE文件,供写入 数据,指定文件号为#1,命令为?
Open “C:\VB98\Score” For OutPut As #1
河北理工大学理学院
12.3 文件操作方法
读/写文件 写文件
• Print # 文件号,[输出列表]
Loop Close #2
End Sub
河北理工大学理学院
在窗体上画一个文本框,名称为Text1,然后编写如下程序, 程序的功能是:在D盘temp文件夹下建立一个名为 dat.txt的文件,在文本框中输入字符,每次按回车键都 把当前文本框中的内容写入文件dat.txt,并清除文本框 中的内容,如果输入“END”,则不写入文件,直接结束 程序。请填空。 Private
立的数据,如学 生的学号、姓名、 年龄等均为字段。 性别
男 男
出生年月
02-28-80 06-01-87
记录
文件
1 2
吴迪 张杨
是由一个以上、结构相同的相 关记录的集合,如一个班的所有 学生记录组成一个文件。
河北理工大学理学院
12.2 文件及其结构
文件分类 顺序文件
文件中的记录一 个接一个顺序存 放,记录长短可 不同。访问时只 能从第一条记录 访问到最后一条 记录(即:只能 顺序访问)。
河北理工大学理学院
12.3 文件操作方法
3.二进制文件 打开文件:
Open “文件名” For Binary As [#]文件号
关闭文件:同前
读/写操作:同前,只是读写是以字节为单位进 行。
河北理工大学理学院
12.4 常用文件操作语句与函数
Kill : 删除指定文件 FileCopy : 复制一个文件 Name : 重命名文件或子文件夹 ChDrive : 改变当前驱动器
河北理工大学理学院
A)Open Put Close Get
"c:\Test2.dat" For #1 For
Output
As
#1
#1,1,p Random As #1
B)Open "c:\Test2.dat" #1,1,p #1 Close
C)Open "c:\Test2.dat"
For
Random
Private
Type
As As
Person
String String * * 8 20
name major End Dim Type p
As
Person
设文本框中的数据已正确地赋值给Person类型的变量p,当 单击“保存”按钮时,能正确地把变量中的数据写入随机 文件Test2.dat中的程序段是
Else
Write
End If
#1, 【15】
""
Text1.Text =
End If
End Sub
河北理工大学理学院
(8)在当前目录下有一个名为“myfile.txt”的文本文件,其中有若 干行文本。下面程序的功能是读入此文件中的所有文本行,按行计算 每行字符的ASCII码之和,并显示在窗体上。请填空。 Private Sub Conunandl_Click() Dim ch$,ascii AS Integer Open “myfile.txt” For【11】As #1 While Not EOF(1) Line Input #1,ch ascii=toascii【12】 Print ascii Wend Close #1 End Sub
Visual Basic程序设计
理学院 樊秋红
第12章 文件
12.1 文件系统控件 12.2 文件及其结构 12.3 文件操作方法 12.4 常用文件操作语句与函数
12.5 综合应用程序举例
河北理工大学理学院
本章重点
文件系统控件(同步效果的实现) 文件结构(顺序、随机、二进制) 顺序文件、随机文件的读写操作
河北理工大学理学院
12.1 文件系统控件(3个)
驱动器列表框 用于显示和选择驱动器。
• 主要属性: [<对象>.]Drive=<驱动器名> • 主要事件:Change
目录列表框 显示和选择当前驱动器目录结构和所有子目录。
• 主要属性: [<对象>.]Path=<路径> • 主要事件:Change
关闭文件 Close [[#]文件号1] [,[#]文件号2]……
• (1)关闭1号文件: close #1
• (2)关闭所有文件:close all 或 close
顺序文件举例
在窗体上建立三个菜单(名称分别为Read、Calc和Save,标题分别 为“读入数据”、 “计算并输出”和“存盘”),然后画一个文本 框(名称为Text1,MultiLine属性设置为True,ScrollBars属性设 置为2)(如图1所示)。程序运行后,如果执行“读入数据”命令, 则读入datain1.txt文件中的100个整数,放入一个数组中,数组的下 界为1;如果单击“计算并输出”按钮,则把该数组中下标为奇数的元 素在文本框中显示出来,求出它们的和,并把所求得的和在窗体上 显示出来;如果单击“存盘”按钮,则把所求得的和存入考生文件夹 下的dataout.txt文件中。
MkDir : 创建一个新文件夹
RmDir : 删除指定的空目录
CurDir : 返回指定驱动器的当前目录
河北理工大学理学院
小结
文件系统控件(同步效果的实现) 文件结构(顺序、随机、二进制) 顺序文件、随机文件的读写操作
作业:P262 习题
河北理工大学理学院
(10)以下程序的功能是:把程序文件smtext1.txt的内容全部读入 内存,并在文本框Text1中显示出来。请填空。
河北理工大学理学院
12.3 文件操作方法
2.随机文件 打开文件
• Open “文件名” For Random As [#]文件号[Len=记录长度] • 记录的缺省长度为128字节。
关闭文件:同顺序文件 读/写操作:
• 写:Put [#]文件号,[记录号],变量名 缺省记录号时,表示写入的位置是在当前记录之后。 • 读:Get [#]文件号,[记录号],变量名
河北理工大学理学院
12.3 文件操作方法
姓名(Name) 电话(Tel) 邮政编码(Pos) 100082 LiuMingLiang (010)62781234 ………………………………
各字段的类型和长度为:
姓名(Name): 电话(Tel): 字符串 字符串 15 15
邮政编码(Pos):
长整型(Long)
河北理工大学理学院
12.Leabharlann Baidu 文件及其结构
随机文件
二进制文件
每条记录的长度相同, 可以按记录号直接访问文 件中的任一记录。(即: 可以随机访问) 直接将二进制代码(0、 1的组合)存入文件,按 字节随机访问文件中的 数据。
河北理工大学理学院
12.3 文件操作方法
1. 顺序文件 操作步骤 打开文件 读/写文件
关闭文件
河北理工大学理学院
12.3 文件操作方法
打开文件 Freefile(), 1-511
Open “文件名” For 模式 As [#]文件号
OutPut(写):新建或打开一个文件,进行写操作。文件若 存在,则打开,写入信息覆盖原有信息;文件若不存在, 则新建。 Input (读) :打开一个文件,进行读操作。文件必须存在, 否则出错。 Append(追加):新建或打开一个文件,进行写操作。文件 若存在,则打开,写入信息追加在原有信息之后;文件若 不存在,则新建。
河北理工大学理学院
Private Function toascii(mystr$)As Integer N=0 For k=1 To【13】 n=n+Asc(Mid(mystr,k,1)) Next k Toascii=n End Function
河北理工大学理学院
26.在窗体上有两个名称分别为Text1、Text2的文本框, 一个名称为Command1的命令按钮。设有如下的类型 和变量声明
• Write # 文件号, [输出列表] Write与Print的差 别在于Write以紧凑 格式存放数据,在数 据之间用“,”号隔 开,并给字符型数据 加上双引号。
读文件
• Input # 文件号,变量列表
• 将读出的数据分别赋给指定的变量。 • Line Input # 文件号,字符变量
• 从文件中读出一行赋给指定变量。
As
#1
Len=Len(p)
Put
#1,1,p
#1 For Random As #1 Len=Len(p)
Close Get
D)Open "c:\Test2.dat" #1,1,p
Close #1
河北理工大学理学院
(35)设在工程文件中有一个标准模块,其中定义了如下 记录类型: Type Books Name As String*10 Tc1Num As String*20 End Type 在窗体上画一个名为Command1的命令按钮,要求当执行 事件过程Commandl_ Click时,在顺序文件Person.txt中 写入一条Books类型的记录。下列能够完成该操作的事件 过程是
• Input$ (读取的字符数,文件号) • 从文件中读出指定数目的字符。
读文件时常用的两个 重要函数: LOF(#文件号) (Length of File): 返回指定文件的字符 数(文件长度) EOF(#文件号) (End of File):文 件是否到达文件尾。
河北理工大学理学院
12.3 文件操作方法
缺省记录号时,表示读当前记录的后一条记录。
随机文件举例
河北理工大学理学院
12.3 文件操作方法
如图4(a)所示,窗体上有两个命令按钮,名称 分别为Command1和 Command2,标题分 别为“写文件”和“读文件”。其中“写文件” 命令按钮事件过程用来建立一个通讯录,以随机 存取方式保存到文件t5.txt中;而“读文件” 命 令按钮事件过程用来读出t5.txt中的每个记录, 并在窗体上显示出来。通讯录中的每个记录由三 个字段组成,结构如下:
Private Sub Command1_Click()
Dim inData As String Text1.Text=“”
Open“smtext1.txt” [ 13] As [14]
Do While [ 15] Input#2, inData
Text1.Text=Text1.Text& inData
文件列表框
显示和选择当前目录下所有文件。
• 主要属性:Path、 FileName、 Pattern(文件类型) • 主要事件:Click, DblClick
河北理工大学理学院
12.1 文件系统控件(3个)
? 如何实现同步效果
在:drvDrive_Change ( )和dirDirectory _Change ( ) 两个事件过程中加入相应语句: 表示驱动器列表框 中改变驱动器,其 Sub drvDrive _ Change ( ) 目录列表框中的内 容也同步发生相应 dirDirectory.Path=drvDrive.Drive 变化。 End Sub Sub dirDirectory _ Change ( ) filFile. Path=dirDirectory. Path End Sub
Open
Sub
Form_Load()
For Output As #1
"d:\temp\dat.txt"
Text1.Text
End Sub
=
""
河北理工大学理学院
Private Sub If If
Text1_KeyPress(KeyAscii As Integer) KeyAscii = Close End 13 Then 【14】 Then UCase(Text1.Text) = #1