暨南大学专用实验报告纸 - 4

更新时间:2023-09-12 04:47:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

暨南大学本科实验报告专用纸(四)

课程名称: 实验四 成绩评定:

实验项目名称: 文件及其他 指导教师 张冰 实验项目编号: VB1104 实验项目类型: 综合 实验地点: 计算中心C305

学生姓名: 学号: 学院: 系 专业: 实验时间 2016 年 5 月 21 日 下 午~ 6 月 18 日 下 午 一、 实验目的

1. 掌握常用控件的常用属性、事件和方法。包括窗体、文本框、标签、命令按钮、组

合框、列表框、单选按钮、复选框等。 2. 熟练合理使用不同的控制结构和函数过程。

3. 掌握数组的相关操作和常用算法,以及自定义数据类型数组的使用。

4. 掌握顺序文件的特点,掌握顺序文件的打开、读写和关闭的方法。掌握Line Input

和Input的使用。

5. 能够根据应用程序的需要读写脱机数据。 6. 掌握菜单的设计方法。

二、 实验内容

(一) 综合练习

1. 设计如下图所示界面的窗体。

(1) 将左侧组合框设置为升序,当添加新的待选课程名称时自动放至合适的位置上。 (2) 编写事件过程。

1 / 5

暨南大学本科实验报告专用纸(四)

a) 当窗体加载时,分别从文件“待选课.txt”、“已选课.txt”中读取数据显示在左

侧的组合框和右侧的列表框中。

b) 在左侧组合框中输入数据按回车键时,检查无重复后,添加新的待选课程名称

至待选课列表框中。 c) 编写移动按钮事件:

? “>”:将选中的课程移至已选课列表中 ? “>>”:将所有待选课程移至已选课列表中

? “<”:从已选课列表中删除选中的已选课程,并将其移入待选课列表 ? “<<”:从已选课列表中删除所有的已选课程,并将其移入待选课列表 d) 单击“退出”按钮时,分别将组合框和列表框中的数据保存至“待选课.txt”

和“已选课.txt”文件中。

e) 编写SortASC和SortDSC过程对已选课列表框中的数据进行排序,在单击“升

序”按钮时调用SortASC过程,并将按钮的标题修改为“降序”,反之亦然。 f)

以EX4-1保存窗体和工程。

2. 实验要求

a) 将左侧组合框设置为升序时,需要设置什么属性?该属性的设置能否用代码完

成,为什么?

b) 添加新的待选课程名称到组合框时需要检查有无重复,请在下面空白处写出正

确的代码。

Private Sub Combo1_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then

End If End Sub

2 / 5

暨南大学本科实验报告专用纸(四)

c) “>”按钮单击事件中,如果没有选中任何待选课程,会出现什么样的情况?

原因是什么?

d) 以下是对列表框数据进行升序排序的子过程SortASC,请完善。 Sub SortASC(a As ) ‘选择法排序的子过程 For i = 0 To - 2 For j = i + 1 To a.ListCount - 1 If a.List(i) > a.List(j) Then End If Next j Next i End Sub

(二) 综合练习

1. 在窗体上放置一个文本框,并设计如下图所示菜单。

文件 打开Ctrl+O 保存 - 退出 字号 变大 变小 格式 字体 宋体 隶书 性别 升序 降序 排序 年龄 升序 降序 (1) 编写事件过程。

a) “文件”-“打开”:打开应用程序所在目录的student1.dat文件。

“文件”-“保存”:将文本框中内容保存至student2.dat文件。

3 / 5

暨南大学本科实验报告专用纸(四)

b) 在读取或者保存数据时需要保存数据的格式,因此在处理文件中的数据时需要

使用自定义数据类型的数组。数据文件中的数据类型StudType定义如下: Private Type StudType Name As String * 3 Sex As String * 1 Age As Integer End Type

Dim s() As StudType ‘定义一个StudType类型的动态数组

c) “格式”-“字体”:设置文本框中字体格式为“宋体”或者“隶书”

“格式”-“字号”:增大或者减小字体大小。 d) “排序”-“年龄”:按照年龄进行升序或降序排序

“排序”-“性别”:按照性别进行升序或降序排序。

(2) 要求在文本框中输出时对齐,如下图。

(3) 右键点击文本框时出现格式菜单,并且禁止系统菜单的出现。

(4) 运行通过后用文件名EX4-2分别保存窗体和工程。

2. 实验要求

a) 由于不清楚文件中的数据有多少,所以要使用动态数组来存放文件中的数据。下面

代码的功能是从当前目录中读取学生的信息,请完善。

4 / 5

暨南大学本科实验报告专用纸(四)

Open App.Path & \ As #1 i = 0

Do While Not Input #1, iName, iSex, iAge i = i + 1

ReDim s(1 To i) s(i).Name = iName: s(i).Sex = iSex: s(i).Age = iAge

Text1.Text = Text1.Text & & vbCrLf ‘保证文本框中每行存放一个学生的信息, Loop Close #1

b) 文本框中如何实现对齐?请写出你的解决方案。中文字符与英文字符所占的宽度是

否相同?

c) 以下是对自定义数据类型数组s按照年龄进行排序的代码,请完善。

For i = LBound(s) To UBound(s) - 1 For j = i + 1 To UBound(s)

If s(i).Age < s(j).Age Then Next j Next i

d) 升序或者降序时如何显示check标记。

e) 显示右键菜单的代码如下,请完善。

Private Sub Text1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

'可使VB 本身定义的系统右键菜单无效

If Then PopupMenu End Sub

f) 说出该题的难点(至少2个)及解决方法。

5 / 5

本文来源:https://www.bwwdw.com/article/m1mh.html

Top