visual basic 程序设计第2版电子工业出版社 周霭如等编著 课后答案第8章.docx
- 文档编号:29930632
- 上传时间:2023-08-03
- 格式:DOCX
- 页数:20
- 大小:175.15KB
visual basic 程序设计第2版电子工业出版社 周霭如等编著 课后答案第8章.docx
《visual basic 程序设计第2版电子工业出版社 周霭如等编著 课后答案第8章.docx》由会员分享,可在线阅读,更多相关《visual basic 程序设计第2版电子工业出版社 周霭如等编著 课后答案第8章.docx(20页珍藏版)》请在冰豆网上搜索。
visualbasic程序设计第2版电子工业出版社周霭如等编著课后答案第8章
第8章文件
8.1填空题
1.在VB中,我们可以使用的3种数据文件分别为()、()和()。
答案:
顺序文件、随机文件、二进制文件
2.文件的基本操作可以分为3个阶段,这3个阶段是()、()和()。
答案:
打开文件、使用相关语句对打开文件进行读写操作、关闭文件
3.对数据文件进行任何读写操作之前都必须先用()语句打开该文件。
数据文件读/写完之后必须用()语句关闭文件。
答案:
Open、Close
4.关闭所有已打开的文件,使用的语句为()。
答案:
Close
5.为了获得当前可使用的文件通道号,可以调用()函数。
答案:
FreeFile
6.若要在c盘dir1目录下,使用1号通道建立一个顺序文件file1.dat,所用的open语句为()。
答案:
Open“c:
\dir1\file1.dat”ForOutputAs#1
7.若要在c盘dir1目录下的顺序文件file1.dat的后面追加数据,使用3号通道打开文件,所用的open语句为()。
答案:
Open“c:
\dir1\file1.dat”ForAppendAs#3
8.对顺序文件的写操作有标准格式和自定义格式。
标准格式的写语句是( ),自定义格式的写语句是( )。
答案:
Write#语句、Print#语句
9.对顺序文件的读操作可以使用( )语句、( )语句和( )函数。
答案:
Input#、LineInput#、Input
10.若要在c盘dir1目录下,用5号通道建立一个随机文件file2.rec,每条记录占用10个字节的存贮空间,所用的open语句为()。
答案:
Open“c:
\dir1\file2.rec”ForRandomAs#5Len=10
11.对随机文件的写操作用( )语句,读操作使用( )语句。
答案:
Put、Get
12.二进制文件是以( )为单位进行读写的。
答案:
字节
13.执行扩展名为.exe的文件使用()函数。
答案:
Shell
14.设置当前驱动器为e盘,可使用语句()。
答案:
ChDrive“e:
”
15.若要指定当前目录为d盘下的子目录dirl,命令为()。
答案:
ChDir“d:
\dirl”
16.把文件“c:
\dir1\f1.dat”改名为“c:
\dir1\file1.dat”,命令为()。
答案:
Name“c:
\dir1\f1.dat”As“c:
\dir1\file1.dat”
17.若要删除文件“c:
\dir1\file1.txt”,命令为()。
答案:
Kill“c:
\dir1\f.txt”
8.2选择题
1.若以读的方式打开顺序文件“d:
\file1.dat”,则正确的语句是()。
a)Open"d:
\file1.dat"ForOutputAs#1
b)Open"d:
\file1.dat"ForInputAs#1
c)Open"d:
\file1.dat"ForBinaryAs#1
d)Open"d:
\file1.dat"ForRandomAs#1
答案:
b
2.下列访问方式中,()不能以不同的文件号打开当前未关闭的文件。
a)Outputb)Input
c)Randomd)Binary
答案:
a
3.要判别顺序文件中的数据是否读完,应使用()函数。
a)LOFb)LOC
c)EOFd)FreeFile
答案:
c
4.若要从占用1号通道的随机文件中读取数据,使用的语句为( )。
a)Print#1,rb)Write#1,r
b)put#1,,rd)Get#1,,r
答案:
d
5.下列控件中,()不是用于文件操作的控件。
a)ListBoxb)DriteListBox
c)DrectotryListd)FileListBox
答案:
a
6.设置或返回程序运行时要操作的驱动器,使用驱动器列表框DriveListBox的()属性。
a)Valueb)List
c)Drived)pattern
答案:
c
7.改变驱动器列表框的Drive属性将引发()事件。
a)Loadb)Click
c)Patternchanged)Change
答案:
d
8.目录列表框和文件列表框都有()属性。
a)Listb)value
c)Pathd)Pattern
答案:
c
9.文件列表框FileListBox用于设置或返回文件类型的属性是()。
a)Driveb)Path
c)Patternd)FileTitle
答案:
c
8.3解答题
1.什么是文件?
为什么要使用文件?
答:
一般地说,把相关信息有机地组织起来构成文件,它们通常存放在外存储器中。
在内存储器中暂时存放的程序代码、需处理的原始数据和执行结果,当程序运行结束,就立即被系统清除。
如果要把它们永久保存起来,就必须使用文件。
具体地说,以文件形式把它们保存在外存储器(如磁盘、磁带、磁鼓)上。
当需要的时候,我们又可以以文件形式把它们取出来。
另外,内存总是有限的,外存则是海量的。
对于大规模的系统,总是分批把程序代码和数据调入内存来完成特定任务的,这时也必须使用文件分批把程序代码和数据调入内存。
2.顺序文件和随机文件的主要区别是什么?
答:
顺序文件和随机文件的主要区别在于访问数据的方式。
顺序文件中的数据只能顺序写入,顺序读出。
如果要访问第i个数据项,必须先访问第i-1个数据项。
而随机文件不同,可以直接访问某个数据项。
3.二进制文件以什么为读写单位?
它与顺序文件和随机文件有什么关系?
答:
二进制文件是以字节为读写单位的。
用顺序方式或随机方式建立的文件,都可以用二进制方式打开处理。
而用二进制方式建立的文件可以用随机方式打开处理,但不能用顺序方式打开处理。
8.4编程题
3.建立某单位职工通讯录文件“d:
\txrf.rec”,文件中的每个记录包括职工编号、姓名、电话号码、邮政编码和住址。
(1)界面设计和属性设置
在窗体上建立五个标签、五个文本框和两个命令按钮。
窗体和窗体上控件的主要属性设置如表3.8.3所示。
表3.8.3属性设置
控件名称
属性名
属性值
Form1
Caption
建立职工通讯录文件
Label1
Caption
编号
Label2
Caption
姓名
Label3
Caption
电话号码
Label4
Caption
邮政编码
Label5
Caption
住址
Text1、Text2、Text3
Text
空串
Text4、Text5
Text
空串
Command1
Caption
添加记录
Command2
Caption
结束
(2)程序代码
OptionExplicit
PrivateTypetxr
numAsString*4
nameAsString*8
telAsString*8
postcAsString*6
addrAsString*14
EndType
DimzgrAstxr
PrivateSubForm_Load()
Open"d:
\txrf.rec"ForRandomAs#1Len=Len(zgr)
EndSub
PrivateSubCommand1_Click()
Withzgr
.num=Trim(Text1.Text)
.name=Trim(Text2.Text)
.tel=Trim(Text3.Text)
.postc=Trim(Text4.Text)
.addr=Trim(Text5.Text)
EndWith
Put#1,,zgr
Text1.Text=""
Text2.Text=""
Text3.Text=""
Text4.Text=""
Text5.Text=""
EndSub
PrivateSubCommand2_Click()
Close#1
End
EndSub
(3)运行情况
运行程序后,屏幕出现用户界面,如图3.8.3所示。
把鼠标分别移到各个文本框并单击,然后输入某个职工记录相应的数据。
一个职工记录相应的数据输入后,单击标题为“添加记录”的命令按钮,系统执行相应的Click事件过程,把该记录添加到职工通讯录文件“d:
\txrf.rec”中。
重复上述操作,直到所有记录输入完为止。
单击标题为“结束”的命令按钮,关闭文件,结束程序的执行。
图3.8.3用户界面
4.编一程序,在窗体上浏览由第3题所建立的通讯录文件“d:
\txrf.rec”。
(1)界面设计和属性设置
在窗体上建立五个标签、五个文本框和两个命令按钮。
窗体和窗体上控件的主要属性设置如表3.8.4所示。
表3.8.4属性设置
控件名称
属性名
属性值
Form1
Caption
游览职工通讯录文件
Label1
Caption
编号
Label2
Caption
姓名
Label3
Caption
电话号码
Label4
Caption
邮政编码
Label5
Caption
住址
Text1、Text2、Text3
Text
空串
Text4、Text5
Text
空串
Command1
Caption
游览记录
Command2
Caption
结束
(2)程序代码
OptionExplicit
PrivateTypetxr
numAsString*4
nameAsString*8
telAsString*8
postcAsString*6
addrAsString*14
EndType
DimzgrAstxr
PrivateSubForm_Load()
Open"d:
\txrf.rec"ForRandomAs#1Len=Len(zgr)
EndSub
PrivateSubCommand1_Click()
IfNotEOF
(1)Then
Get#1,,zgr
Withzgr
Text1.Text=.num
Text2.Text=.name
Text3.Text=.tel
Text4.Text=.postc
Text5.Text=.addr
EndWith
Else
MsgBox("浏览完毕!
")
EndIf
EndSub
PrivateSubCommand2_Click()
Close#1
End
EndSub
(3)运行情况
运行程序后,屏幕出现用户界面,如图3.8.4所示。
单击标题为“游览记录”的命令按钮,系统执行相应的Click事件过程,把第一个记录的各个数据项分别显示在相应文本框上。
重复上述操作,直到把所有记录游览完为止。
单击标题为“结束”的命令按钮,关闭文件,结束程序的执行。
图3.8.4用户界面
5.从键盘上输入职工的编号,在由第3题所建立的通讯录文件“d:
\txrf.rec”中查找该职工资料。
查找成功时,显示职工的姓名、电话号码、邮政编码和住址;查找失败时,给出错误信息。
(1)界面设计和属性设置
在窗体上建立五个标签、五个文本框和两个命令按钮。
窗体和窗体上控件的主要属性设置如表3.8.5所示。
表3.8.5属性设置
控件名称
属性名
属性值
Form1
Caption
查找职工通讯录文件中记录
Label1
Caption
编号
Label2
Caption
姓名
Label3
Caption
电话号码
Label4
Caption
邮政编码
Label5
Caption
住址
Text1、Text2、Text3
Text
空串
Text4、Text5
Text
空串
Command1
Caption
查找记录
Command2
Caption
结束
(2)程序代码
OptionExplicit
PrivateTypetxr
numAsString*4
nameAsString*8
telAsString*8
postcAsString*6
addrAsString*14
EndType
DimzgrAstxr
PrivateSubCommand1_Click()
Open"d:
\txrf.rec"ForRandomAs#1Len=Len(zgr)
WhileNotEOF
(1)
Get#1,,zgr
Ifzgr.num=Text1.TextThen
MsgBox"该职工记录找到了!
"
Withzgr
Text2.Text=.name
Text3.Text=.tel
Text4.Text=.postc
Text5.Text=.addr
EndWith
GoTol
EndIf
Wend
MsgBox"该职工记录找不到!
"
l:
Close#1
EndSub
PrivateSubCommand2_Click()
End
EndSub
PrivateSubText1_Click()
Text1.Text="":
Text2.Text=""
Text3.Text="":
Text4.Text=""
Text5.Text=""
EndSub
(3)运行情况
运行程序后,屏幕出现用户界面。
把鼠标移到文本框Text1并单击,然后输入需查找职工的编号(例如,0005)。
编号输入后,单击标题为“查找记录”的命令按钮,系统执行相应的Click事件过程。
若找到相应的记录,则显示一个MsgBox对话框,报告“该职工记录找到了!
”的信息。
单击“确定”按钮,系统把该记录的各个数据项分别显示在相应文本框上,如图3.8.5所示。
若找不到相应的记录,则显示另一个MsgBox对话框,报告“该职工记录找不到!
”的信息。
如果继续查找记录,则先把鼠标移到文本框Text1并单击,然后重复上述操作。
单击标题为“结束”的命令按钮,结束程序的执行。
图3.8.5运行情况
6.编一程序,在由第3题所建立的通讯录文件“d:
\txrf.rec”的末尾添加新记录,按给定位置在该通讯录文件中插入新记录。
操作成功或失败时都应显示有关信息。
(1)界面设计和属性设置
在窗体上建立六个标签、六个文本框和三个命令按钮。
窗体和窗体上控件的主要属性设置如表3.8.6所示。
表3.8.6属性设置
控件名称
属性名
属性值
Form1
Caption
末尾添加或插入新记录
Label1
Caption
编号
Label2
Caption
姓名
Label3
Caption
电话号码
Label4
Caption
邮政编码
Label5
Caption
住址
Label6
Caption
插入位置
Text1、Text2、Text3
Text
空串
Text4、Text5、Text6
Text
空串
Command1
Caption
添加新记录
Command2
Caption
插入新记录
Command3
Caption
结束
(2)程序代码
OptionExplicit
PrivateTypetxr
numAsString*4
nameAsString*8
telAsString*8
postcAsString*6
addrAsString*14
EndType
DimzgrAstxr
PrivateSubCommand1_Click()'添加新记录事件过程
Dimn%
IfDir("d:
\txrf.rec")<>""Then
Open"d:
\txrf.rec"ForRandomAs#1Len=Len(zgr)
n=LOF
(1)/Len(zgr)+1
Withzgr
.num=Trim(Text1.Text)
.name=Trim(Text2.Text)
.tel=Trim(Text3.Text)
.postc=Trim(Text4.Text)
.addr=Trim(Text5.Text)
EndWith
Put#1,n,zgr
MsgBox"新记录添加已经完成!
"
GoTol
EndIf
MsgBox"文件不存在,新记录添加失败!
"
l:
EndSub
PrivateSubCommand2_Click()'插入新记录事件过程
Dimi%,insertp%,zgrAstxr
IfDir("d:
\txrf.rec")<>""Then
Open"d:
\txrf.rec"ForRandomAs#1Len=Len(zgr)
Open"d:
\txrf1.rec"ForRandomAs#2Len=Len(zgr)
insertp=Val(Text6.Text)
i=1
Whilei<>insertp
Get#1,i,zgr
Put#2,i,zgr
i=i+1
Wend
Withzgr
.num=Text1.Text
.name=Text2.Text
.tel=Text3.Text
.postc=Text4.Text
.addr=Text5.Text
EndWith
Put#2,i,zgr
WhileNotEOF
(1)
Get#1,i,zgr
Put#2,i+1,zgr
i=i+1
Wend
MsgBox"新记录插入已经完成!
"
Close
Kill"d:
\txrf.rec"
Name"d:
\txrf1.rec"As"d:
\txrf.rec"
GoTol
EndIf
MsgBox"文件不存在,新记录插入失败!
"
l:
EndSub
PrivateSubCommand3_Click()
End
EndSub
(3)运行情况
运行程序后,屏幕出现用户界面,如图3.8.6所示。
若添加新记录,则把鼠标分别移到各个文本框并单击,然后输入新职工记录相应的数据。
新职工记录相应的数据输入后,单击标题为“添加新记录”的命令按钮,系统执行相应的Click事件过程,把该记录添加到文件末尾。
若插入新记录,则把鼠标分别移到各个文本框并单击,然后输入新职工记录相应的数据和插入位置。
输入数据后,单击标题为“插入新记录”的命令按钮,系统执行相应的Click事件过程,把该记录插入到文件中指定位置。
单击标题为“结束”的命令按钮,结束程序的执行。
图3.8.6用户界面
7.从键盘上输入职工的编号,在由第3题所建立的通讯录文件“d:
\txrf.rec”中删除相应记录。
删除之前提示用户,如果用户选择“确认”,执行删除;如果选择“取消”,则直接关闭文件。
(1)界面设计和属性设置
在窗体上建立六个标签、六个文本框和两个命令按钮。
窗体和窗体上控件的主要属性设置如表3.8.7所示。
表3.8.7属性设置
控件名称
属性名
属性值
Form1
Caption
按编号删除记录
Label1
Caption
编号
Label2
Caption
姓名
Label3
Caption
电话号码
Label4
Caption
邮政编码
Label5
Caption
住址
Label6
Caption
需删除记录编号
Text1、Text2、Text3
Text
空串
Text4、Text5、Text6
Text
空串
Command1
Caption
删除记录
Command2
Caption
结束
(2)程序代码
OptionExplicit
PrivateTypetxr
numAsString*4
nameAsString*8
telAsString*8
postcAsString*6
addrAsString*14
EndType
PrivateSubCommand1_Click()
DimdnumAsString*4,zgrAstxr,msg$,style$,title$,response$
Cls
Open"d:
\txrf.rec"ForRandomAs#1Len=Len(zgr)
IfDir("d:
\txrf1.mid")="d:
\txrf1.mid"Then
Kill"d:
\txrf1.mid"
EndIf
Open"d:
\txrf1.mid"ForRandomAs#2Len=Len(zgr)
dnum=Text6.Text
DoWhileNotEOF
(1)
Get#1,,zgr
Ifdnum=zgr.numThen
MsgBox"需删除记录的职工已找到!
"
Withzgr
Text1.Text=.num
Text2.Text=.name
Text3.Text=.tel
Text4.Text=.postc
Text5.Text=.addr
EndWith
msg="真的删除该记录吗?
"
style=vbYesNo+vbCritical+vbDefaultButton1
title="提示信息"
response=MsgBox(msg,style,title)
Ifresponse=vbYesThenGoTol1ElseCls:
Close:
GoTol2
EndIf
Put#2,,zgr
Loop
MsgBox"该职工的记录不存在!
"
Cl
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- visual basic 程序设计第2版电子工业出版社 周霭如等编著 课后答案第8章 程序设计 电子 工业出版社 周霭如 编著 课后 答案