VB在CAI编程中的应用

2008-02-23 06:52:19来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

一:前言
----众所周知,VB中的MCI控件在设计多媒体CAI(Computer Assisted Instruction) 软件中有着非常重要的作用,有关这方面的文章也很多;其实,VB中其它众多控件在设计CAI软件时也有不少应用,本文就介绍几个在非多媒体CAI编程中有着特殊应用的控件,相信对广大CAI编程者有所帮助。

二:文本框的应用
---- 在CAI 编 程 中 经 常 要 面 临 这 样 的 问 题: 如 何 在 屏 幕 上 显 示 大 量 的 练 习 题 或 试 题 ? 学 生 如 何 在 屏 幕 上 输 进 多 项 选 择 题、 填 空 题 或 问 答 题 的 答 案 ? 利 用VB 中 的 文 本 框 就 能 很 容 易 地 解 决 这 个 问 题。 文 本 框(TextBox) 是VB 中 的 最 基 本 的 字 符 串 输 入 和 输 出 对 象, 它 不 仅 可 以 供 用 户 输 入 数 据, 还 可 以 显 示 程 序 输 出 的 数 据 和 已 编 辑 好 的 文 本 文 件。 这 样, 只 要 我 们 事 先 把 大 量 的 练 习 题 或 试 题 用 文 字 处 理 软 件 编 辑 成 文 本 文 件, 然 后 在VB 程 序 的 运 行 阶 段 用 文 本 框 显 示 文 本 文 件 的 内 容 即 可。

下图是一个用来辅导学生学习英语的程序界面:
----图一中有二个文本框,大文本框用来显示练习题的内容,小文本框用来供学生输入答案,大小文本框的一些重要属性的设置情况如下:①:大文本框的MaxLength值设为缺省值0,表示它能容纳的最多字符数没有限制,而小文本框的MaxLength值的设置可根据实际情况进行限制或不限制字数,在这里是没有限制字数。②:大文本框的MultiLine值设为True,这样,大文本框就允许有多行文字输出显示,小文本框的MultiLine值设为False,表示小文本框就只允许有一行文字输出显示。③:大文本框的ReadOnly值设为True,表示不允许修改大文本框里的练习题的内容,小文本框的ReadOnly值设为False, 表示可以修改小文本框里的内容。④:大文本框的Scrollbars值设为3,表示大文本框有水平和垂直滚动条,小文本框的Scrollbars值设为0,表示小文本框没有滚动条。⑤:大小文本框的Text值设为空的,否则,程序运行时将在文本框里显示Text1。
----由于小文本框里的字符数可以不限制,因此,图一也适用于多项选择题,填空题甚至简答题和问答题。

三: 数 据 库 的 应 用
---- 数 据 库 在CAI 程 序 设 计 中 应 用 很 广, 数 据 库 可 用 来 存 放 题 目 的 编 号、 题 目 的 内 容 和 答 案 以 及 学 生 输 入 的 答 案 等 等。 为 了 程 序 运 行 时 数 据 库 对 象 不 在 屏 幕 上 显 示 出 来, 要 求 把 数 据 库 对 象 的Visible 属 性 设 为False。VB 可 以 访 问 多 种 数 据 库, 并 且 编 程 也 不 复 杂。 为 了 加 快 数 据 库 的 访 问 速 度, 最 好 使 用Access 建 立 的 扩 展 名 为MDB 的 数 据 库, 如 果 是 用Foxbase 或Foxpro 建 立 的 扩 展 名 为DBF 的 数 据 库, 可 用 如 下 方 法 把 它 进 行 转 换: 先 用Foxpro For Windows 打 开DBF 形 式 的 数 据 库, 然 后 把 它 另 存 为 扩 展 名 为XLS 的Excel 表 格 文 件, 再 利 用Access 就 可 以 把Excel 表 格 文 件 转 换 为MDB 形 式 的 数 据 库。 在 图 一 中, 每 个 题 目 的 编 号 和 答 案 就 存 放 在 数 据 库 中, 通 过 用 鼠 标 单 击" 下 一 题" 和" 上 一 题", 可 以 把 数 据 库 的 指 针 指 向 任 何 一 条 记 录。
四:MsgBox 函 数 和 语 句 的 应 用
---- MsgBox 函 数 是VB 提 供 的 以 多 种 方 式 将 信 息 传 递 给 用 户 的 函 数, 它 有 函 数 和 语 句 两 种 形 式, 函 数 和 语 句 的 根 本 区 别 在 于 函 数 有 返 回 值 而 语 句 没 有。 当MsgBox 将 信 息 传 递 给 用 户 时, 传 递 信 息 的 窗 口 是 嵌 在 运 行 程 序 的 窗 口 中; 因 此, 在CAI 程 序 设 计 中, 这 个 函 数 非 常 有 用, 如 果 能 把 它 与 数 据 库 的 应 用 结 合 起 来, 其 作 用 就 更 大。 在 图 一 中, 用 鼠 标 单 击" 答 案", 电 脑 不 仅 告 诉 你 该 题 目 的 答 案, 还 告 诉 你 选 择 答 案 的 理 由, 见 图 二。
---- 这 就 是 利 用 了MsgBox 语 句 的 结 果。 在 程 序 设 计 阶 段, 设 计 出 几 个 标 签 或 文 本 框, 它 们 分 别 与 数 据 库 中 的" 答 案" 和" 答 案 说 明" 字 段 相 关 联, 这 样, 当 图 一 中 的 题 目 的 编 号 改 变 时," 答 案" 所 输 出 的 内 容 也 跟 随 变 化。 由 于MsgBox 函 数 输 出 的 信 息 可 多 达1024 个 字 符, 所 以, 一 般 的 选 择 题, 填 空 题, 简 答 题 的 答 案 和 选 择 答 案 的 理 由 都 可 以 用 它 来 输 出。 值 得 一 提 的 是: 数 据 库 的 字 符 型 字 段 最 多 只 能 容 纳255 个 字 符, 因 此, 当 问 题 的 答 案 和 答 案 说 明 比 较 长 时, 就 要 把 它 们 分 成 几 个 字 段。

五: 计 时 器 的 应 用
---- 在CAI 程 序 中, 经 常 要 记 录 学 生 练 习 或 考 试 所 用 的 时 间,VB 中 就 是 使 用 计 时 器 来 完 成 这 个 任 务 的。 图 一 中 所 显 示 的 时 间 就 是 使 用 者 从 一 开 始 做 练 习 到 目 前 所 用 的 时 间。 计 时 器 的 另 外 一 个 作 用 就 是 进 行 倒 计 时, 倒 计 时 程 序 在 设 计 限 时 练 习 和 限 时 考 试 程 序 就 要 用 到, 当 倒 计 时 为 零 时, 程 序 自 动 结 束 运 行, 限 时 练 习 或 考 试 也 随 之 结 束。
---- 下 面 这 个 程 序 是 图 一 所 对 应 的 源 程 序 的 主 要 部 分, 它 包 括 了 以 上 四 个 方 面 的 应 用。

Dim h0 As Integer
'ho,mo,so为初始时间
Dim m0 As Integer
Dim s0 As Integer
Private Sub Command5_Click()
'用鼠标单击"上一题"
If Val(Label1.Caption) > 1 Then
Data1.Recordset.MovePrevious
Else
Title = "提示"
msg2$ = "这是第一题!"
MsgBox msg2$, 0, Title
End If
End Sub
Private Sub Command7_Click()
'用鼠标单击"下一题"
If Val(Label1.Caption) < 224 Then
'一共224道题
Data1.Recordset.MoveNext
Else
Title = "提示"
msg2$ = "这是最后一题!"
MsgBox msg2$, 0, Title
End If
End Sub
Private Sub Command8_Click()

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Visual Basic设计多媒体应用程序

下一篇:利用VBA的键盘类