《实验1 VB编程环境和文件.doc》由会员分享,可在线阅读,更多相关《实验1 VB编程环境和文件.doc(14页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、实验1 环境和文件实验目的:1熟悉VB的集成开发环境2掌握常用控件的属性、方法3熟悉常用对象事件的使用4熟悉文件系统控件的使用5掌握文件的打开、关闭和读写操作实验1.1认识Visual Basic实验任务:认识Visual Basic的集成开发环境,熟悉各个窗口的功能,熟悉控件的属性、方法,熟悉事件的使用。实验结果界面如图1-1所示。图 1-1 实验1.1运行界面实验步骤:1 启动VB6.0,创建一个“标准EXE”类型的应用程序。2 将窗体的Font属性设为宋体、小二、粗体,Caption属性设置为“我的第一个程序”。3 在窗体上添加两个命令按钮Command1(Caption属性设置为“欢迎
2、”)和Command2(Caption属性设置为“再见”) 。4 双击“欢迎”按钮,涉及如下代码:Print “欢迎使用 Visual Basic”5 双击“再见”按钮,添加如下代码:End6 将窗体和工程分别以文件名vb1.frm和vb1.vbp保存在自己的文件夹中。7 单击F5,试验运行本程序,直至满意为止。说明:这里,“自己的文件夹”指任意磁盘获U盘如D盘根目录下以自己的名字和学号命名的子目录(例如姓名为“赵阳”,学号为09080126;则自己的文件夹就是“D:赵阳09080126”),以后所有的实验若无特殊说明均保存在该目录下。思考:除了上述方法,还可以怎样实现上述题目要求?试一试。实
3、验1.2 对象移动动画实验任务:熟悉Move方法实现对象移动,进一步熟悉控件事件的使用。实验结果界面如图1-2所示。图1-2 实验1.2运行界面实验步骤:1 将窗体的Caption属性设为“欢迎新同学”;为窗体设置Picture属性(图片可以从C:WindowsWebWallpaper中取,也可放自己喜欢的照片),设置窗体不可改变大小。2 在窗体上添加两个标签,Caption属性为“欢迎新同学”,并将其设置为浮雕效果(提示:浮雕效果可以由两个背景风格为透明、前景颜色不同、位置稍有错位的标签重叠而成)。3 添加两个命令按钮Command1 和Command2,清空Caption属性,将Style
4、属性设置为1-Grapical,分别为Picture属性设置图标文件“Point02.ico”、“Point04.ico”(图标文件位于VB的安装目录下CommonGraphicsIconsArrows文件夹中)。4 双击Command1,添加如下代码: Label1.Move Label1.Left - 50 Label2.Move Label2.Left 505 双击Command2,添加如下代码: Label1.Move Label1.Left + 50 Label2.Move Label2.Left + 506 将窗体和工程文件保存在自己的文件夹中。7 单击F5,试验运行本程序,直至满
5、意为止。思考:根据Move方法的语法“对象名.Move left, top, width, height”,修改上述程序还可以有哪些变化?试一试。实验1.3文件系统控件实验任务:建立一个图形浏览器,窗体上放置驱动器列表框、目录列表框、文件列表框、一个文本框和一个图像框,并实现以下要求:(1)文件列表框能过滤只显示后缀为BMP的图形文件;(2)当单击某BMP图形文件名后,在Text1显示文件名(包括路径),在Image1显示该图形内容;(3)当双击某图形文件名后,调用windows画图程序对该图形进行编辑。实验结果如图1-3所示。图l-3 实验1.3运行界面实验步骤:1在窗体中加入Drive、D
6、ir、FileList三个文件操作控件,分别用于驱动器、目录及文件名列表的操作(三个控件可直接在VB工具栏中找到)。2通过drive1及dir1控件的change事件过程建立三控件之间的相互关联,代码如下:Private Sub Dir1_Change()File1.Path = Dir1.PathEnd SubPrivate Sub Drive1_Change()Dir1.Path = Drive1.DriveEnd Sub3在Form_load()事件过程中设置文件列表中的筛选过滤条件,并设置Image1对象的Stretch属性使预览时的图像大小自动适应图像框大小。代码如下:Private
7、 Sub Form_Load()File1.Pattern = *.bmpImage1.Stretch = TrueEnd Sub4编写代码实现图形文件的单击预览,双击打开编辑。Dim Fname$Private Sub File1_Click()Fname = File1.Path & IIf(Right(File1.Path, 1) = , , ) & File1.FileNameText1.Text = FnameImage1.Picture = LoadPicture(Fname)End SubPrivate Sub File1_DblClick()Fname = File1.Path
8、 & IIf(Right(File1.Path, 1) = , , ) & File1.FileNameText1.Text = FnameDim aa = Shell(D:windowsSystem32mspaint.exe & Fname, vbMaximizedFocus)注意,应掌握Shell函数调用外部过程的方法End Sub5将窗体和工程文件保存在自己的文件夹中。6单击F5,试验运行本程序,直至满意为止。思考:可否仿照上述实验,完成下一个实验后,建立一个文本浏览器。窗体上放置驱动器列表框、目录列表框、文件列表框和两个文本框,要求:1、仅列出扩展名为txt的文本文件 2、当单击某文本
9、文件后在文本框显示该文件内容;3、当双击扩展名为.txt的文件后,调用“记事本”程序对文本文件进行编辑。 实验1.4顺序文件实验任务:建立一个具有写入和读取顺序文件功能的程序,能将多行文本框中输入的数据保存到文本文件,并在需要的时候读入内存显示在文本框中。实验结果如图1-4所示。图l-4 实验1.4运行界面实验步骤: 1新建工程,加入两个文本框、两个命令按钮以及通用对话框控件,使其符合题目的界面及操作要求;2在代码窗口中输入下列命令代码:Option ExplicitPrivate Sub Command1_Click() CommonDialog1.Filter = 文本文件(*.txt)|
10、*.txt|所有文件(*.*)|*.* CommonDialog1.ShowSave Open CommonDialog1.FileName For Output As #1 打开在通用对话框中选定的文本文件用于覆盖式写入 Print #1, Text1.Text 写入文件的命令除了Print #外还有write #,注意体会差别 Close #1 关闭文件End SubPrivate Sub Command2_Click() Dim c As String CommonDialog1.Filter = 文本文件(*.txt)|*.txt|所有文件(*.*)|*.* CommonDialog1
11、.ShowOpen Open CommonDialog1.FileName For Input As #1 注意打开方式为Input读入 Text2.Text = Do While Not EOF(1) Line Input #1, c 注意,顺序文件的读取还有其它几种方法 Text2.Text = Text2.Text & c Chr(13) & Chr(10) 每行末尾“回车”“换行” Loop Close #1End SubPrivate Sub Form_Load() ChDrive App.Path 改变当前驱动器 ChDir App.Path 改变当前目录End Sub3将窗体和工
12、程文件保存在自己的文件夹中。4单击F5,试验运行本程序,直至满意为止。思考:1 内存变量为什么要定义为字符串类型?2 如何改用数据文件的其他读入方法完成类似任务?试一试。实验1.5随机文件实验任务:设计一个随机文件读写应用程序,用于学生成绩维护,包括自动显示每人各科成绩、计算每人总分、平均分,并可添加记录。实验结果界面如图1-5所示。图l-5 实验1.5运行界面实验步骤:1建立工程,设置标题栏,根据题目要求在窗体中添加各个控件并设置其属性;2依据下列提示设计程序。(1)定义数据类型 Type StudType iNo As Integer strName As String*20 strCla
13、ss As String*20 sMath As Single sChinese As Single sEnglish As Single sPhysical As Single sTotal As Single sAverage As Single End Type Dim Student As StudType(2)把文本框中的数据赋给变量 Student.strName=txtName.text Student.strClass=txtClass.text Student.sMath=Val(txtMath.text) Student.sChinese=Val(txtChinese.te
14、xt)(3)把数据存入文件 Open Student.dat For Random As #1 Len=Len(Studen) Record_No=LOF(1)/LEN(Student)+1 Put #1, Record_No, Student Close #13 调试程序,直到满意。说明:本实验为设计性实验,试验界面和程序完全可以自主创新并允许适当增加功能。思考:1 怎样修改程序使其能删除某一记录?2 怎样修改程序使其能求出全班每门课程的平均成绩和全班总平均成绩?习题1习题1 .1 选择题 1Visual Basic是一种面向对象的可视化程序设计语言,采取了( )的编程机制。 (A)事件驱动
15、 (B)按过程顺序执行 (C)从主程序开始执行 (D)按模块顺序执行 2在Visual Basic中最基本的对象是( ),它是应用程序的基石,是其他控件的容器。 (A)文本框 (B)命令按钮 (C)窗体 (D)标签 3多窗体程序是由多个窗体组成。在缺省情况下,VB在应用程序执行时,总是把( )指定为启动窗体。 (A)不包含任何控件的窗体 (B)设计时的第一个窗体 (C)包含控件最多的窗体 (D)命名为First的窗体 4有程序代码如下: Text1.Text=Visual Basic则:Text1、Text和Visual Basic分别代表( )。 (A)对象,值,属性 (B)对象,方法,属性
16、 (C)对象,属性,值 (D)属性,对象,值 5Visual Basic是一种面向对象的程序设计语言,( )不是对象系统所包含的三要素。 (A)变量 (B)事件 (C)属性 (D)方法 6Visual Basic的一个应用程序至少包含一个( )文件,该文件存储窗体上使用的所有控件对象和有关的 ( )、对象相应的( )过程和( )代码。 (A)模块、方法、事件、程序 (B)窗体、属性、事件、程序 (C)窗体、程序、属性、事件 (D)窗体、属性、事件、模块 7以下不属于Visual Basic的工作模式是( )模式。 (A)编译 (B)设计 (C)运行 (D)中断 8在VB集成环境创建VB应用程序
17、时,除了工具箱窗口、窗体中的窗口、属性窗口外必不可少的窗口是( )。(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 (
18、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)Visi
19、ble (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
20、19要使窗体在运行时不可改变窗体的大小并且没有最大化和最小化按钮,只要对下列( )属性设置就有效。 (A)MaxButton (B)BorderStyle (C)Width (D)MinButton 20当运行程序时,系统自动执行启动窗体的( )事件过程。 (A)Load (B)Click (C)UnLoad (D)GotFocus21Visual Basic提供的对数据文件的三种访问方式分别为随机访问方式、( )和二进制访问方式。(A)顺序访问方式(B)十六进制访问方式(C)倒序访问方式(D)八进制访问方式22打开顺序文件的语句是( )。(A)Output(B)For(C)Open(D)Cl
21、ose23打开顺序文件语句的参数中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随机文件中每行或者每个记录的长
22、度是( )。(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为了把一个记录型变量的内容写入文件中指定的位置,所使用的语句的格式为: ( )。(
23、A)Get 文件号,记录号,变量名(B)Get 文件号,变量名,记录号(C)Put 文件号,变量名,记录号(D)Put 文件号,记录号,变量名32文件操作时,LOF函数的功能是( )。(A)确定文件中的长度(字符总数)(B)判断文件是否已经结束(C)判断文件是否打开(D)判断文件的属性33 若磁盘文件C:Data1.dat不存在,下列语句中,会产生错误的是( )。(A)Open C:Data1.dat For Output As #1(B)Open C:Data1.dat For Input As #2(C)Open C:Data1.dat For Append As #3(D)Open C:
24、Data1.dat For Binary As #434下列( )语句不能实现从顺序文件中读入数据。(A)Line Input #,(B)Input #,.(C)Input(Length,#)(D)InputBox(message)35驱动器列表框的Drive属性是( )。(A)返回或设置所选定的驱动器(B)显示当前驱动器或指定驱动器上的目录(C)显示根目录下的文件名 (D)只显示当前路径下的文件36关闭顺序文件要用( )语句。(A)Output(B)For(C)Open (D)Close37用Close关闭已打开的顺序文件时,如果省略参数FileList(文件号列表)是即表示关闭( )已打开
25、的文件。(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参考答案:1 A2 C3 B4 C5 A6 B7 A8 C9 B 10 A11 D12 C13 D14 A15 D16 B17 D18 B19 B 20 A21 A22 C23 A24 C25 A26 B2
26、7 A28 A29 B 30 C31 D32 A 33 B34 D35 A36 D37 D38 C39 A 40 D习题1.2填空题1、完善下列程序,要求能将不同学生的姓名、性别、年龄通过文本框输入,按“写入”按钮后写入随机文件中,或按下“读取”按钮后将随机文件的内容读入到相应的文本框中,或按下“退出”按钮,程序运行结束。Private Type Stud Name As String * 8 Sex As String * 2 Age As Byte_第1空Dim Student As _第2空Dim N As IntegerPrivate Sub Command1_Click() Stud
27、ent.Name = Text1.Text Student.Sex =Text3.Text Student.Age = Val(Text2.Text) _, , Student 第3空 N = N + 1End SubPrivate Sub Command2_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 Ms
28、gBox 记录不存在!, vbCritical, 警告 End IfEnd SubPrivate Sub Command3_Click() _第5空 EndEnd SubPrivate Sub Form_Load() Open Stud.txt For Random As #1 _第6空 N = 0 ChDrive App.Path ChDir App.PathEnd Sub2、通过文本框输入学号、姓名、外语3个数据项,并通过单选按钮输入性别数据项,将这些数据以紧凑格式追加到顺序文件wj1.txt。Private Sub Command1_Click()Dim xh$, xm$, xb$, w
29、y%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_ 第10空End Sub参考答案第1空:End Type第2空:Stud第3空:Put第4空:Get k,student第5空:Close第6空:Len(Student)第7空:For Append as #1第8空:II
30、F(Option1,True,False)第9空:Print第10空:Close习题1.3操作题1在窗体上画4个图像框和一个文本框。在每个图像框中装入一个箭头图形,分别指向四个不同的方向(图形文件可以从Visual Basic安装目录下的“CommonGraphics IconsArrows”子文件夹中找)。编写程序,当单击某个图像框时,在文本框中显示相应的信息。例如,单击向右的箭头时,在文本框中显示“单击向右箭头”。2建立文件名为c:AAA.txt的顺序文件,内容来自窗体中的文本框,每按回车键写入一条记录,然后清除文本框的内容,直到文本框内输入“END”字符串。3将C盘根目录下的一个文本文件old.dat复制到新文件new.dat中,并利用文件操作语句将old.dat文件从磁盘上删除。4将文本文件A.txt合并到B.txt文件中。13