实验1VB编程环境和文件.docx
- 文档编号:12106546
- 上传时间:2023-04-17
- 格式:DOCX
- 页数:18
- 大小:253.56KB
实验1VB编程环境和文件.docx
《实验1VB编程环境和文件.docx》由会员分享,可在线阅读,更多相关《实验1VB编程环境和文件.docx(18页珍藏版)》请在冰豆网上搜索。
实验1VB编程环境和文件
实验1环境和文件
实验目的:
1.熟悉VB的集成开发环境
2.掌握常用控件的属性、方法
3.熟悉常用对象事件的使用
4.熟悉文件系统控件的使用
5.掌握文件的打开、关闭和读写操作
实验1.1认识VisualBasic
实验任务:
认识VisualBasic的集成开发环境,熟悉各个窗口的功能,熟悉控件的属性、方法,熟悉事件的使用。
实验结果界面如图1-1所示。
图1-1实验1.1运行界面
实验步骤:
1.启动VB6.0,创建一个“标准EXE”类型的应用程序。
2.将窗体的Font属性设为宋体、小二、粗体,Caption属性设置为“我的第一个程序”。
3.在窗体上添加两个命令按钮Command1(Caption属性设置为“欢迎”)和Command2(Caption属性设置为“再见”)。
4.双击“欢迎”按钮,涉及如下代码:
Print“欢迎使用VisualBasic”
5.双击“再见”按钮,添加如下代码:
End
6.将窗体和工程分别以文件名vb1.frm和vb1.vbp保存在自己的文件夹中。
7.单击F5,试验运行本程序,直至满意为止。
说明:
这里,“自己的文件夹”指任意磁盘获U盘如D盘根目录下以自己的名字和学号命名的子目录(例如姓名为“赵阳”,学号为09080126;则自己的文件夹就是“D:
\赵阳09080126”),以后所有的实验若无特殊说明均保存在该目录下。
思考:
除了上述方法,还可以怎样实现上述题目要求?
试一试。
实验1.2对象移动动画
实验任务:
熟悉Move方法实现对象移动,进一步熟悉控件事件的使用。
实验结果界面如图1-2所示。
图1-2实验1.2运行界面
实验步骤:
1.将窗体的Caption属性设为“欢迎新同学”;为窗体设置Picture属性(图片可以从C:
\Windows\Web\Wallpaper中取,也可放自己喜欢的照片),设置窗体不可改变大小。
2.在窗体上添加两个标签,Caption属性为“欢迎新同学”,并将其设置为浮雕效果(提示:
浮雕效果可以由两个背景风格为透明、前景颜色不同、位置稍有错位的标签重叠而成)。
3.添加两个命令按钮Command1和Command2,清空Caption属性,将Style属性设置为1-Grapical,分别为Picture属性设置图标文件“Point02.ico”、“Point04.ico”(图标文件位于VB的安装目录下\Common\Graphics\Icons\Arrows文件夹中)。
4.双击Command1,添加如下代码:
Label1.MoveLabel1.Left-50
Label2.MoveLabel2.Left–50
5.双击Command2,添加如下代码:
Label1.MoveLabel1.Left+50
Label2.MoveLabel2.Left+50
6.将窗体和工程文件保存在自己的文件夹中。
7.单击F5,试验运行本程序,直至满意为止。
思考:
根据Move方法的语法“对象名.Moveleft,top,width,height”,修改上述程序还可以有哪些变化?
试一试。
实验1.3文件系统控件
实验任务:
建立一个图形浏览器,窗体上放置驱动器列表框、目录列表框、文件列表框、一个文本框和一个图像框,并实现以下要求:
(1)文件列表框能过滤只显示后缀为BMP的图形文件;
(2)当单击某BMP图形文件名后,在Text1显示文件名(包括路径),在Image1显示该图形内容;
(3)当双击某图形文件名后,调用windows画图程序对该图形进行编辑。
实验结果如图1-3所示。
图l-3实验1.3运行界面
实验步骤:
1.在窗体中加入Drive、Dir、FileList三个文件操作控件,分别用于驱动器、目录及文件名列表的操作(三个控件可直接在VB工具栏中找到)。
2.通过drive1及dir1控件的change事件过程建立三控件之间的相互关联,代码如下:
PrivateSubDir1_Change()
File1.Path=Dir1.Path
EndSub
PrivateSubDrive1_Change()
Dir1.Path=Drive1.Drive
EndSub
3.在Form_load()事件过程中设置文件列表中的筛选过滤条件,并设置Image1对象的Stretch属性使预览时的图像大小自动适应图像框大小。
代码如下:
PrivateSubForm_Load()
File1.Pattern="*.bmp"
Image1.Stretch=True
EndSub
4.编写代码实现图形文件的单击预览,双击打开编辑。
DimFname$
PrivateSubFile1_Click()
Fname=File1.Path&IIf(Right(File1.Path,1)="\","","\")&File1.FileName
Text1.Text=Fname
Image1.Picture=LoadPicture(Fname)
EndSub
PrivateSubFile1_DblClick()
Fname=File1.Path&IIf(Right(File1.Path,1)="\","","\")&File1.FileName
Text1.Text=Fname
Dima
a=Shell("D:
\windows\System32\mspaint.exe"&Fname,vbMaximizedFocus)
‘注意,应掌握Shell函数调用外部过程的方法
EndSub
5.将窗体和工程文件保存在自己的文件夹中。
6.单击F5,试验运行本程序,直至满意为止。
思考:
可否仿照上述实验,完成下一个实验后,建立一个文本浏览器。
窗体上放置驱动器列表框、目录列表框、文件列表框和两个文本框,要求:
1、仅列出扩展名为txt的文本文件
2、当单击某文本文件后在文本框显示该文件内容;
3、当双击扩展名为.txt的文件后,调用“记事本”程序对文本文件进行编辑。
实验1.4顺序文件
实验任务:
建立一个具有写入和读取顺序文件功能的程序,能将多行文本框中输入的数据保存到文本文件,并在需要的时候读入内存显示在文本框中。
实验结果如图1-4所示。
图l-4实验1.4运行界面
实验步骤:
1.新建工程,加入两个文本框、两个命令按钮以及通用对话框控件,使其符合题目的界面及操作要求;
2.在代码窗口中输入下列命令代码:
OptionExplicit
PrivateSubCommand1_Click()
CommonDialog1.Filter="文本文件(*.txt)|*.txt|所有文件(*.*)|*.*"
CommonDialog1.ShowSave
OpenCommonDialog1.FileNameForOutputAs#1
‘打开在通用对话框中选定的文本文件用于覆盖式写入
Print#1,Text1.Text‘写入文件的命令除了Print#外还有write#,注意体会差别
Close#1‘关闭文件
EndSub
PrivateSubCommand2_Click()
DimcAsString
CommonDialog1.Filter="文本文件(*.txt)|*.txt|所有文件(*.*)|*.*"
CommonDialog1.ShowOpen
OpenCommonDialog1.FileNameForInputAs#1‘注意打开方式为Input读入
Text2.Text=""
DoWhileNotEOF
(1)
LineInput#1,c‘注意,顺序文件的读取还有其它几种方法
Text2.Text=Text2.Text&cChr(13)&Chr(10)‘每行末尾“回车”“换行”
Loop
Close#1
EndSub
PrivateSubForm_Load()
ChDriveApp.Path‘改变当前驱动器
ChDirApp.Path‘改变当前目录
EndSub
3.将窗体和工程文件保存在自己的文件夹中。
4.单击F5,试验运行本程序,直至满意为止。
思考:
1.内存变量为什么要定义为字符串类型?
2.如何改用数据文件的其他读入方法完成类似任务?
试一试。
实验1.5随机文件
实验任务:
设计一个随机文件读写应用程序,用于学生成绩维护,包括自动显示每人各科成绩、计算每人总分、平均分,并可添加记录。
实验结果界面如图1-5所示。
图l-5实验1.5运行界面
实验步骤:
1.建立工程,设置标题栏,根据题目要求在窗体中添加各个控件并设置其属性;
2.依据下列提示设计程序。
(1)定义数据类型
TypeStudType
iNoAsInteger
strNameAsString*20
strClassAsString*20
sMathAsSingle
sChineseAsSingle
sEnglishAsSingle
sPhysicalAsSingle
sTotalAsSingle
sAverageAsSingle
EndType
DimStudentAsStudType
(2)把文本框中的数据赋给变量
Student.strName=txtName.text
Student.strClass=txtClass.text
Student.sMath=Val(txtMath.text)
Student.sChinese=Val(txtChinese.text)
(3)把数据存入文件
Open"Student.dat"ForRandomAs#1Len=Len(Studen)
Record_No=LOF
(1)/LEN(Student)+1
Put#1,Record_No,Student
Close#1
3.调试程序,直到满意。
说明:
本实验为设计性实验,试验界面和程序完全可以自主创新并允许适当增加功能。
思考:
1.怎样修改程序使其能删除某一记录?
2.怎样修改程序使其能求出全班每门课程的平均成绩和全班总平均成绩?
习题1
习题1.1选择题
1.VisualBasic是一种面向对象的可视化程序设计语言,采取了()的编程机制。
(A)事件驱动(B)按过程顺序执行
(C)从主程序开始执行(D)按模块顺序执行
2.在VisualBasic中最基本的对象是(),它是应用程序的基石,是其他控件的容器。
(A)文本框(B)命令按钮(C)窗体(D)标签
3.多窗体程序是由多个窗体组成。
在缺省情况下,VB在应用程序执行时,总是把()指定为启动窗体。
(A)不包含任何控件的窗体(B)设计时的第一个窗体
(C)包含控件最多的窗体(D)命名为First的窗体
4.有程序代码如下:
Text1.Text="VisualBasic"
则:
Text1、Text和"VisualBasic"分别代表()。
(A)对象,值,属性(B)对象,方法,属性
(C)对象,属性,值(D)属性,对象,值
5.VisualBasic是一种面向对象的程序设计语言,()不是对象系统所包含的三要素。
(A)变量(B)事件(C)属性(D)方法
6.VisualBasic的一个应用程序至少包含一个()文件,该文件存储窗体上使用的所有控件对象和有关的()、对象相应的()过程和()代码。
(A)模块、方法、事件、程序(B)窗体、属性、事件、程序
(C)窗体、程序、属性、事件(D)窗体、属性、事件、模块
7.以下不属于VisualBasic的工作模式是()模式。
(A)编译(B)设计(C)运行(D)中断
8.在VB集成环境创建VB应用程序时,除了工具箱窗口、窗体中的窗口、属性窗口外必不可少的窗口是()。
(A)窗体布局窗口B)立即窗口(C)代码窗口(D)监视窗口
9.保存新建的工程时,默认的路径是()。
(A)MyDocuments(B)VB98(C)\(D)Windows
10.将调试通过的工程经“文件”菜单的“生成.exe文件”编译成.exe后,将该可执行文件到其他机器上不能运行的主要原因是()。
(A)运行的机器上无VB系统(B)缺少.frm窗体文件
(C)该可执行文件有病毒(D)以上原因都不对
11.对于窗体,下面()属性可以在运行模式下进行设置。
(A)MaxButton(B)BorderStyle(C)Name(D)Left
12.要使Print方法在Form_Load事件中起作用,要对窗体的()属性进行设置。
(A)BackColor(B)ForeColor(C)AutoRedraw(D)Caption
13.若要使标签控件显示时不覆盖其背景内容,要对()属性进行设置。
(A)BackColor(B)BorderStyle(C)ForeColor(D)BackStyle
14.若要使命令按钮不可操作,要对()属性设置。
(A)Enabled(B)Visible(C)BackColor(D)Caption
15.文本框没有()属性。
(A)Enabled(B)Visible(C)BackColor(D)Caption
16.不论何控件,共同具有的是()属性。
(A)Text(B)Name(C)ForeColor(D)Caption
17.要使Form1窗体的标题栏显示“欢迎使用VB”,以下()语句是正确的。
(A)Form1.Caption=“欢迎使用VB”
(B)Form1.Caption='欢迎使用VB'
(C)Form1.Caption=欢迎使用VB
(D)Form1.Caption="欢迎使用VB"
18.要使某控件在运行时不可见,应对()属性进行设置。
(A)Enabled(B)Visible(C)BackColor(D)Caption
19.要使窗体在运行时不可改变窗体的大小并且没有最大化和最小化按钮,只要对下列()属性设置就有效。
(A)MaxButton(B)BorderStyle(C)Width(D)MinButton
20.当运行程序时,系统自动执行启动窗体的()事件过程。
(A)Load(B)Click(C)UnLoad(D)GotFocus
21.VisualBasic提供的对数据文件的三种访问方式分别为随机访问方式、()和二进制访问方式。
(A)顺序访问方式(B)十六进制访问方式
(C)倒序访问方式(D)八进制访问方式
22.打开顺序文件的语句是()。
(A)Output(B)For(C)Open(D)Close
23.打开顺序文件语句的参数中Append是表示把新数据添加到文件的()。
(A)文件尾(B)文件头
(C)文件中间(D)不能创建一个新文件
24.用Close关闭多个已打开的顺序文件是,文件号之间要用()标点符号隔开。
(A).(B);(C),(D)/
25.读顺序文件中用Input#语句是从打开的顺序文件中读取一行数据,这里的一行是指从当前指针位置开始到()符之前的所有数据。
(A)回车换行符(B)空格符(C)A字符(D)C字符
26.写顺序文件时的Write#语句会自动将写入文件中的信息用()符号分开。
(A);(B),(C)/(D)。
27.随机文件中每行或者每个记录的长度是()。
(A)固定(B)300个字节(C)不固定(D)10个字节
28.文件系统控件中DriveListBox是()。
(A)驱动器列表框(B)目录列表框
(C)文件列表框(D)图形列表框
29.文件操作时,Rmdir函数的功能是()。
(A)得到下一个可用文件号(B)删除一个已有的目录
(C)在打开的文件中指定当前的读写位置(D)返回当前路径
30.文件操作时,Kill函数的功能是()。
(A)返回文件被创建或者最后修改的日期与时间
(B)返回以字节表示的文件长度
(C)从磁盘中删除文件
(D)重命名一个文件或目录
31.为了把一个记录型变量的内容写入文件中指定的位置,所使用的语句的格式为:
()。
(A)Get文件号,记录号,变量名(B)Get文件号,变量名,记录号
(C)Put文件号,变量名,记录号(D)Put文件号,记录号,变量名
32.文件操作时,LOF函数的功能是()。
(A)确定文件中的长度(字符总数)(B)判断文件是否已经结束
(C)判断文件是否打开(D)判断文件的属性
33.若磁盘文件C:
\Data1.dat不存在,下列语句中,会产生错误的是()。
(A)Open"C:
\Data1.dat"ForOutputAs#1
(B)Open"C:
\Data1.dat"ForInputAs#2
(C)Open"C:
\Data1.dat"ForAppendAs#3
(D)Open"C:
\Data1.dat"ForBinaryAs#4
34.下列()语句不能实现从顺序文件中读入数据。
(A)LineInput#<文件号>,<变量名>
(B)Input#<文件号>,<变量名1>[,<变量名2>...]
(C)Input(Length,#<文件号>)
(D)InputBox(message)
35.驱动器列表框的Drive属性是()。
(A)返回或设置所选定的驱动器(B)显示当前驱动器或指定驱动器上的目录
(C)显示根目录下的文件名(D)只显示当前路径下的文件
36.关闭顺序文件要用()语句。
(A)Output(B)For(C)Open(D)Close
37.用Close关闭已打开的顺序文件时,如果省略参数FileList(文件号列表)是即表示关闭()已打开的文件。
(A)1个(B)5个(C)10个(D)所有
38.在顺序文件语句中Input#可以从文件中同时向()个变量内读入数据。
(A)一个(B)三个(C)多个(D)最多十个
39.写顺序文件时的Write#语句会自动将写入文件的信息中的字符串数据加上()符号。
(A)""(B)[](C)<>(D){}
40.随机访问模式中文件的读操作使用()命令。
(A)Open(B)Put(C)Input(D)Get
参考答案:
1A2C3B4C5A
6B7A8C9B10A
11D12C13D14A15D
16B17D18B19B20A
21A22C23A24C25A
26B27A28A29B30C
31D32A33B34D35A
36D37D38C39A40D
习题1.2填空题
1、完善下列程序,要求能将不同学生的姓名、性别、年龄通过文本框输入,按“写入”按钮后写入随机文件中,或按下“读取”按钮后将随机文件的内容读入到相应的文本框中,或按下“退出”按钮,程序运行结束。
PrivateTypeStud
NameAsString*8
SexAsString*2
AgeAsByte
_____________________________’第1空
DimStudentAs____________________________’第2空
DimNAsInteger
PrivateSubCommand1_Click()
Student.Name=Text1.Text
Student.Sex=Text3.Text
Student.Age=Val(Text2.Text)
____________________________________,,Student‘第3空
N=N+1
EndSub
PrivateSubCommand2_Click()
k=CInt(InputBox("输入要显示的记录号(1-"&Str(N)&"):
"))
If(k>=1)And(k<=N)Then
____________________________________________’第4空
Text1.Text=Student.Name
Text3.Text=Student.Sex
Text2.Text=Student.Age
Else
MsgBox"记录不存在!
",vbCritical,"警告"
EndIf
EndSub
PrivateSubCommand3_Click()
___________________________________________’第5空
End
EndSub
PrivateSubForm_Load()
Open"Stud.txt"ForRandomAs#1_______________________________’第6空
N=0
ChDriveApp.Path
ChDirApp.Path
EndSub
2、通过文本框输入学号、姓名、外语3个数据项,并通过单选按钮输入性别数据项,将这些数据以紧凑格式追加到顺序文件wj1.txt。
PrivateSubCommand1_Click()
Dimxh$,xm$,xb$,wy%
Open"wj1.txt"____________________________________’第7空
xh=Text1.Text'学号
xm=Text2.Text'姓名
xb=________________________'第8空性别,选Option1为男,Option2为女
wy=Val(Text3.Text)'外语成绩
____________________________#1,xh,xm,xb,wy‘第9空
Text1.Text=""
Text2.Text=""
Text3.Text=""
Text1.SetFocus
__________________
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 VB 编程 环境 和文