《暨南大学专用实验报告纸_4》由会员分享,可在线阅读,更多相关《暨南大学专用实验报告纸_4(5页珍藏版)》请在金锄头文库上搜索。
1、暨南大学本科实验报告专用纸(四)1 / 6课程名称: 实验四 成绩评定: 实验项目名称: 文件及其他 指导教师 张冰 实验项目编号: VB1104 实验项目类型: 综合 实验地点: 计算中心 C305 学生姓名: 学号: 学院: 系 专业: 实验时间 2016 年 5 月 21 日 下 午 6 月 18 日 下 午一、 实验目的1. 掌握常用控件的常用属性、事件和方法。包括窗体、文本框、标签、命令按钮、组合框、列表框、单选按钮、复选框等。2. 熟练合理使用不同的控制结构和函数过程。3. 掌握数组的相关操作和常用算法,以及自定义数据类型数组的使用。4. 掌握顺序文件的特点,掌握顺序文件的打开、读
2、写和关闭的方法。掌握 Line Input和 Input 的使用。5. 能够根据应用程序的需要读写脱机数据。6. 掌握菜单的设计方法。二、 实验内容(一) 综合练习1. 设计如下图所示界面的窗体。(1)将左侧组合框设置为升序,当添加新的待选课程名称时自动放至合适的位置上。(2)编写事件过程。暨南大学本科实验报告专用纸(四)2 / 6a) 当窗体加载时,分别从文件“待选课.txt” 、 “已选课.txt”中读取数据显示在左侧的组合框和右侧的列表框中。b) 在左侧组合框中输入数据按回车键时,检查无重复后,添加新的待选课程名称至待选课列表框中。c) 编写移动按钮事件: “”:将选中的课程移至已选课列
3、表中 “”:将所有待选课程移至已选课列表中 “”按钮单击事件中,如果没有选中任何待选课程,会出现什么样的情况?原因是什么?d) 以下是对列表框数据进行升序排序的子过程 SortASC,请完善。Sub SortASC(a As ) 选择法排序的子过程For i = 0 To - 2For j = i + 1 To a.ListCount - 1If a.List(i) a.List(j) ThenEnd IfNext jNext iEnd Sub(二) 综合练习1. 在窗体上放置一个文本框,并设计如下图所示菜单。文件打开 Ctrl+O保存-退出格式字体字号宋体隶书变大变小排序年龄性别升序降序升序
4、降序(1)编写事件过程。a) “文件”-“打开”:打开应用程序所在目录的 student1.dat 文件。“文件”-“保存”:将文本框中内容保存至 student2.dat 文件。暨南大学本科实验报告专用纸(四)5 / 6b) 在读取或者保存数据时需要保存数据的格式,因此在处理文件中的数据时需要使用自定义数据类型的数组。数据文件中的数据类型 StudType 定义如下:Private Type StudTypeName As String * 3Sex As String * 1Age As IntegerEnd TypeDim s() As StudType 定义一个 StudType 类型
5、的动态数组c) “格式”-“字体”:设置文本框中字体格式为 “宋体”或者“隶书”“格式”-“字号”:增大或者减小字体大小。d) “排序”-“年龄”:按照年龄进行升序或降序排序“排序”-“性别”:按照性别进行升序或降序排序。(2)要求在文本框中输出时对齐,如下图。(3)右键点击文本框时出现格式菜单,并且禁止系统菜单的出现。(4)运行通过后用文件名 EX4-2 分别保存窗体和工程。2. 实验要求a) 由于不清楚文件中的数据有多少,所以要使用动态数组来存放文件中的数据。下面代码的功能是从当前目录中读取学生的信息,请完善。暨南大学本科实验报告专用纸(四)6 / 6Open App.Path & stu
6、dent1.dat For As #1i = 0Do While Not Input #1, iName, iSex, iAgei = i + 1ReDim s(1 To i)s(i).Name = iName: s(i).Sex = iSex: s(i).Age = iAgeText1.Text = Text1.Text & & vbCrLf保证文本框中每行存放一个学生的信息,LoopClose #1b) 文本框中如何实现对齐?请写出你的解决方案。中文字符与英文字符所占的宽度是否相同?c) 以下是对自定义数据类型数组 s 按照年龄进行排序的代码,请完善。For i = LBound(s) To UBound(s) - 1For j = i + 1 To UBound(s)If s(i).Age s(j).Age Then Next jNext id) 升序或者降序时如何显示 check 标记。e) 显示右键菜单的代码如下,请完善。Private Sub Text1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)可使 VB 本身定义的系统右键菜单无效If Then PopupMenu End Subf) 说出该题的难点(至少 2 个)及解决方法。