1、实 验 一 建 立 项 目 管 理 器 、 建 立 数 据 库和 表 、 输 入 部 分 数 据一 、 实 验 目 的1 熟 悉 Visual Foxpro 项 目 管 理 器 的 使 用 ;2 熟 悉 数 据 库 的 概 念 和 Visual Foxpro 数 据 表 的 概 念 ;3 掌 握 数 据 表 的 建 立 方 法 , 数 据 直 接 输 入 的 方 法 ;4 熟 练 掌 握 表 文 件 的 打 开 、 浏 览 、 关 闭 。二 、 实 验 内 容1 建 立 项 目 管 理 器 “hospital”;2 建 立 数 据 库 “hospital”, 并 创 建 4 个 与 医 院 管
2、 理 系 统 工 作 密 切 相 关 的 数 据 表“apparatus”、 “bed”“patient”、 “potion”;三 、 实 验 步 骤( 一 ) Visual Foxpro 基 本 操 作1. Visual Foxpro 的 启 动开 始 程 序 Visual Foxpro 6.0, 或 : 双 击 桌 面 Visual Foxpro 6.0 快 捷 方 式 图 标 。2. Visual Foxpro 的 退 出在 Visual Foxpro 的 命 令 窗 口 中 键 入 quit 或 选 Visual Foxpro 菜 单 中 文 件 退 出 。3.工 作 目 录 及 表
3、单 区 域 的 设 置 在 机 房 的 学 生 数 据 盘 ( 例 如 D:盘 ) 上 建 一 目 录 , 命 名 为 “成 绩 管 理 ”。进 入 Visual Foxpro, 选 菜 单 中 的 工 具 选 项 “文 件 位 置 ”选 项 卡 , 找 到 “默 认 目 录 ”, 点 击 “修 改 ”按 钮 , 进 入 图 1-2, 再 单 击按 钮 , 按 图 1-2 设 置 后 , 单 击 “确 定 ” 按 钮 。单 击 “表 单 ”选 项 卡 , 将 “最 大 设 计 区 ”选 为 1024768。 单 击 “设 置 为 默 认 值 ”按 钮 , 再 单 击 “确 定 ”按 钮 。 注
4、 意 : 如 果 学 生 机 房 安 装 了 还原 卡 , 则 每 次 上 机 或 重 新 启 动 后 都 要 重 新 进 行 以 上 第 3 步“工 作 目 录 及 表 单 区 域 的 设 置 。 ”( 二 ) 项 目 管 理 器 和 数 据 库 的 建 立1.项 目 管 理 器( 1) 什 么 是 项 目 管 理 器项 目 管 理 器 是 Visual Foxpro 开 发 应 用 系 统 的 综 合 性 平 台 , 在 这 里 可 以 建 立 数 据 库 、 表 单 、 菜 单 、 程 序 、 编 译 等 。几 乎 每 一 个 VFP 6.0 的 应 用 程 序 都 是 由 数 据 库
5、、 查 询 、 表 单 、 报 表 、 菜 单 、 工 具 栏 以 及程 序 等 大 量 的 文 件 组 成 的 , 这 些 文 件 的 集 合 叫 做 “项 目 ”。 在 VFP 6.0 里 这 些 文 件 是 由 项 目 管 理 器 来 实 现 管 理 和 维 护 的 , 并 且 最 终 保 存 为 具 有 扩 展 名 PJX 的 项 目 文 件 。项 目 管 理 器 是 VFP 6.0 的 “控 制 中 心 ”和 应 用 程 序 运 行 的 驱 动 器 。 项 目 管 理 器 有 6 个 选 项卡 , 分 别 是 : 全 部 、 数 据 、 文 档 、 类 、 代 码 和 其 他 , 每
6、 个 选 项 卡 包 含 某 一 类 文 件 , 如 “数据 ”选 项 卡 包 含 了 一 个 项 目 中 的 所 有 数 据 , 如 数 据 库 、 自 由 表 、 查 询 和 视 图 等 “文 档 ”选 项 卡中 包 含 了 处 理 数 据 时 的 所 有 文 档 , 如 表 单 、 报 表 和 标 签 等 。 表 单 用 于 显 示 和 编 辑 表 的 内 容 ;报 表 是 一 种 文 件 , 它 告 诉 VFP 6.0 如 何 设 置 查 询 , 以 从 表 中 提 取 结 果 以 及 如 何 将 它 们 打 印 出 来 ; 标 签 是 打 印 在 纸 上 的 带 有 特 殊 格 式
7、的 报 表 。 其 余 选 项 卡 主 要 用 于 为 最 终 用 户 创 建 应 用 程序 。( 2) 建 立 项 目 管 理 器 从 “文 件 ”菜 单 下 选 “新 建 ”, 在 “新 建 ”对 话 框 中 , 选 “项 目 ”单 选 按 钮 , 再 单 击 “新 建 文 件 按 钮 ”, 给 文 件 命 名 为 “Hospital”, 并 保 存 在 D 盘 的 “医 院 管理 ”文 件 夹 下 。2.数 据 库 的 建 立 单 击 “Hospital”项 目 管 理 器 的 “数 据 ”卡 , 单 击 “数 据 库 ”, 然 后 点 击 “新 建 ”按钮 单 击 “新 建 数 据 库
8、 ”按 钮 , 将 数 据 库 命 名 为 “hospital”, 并 保 存 在 D 盘 的 “医 院 管 理 ”文 件 夹 下 , 对 随 后 出 现 的 “数 据 库 设 计 器 ”, 直 接 关 闭 。( 三 ) 创 建 数 据 表 和 输 入 部 分 数 据 数 据 库 是 有 关 联 的 数 据 表 的 集 合 , 一 般 通 过 公 共 字 段彼 此 关 联 。 使 用 “数 据 库 设 计 器 ”可 以 创 建 一 个 数 据 库 。 数 据 库 文 件 的 扩 展 名 为 .dbc。 数 据 库 由 多 个 相 关 联 的 数 据 表 构 成 , 数 据 表 是 整 个 系
9、统 的 基 础 。 数 据 表 文 件 的 扩 展名 为 .dbf。 查 询 被 保 存 为 带 有 .qpr 后 缀 的 文 件 。1.创 建 数 据 表 单 击 上 图 “hospital”左 侧 的 “ ”号 , 展 开 后 出 现 “表 ”、 “本 地 视 图 ”、 “远 程 视 图 ”等 , 单 击 “表 ”, 并 单 击 右 侧 的 “新 建 ”按 钮 。 按 以 下 表 名 和 结 构 建 立 四 个 “表 ”, 不 要 使 用 “向 导 ”功 能 。表 1: apparatus.dbf 字段名 类型 宽 度 小 数 位 数apparatus_id 3 0apparatus_na
10、me 10apparatus_price 10 2appaeatus_quantity 3 0Apparatus_rem 40索 引 的 设 置 : apparatus.dbf 按 “apparatus_name”和 “apparatus_id”升 序 普 通 索 引表 2: bed.dbf字 段 名 类 型 宽 度room_number 字 符 型 3Bed_number 字 符 型 2Patient_name 字 符 型 10索 引 的 设 置 : bed.dbf 按 “bed_number”、 “room_number”、 “patient_name”升 序 , 并设 置 为 普 通 索
11、 引 字段“patient_name” 后NULL选项打钩。表 3: 学 生 选 课 .dbf 字 段 名 类 型 宽 度patient_name-字 符 型 10patient_gender 字 符 型 2Patient_data_start字 符 型 10Patient_dept 字 符 型 10Patient_satate 字 符 型 20Patient_doc 字 符 型 12Patient_room 字 符 型 3Patient_bed 字 符 型 2索 引 的 设 置 : patient.dbf 按 “patient_room”、 “patient_doc”、“patient_de
12、pt”、 “patient_gender”、 “patient_name”、“patient_data_start”升 序 普 通 索 引 。4: potion.dbf字 段 名 类 型 宽 度 小 数 位 数Potion_id-数 值 型 3 0Potion_name 字 符 型 10Potion_price 数 值 型 5 2Potion_quantity 数 值 型 3 0Potion_rem 字 符 型 40索 引 的 设 置 : potion.dbf 按 “potion_id”、 “potion_name”升 序 普 通 索 引 2.部 分 表 输 入 数 据( 1) 为 “appa
13、ratus.dbf”输 入 数 据可 以 在 创 建 该 表 时 , 当 提 示 “是 否 输 入 数 据 ? ”时 回 答 “Y”, 然 后 输 入 ; 也 可 以 按 以 下 步 骤 输 入 : 单 击 上 图 中 的 “apparatus”表 , 单 击 右 侧 的 “浏 览 ”按 钮 , 进 入 浏 览 窗 口 。 将 “显 示 ”菜 单 下 的 “追 加 方 式 ”打 上 , 然 后 就 可 输 入 数 据 了 。实 验 二 建 立 主 表 单一 、 实 验 目 的1.熟 悉 表 单 的 概 念 、 常 用 控 件 的 用 途 、 对 象 的 属 性 等 基 础 知 识 ;2.掌 握
14、 Visual Foxpro 数 据 输 入 表 单 的 建 立 过 程 : 首 先 是 打 开 表 单 设 计 器 , 无 论 是 新建 表 单 还 是 修 改 已 有 的 表 单 , 均 可 以 通 过 菜 单 操 作 或 专 用 的 命 令 , 或 单 击 常 用 工 具 栏 中的 有 关 按 钮 来 打 开 表 单 设 计 器 ; 接 着 是 进 行 对 象 的 操 作 与 编 码 , 可 利 用 表 单 设 计 工 具 来完 成 ; 最 后 是 保 存 表 单 以 及 运 行 表 单 。二 、 实 验 内 容1 建 立 一 个 “医 院 管 理 系 统 ”表 单 ;2 在 表 单 上
15、 根 据 需 要 设 计 各 控 件 , 并 为 有 关 控 件 建 立 相 应 的 应 用 程 序 ;3 在 表 单 运 行 状 态 下 输 入 数 据 。三 、 实 验 步 骤( 一 ) 打 开 项 目 管 理 器1.按 实 验 一 的 方 法 启 动 Visual Foxpro。2.打 开 项 目 管 理 器 “Hosptial”文 件 打 开 找 到 文 件 “hosptial.PJX”, 选 中 并 按 “确 定 ”键 。或 : 双 击 桌 面 Visual Foxpro 6.0 快 捷 方 式 图 标 。( 二 ) 建 立 主 表 单 基 础 知 识 回 顾1 表 单 的 概 念
16、、 常 用 控 件 的 用 途 、 对 象 的 属 性 等表 单 一 词 译 自 英 文 的 FORM, 表 单 在 图 形 界 面 的 应 用 软 件 中 大 量 地 获 得 应 用 , 是 人 和 程 序 进 行 交 互 的 重 要 界 面 。 在 软 件 中 出 现 的 对 话 框 、 向 导 、 设 计 器 等 各 类 窗 口 , 在 VFP 系 统 中 均 可 以 通 过 创 建 表 单 来 实 现 。 表 单 是 一 个 容 器 , 可 以 在 其 中 包 含 多 个 控 件 或 菜 单 , 还 可 以 捆绑 数 据 环 境 。 运 行 表 单 时 , 它 所 包 含 的 所 有
17、控 件 都 将 被 加 载 , 同 时 数 据 环 境 中 的 表 和 视 图等 也 自 动 打 开 。 如 果 一 个 程 序 要 同 时 运 行 多 个 表 单 , 这 时 可 以 创 建 表 单 集 。 表 单 集 也 是 一 个容 器 , 它 可 以 包 含 一 个 或 多 个 表 单 , 这 些 表 单 在 表 单 集 运 行 时 , 将 自 动 加 载 , 它 们 共 享 一个 数 据 环 境 , 并 可 以 根 据 需 要 显 示 、 隐 藏 、 移 动 或 切 换 其 中 的 某 个 或 某 些 表 单 。 VFP 提 供三 种 表 单 设 计 工 具 表 单 向 导 、 表
18、单 设 计 器 和 快 速 表 单 。 在 本 实 验 教 材 中 , 我 们 用 表 单设 计 器 来 创 建 表 单 。对 象 是 构 成 程 序 的 基 本 单 位 和 运 行 实 体 , 就 是 软 件 中 所 看 到 的 表 单 、 文 本 框 、 按 钮 、标 签 等 , 可 放 在 表 单 内 的 对 象 , 如 按 钮 、 文 本 框 等 常 被 称 为 控 件 。 常 用 的 控 件 有 组 合 框 、 标签 、 文 本 框 、 列 表 框 、 形 状 、 复 选 框 、 线 条 、 图 像 、 命 令 按 钮 、 编 辑 框 等 。 对 象 的 属 性 用来 表 示 它 的
19、 特 征 , 对 于 属 性 的 设 置 , 有 些 必 须 在 属 性 窗 口 中 进 行 , 有 些 只 需 作 适 当 的 拖 动即 可 , 比 如 长 、 宽 、 位 置 。2 数 据 输 入 表 单 的 建 立 过 程Visual Foxpro 数 据 输 入 表 单 的 建 立 过 程 , 首 先 是 打 开 表 单 设 计 器 , 无 论 是 新 建 表 单还 是 修 改 已 有 的 表 单 , 均 可 以 通 过 菜 单 操 作 或 专 用 的 命 令 , 或 单 击 常 用 工 具 栏 中 的 有 关 按钮 来 打 开 表 达 设 计 器 , 接 着 是 进 行 对 象 的
20、操 作 与 编 码 , 可 利 用 表 单 设 计 工 具 来 完 成 , 最 后是 保 存 表 单 以 及 运 行 表 单 。3 VFP 提 供 的 表 单 设 计 工 具VFP 提 供 下 列 表 单 设 计 工 具 供 程 序 员 选 择 使 用 ( 如 图 2-1 所 示 ) 。 表 单 设 计 器 窗 口 及 其 表 单 窗 口 : 其 中 表 单 设 计 器 窗 口 中 的 Form1 即 表 单 对 象 , 称 为 表 单 窗 口 。 多 数 设 计 工 作 将 在 表 单 窗 口 进 行 , 包 括 往 窗 口 内 添 加 对 象 ( 控 件 ) , 并 对 各 种 对 象 进
21、 行 操 作 与 编 码 。 属 性 窗 口 : 用 于 设 置 修 改 表 单 及 其 包 含 的 对 象 属 性 。 代 码 编 辑 窗 口 : 可 为 对 象 添 加 各 种 事 件 代 码 和 方 法程 序 代 码 。 表 单 工 具 栏 : 包 括 如 下 四 种 表 单 设 计 工 具 栏 , (1)表 单 控 件 工 具 栏 : 用 于 在 表 单上 添 加 文 本 框 或 按 钮 等 各 类 控 件 , (2)表 单 设 计 器 工 具 栏 : 该 工 具 栏 包 括 的 按 钮 用 于 打 开 或关 闭 数 据 环 境 对 话 框 、 设 置 tab 键 次 序 、 属 性
22、窗 口 、 代 码 窗 口 、 表 单 控 件 工 具 栏 、 调 色 板工 具 栏 、 布 局 工 具 栏 、 表 单 生 成 器 和 自 动 格 式 工 具 栏 等 , ( 3) 布 局 工 具 栏 : 用 于 对 齐 、 放置 控 件 以 及 调 整 控 件 大 小 等 , ( 4) 调 色 板 工 具 栏 : 用 于 指 定 某 个 控 件 的 前 景 色 或 背 景 色 等 。数 据 环 境 设 计 器 窗 口 : 用 于 设 计 表 单 的 数 据 环 境 。 工 具 栏 的 显 示 可 在 系 统 “显 示 ”菜 单 中设 置 , 也 可 以 直 接 单 击 “表 单 设 计 器
23、 工 具 栏 ”中 相 应 的 按 钮 。 利 用 表 单 设 计 器 设 计 “医 院 管 理 系 统 ”表 单1.进 入 表 单 设 计 界 面 单 击 项 目 管 理 器 上 方 的 “文 档 ”选 项 卡 。 单 击 “表 单 ”, 再 单 击 右 边 的 “新 建 ”, 进 入 表 单 设 计 界 面 。单 击 窗 口 右 上 角 最 大 化 按 钮 , 使 “表 单 设 计 main.SCX”窗 口 最 大 化 。 移 动 鼠 标 , 适 当 放 大 表 单 窗 口 。激 活 “属 性 main.SCX”窗 口 , 找 到 属 性 “CAPTION”, 将 原 来 的 名 字 “F
24、orm1” 改名 为 “医 院 管 理 系 统 ”。2.标 题 设 置 单 击 “表 单 控 件 ”中 的 标 签 按 钮 , 使 其 凹 下 去 , 此 时 鼠 标 变 成 十 字 形 状 , 按 住 鼠标 左 键 在 表 单 上 方 拖 放 , 松 开 鼠 标 后 , 出 现 “Label1”标 签 。 在 “属 性 ”窗 口 中 找 到 对 象 “Label1”的 “Caption”属 性 , 改 名 为 “欢 迎 进 入 医院 管 理 系 统 ”。 设 置 字 体 、 字 号 : 在 “属 性 ”窗 口 中 找 到 对 象 “Label1”的 “FontName”属 性 , 将其 设
25、置 为 “楷 体 ”, 同 时 将 “FontSize”属 性 设 置 为 24( 号 字 ) 。适 当 设 置 其 背 景 色 “BackColor”属 性 的 值 和 前 景 色 “ForeColor” 属 性 的 值 。 方法为 : 找 到 “BackColor”属 性 , 单 击 属 性 设 置 窗 口 右 边 的按 钮 , 在 打 开 的 “颜 色 ”窗 口 任 意 自选 一 种 颜 色 即 可 。 “ForeColor” 属 性 的 设 置 方 法 相 同 。 在 表 单 中 用 鼠 标 适 当 拖 动 “学 生 基 本 数 据 输 入 ”, 使 其 居 于 上 部 中 间 。3.
26、命 令 按 钮 设 置单 击 表 单 控 件 中 的 命 令 按 钮 然 后 再 在 表 单 中 画 一 按 钮 , 在 属 性 窗 口 中 , 将 命 令 按 钮 的CAPTION属 性 由 员 俩 的 “command”改 为 “住 院 部 ”同 时 将 FontSize属 性 改 为 16, 用 同样 的 方 法 设 置 其 他 2个 命 令 按 钮 : “药 品 仪 器 ”、 “退 出 ”, 适 当 调 整 各 命 令 按 钮 的 位置4.过 程 代 码 编 辑双 击 “住 院 部 ”按 钮 , 进 入 对 象 与 过 程 的 代 码 编 辑 窗 口 。 保 证 对 象 是 Comma
27、nd2, 过 程是 Click, 在 屏 幕 上 键 入do form hospitalformzyb然 后 关 闭 窗 口 , 回 到 表 单 编 辑 状 态 。用 同 样 的 方 法 设 计 另 外 62个 命 令 按 钮 “药 品 仪 器 ”、 “退 出 ”各 命 令 按 钮 的 click 过 程 命 令 如 下 :药 品 仪 器do form hospitalformypyq退 出 :thisform.releaseclear events关 闭 窗 口 , 主 表 单 设 计 完 成 。实 验 三 建 立 住 院 部 表 单一 、 实 验 目 的签1.熟 悉 表 单 的 概 念 、
28、 常 用 控 件 的 用 途 、 对 象 的 属 性 等 基 础 知 识 ;2.掌 握 Visual Foxpro 数 据 输 入 表 单 的 建 立 过 程 : 首 先 是 打 开 表 单 设 计 器 , 无 论 是 新建 表 单 还 是 修 改 已 有 的 表 单 , 均 可 以 通 过 菜 单 操 作 或 专 用 的 命 令 , 或 单 击 常 用 工 具 栏 中的 有 关 按 钮 来 打 开 表 单 设 计 器 ; 接 着 是 进 行 对 象 的 操 作 与 编 码 , 可 利 用 表 单 设 计 工 具 来完 成 ; 最 后 是 保 存 表 单 以 及 运 行 表 单 。二 、 实
29、验 内 容1 建 立 一 个 “住 院 部 ”表 单 ;2 在 表 单 上 根 据 需 要 设 计 各 控 件 , 并 为 有 关 控 件 建 立 相 应 的 应 用 程 序 ;3 在 表 单 运 行 状 态 下 输 入 数 据 。三 、 实 验 步 骤( 一 ) 进 入 项 目 管 理 器1 按 实 验 一 的 方 法 启 动 Visual Foxpro2 打 开 项 目 管 理 器 “Hosptial”文 件 打 开 找 到 文 件 “Hosptial.PJX”, 选 中 并 按 “确 定 ”键 。( 二 ) 建 立 成 绩 输 入 表 单1 进 入 表 单 设 计 界 面 单 击 项 目
30、 管 理 器 上 方 的 “文 档 ”选 项 卡 。 单 击 “表 单 ”, 再 单 击 右 边 的 “新 建 ”, 进 入 表 单 设 计 界 面 。 按 “Ctrl+S”键 保 存 表 单 , 取 名 为 “住 院 部 ”。单 击 窗 口 右 上 角 最 大 化 按 钮 , 使 “表 单 设 计 住 院 部 .SCX”窗 口 最 大 化 。 移 动 鼠 标 , 适 当 放 大 表 单 窗 口 。激 活 “属 性 住 院 部 .SCX”窗 口 , 找 到 属 性 “CAPTION”, 将 原 来 的 名 字 “Form1” 改 名 为 “住 院 部 ”。2 输 入 标 题单 击 表 单 控
31、件 中 的 标按 钮 , 使 其 凹 下 去 , 此 时 鼠 标 变 成 十 字 形 状 , 用 鼠 标 在 表 单 上方 拖 放 , 松 开 鼠 标 后 , 出 现 “Label1”标 签 。 在 “属 性 ”窗 口 中 找 到 对 象 “Label1”的 “Caption”属 性 , 改 名 为 “学 生 成 绩 输 入 ”。设 置 字 体 、 字 号 : 在 “属 性 ”窗 口 中 找 到 对 象 “Label1”的 “FontName”属 性 , 将其 设 置 为 “楷 体 ”, 同 时 将 “FontSize”属 性 设 置 为 24( 号 字 ) 。3建 立 选 项 按 钮 组单
32、击 表 单 控 件 中 的 选 项 按 钮 组 , 使 其 凹 下 去 , 此 时 鼠 标 变 成 十 字 形 状 , 用 鼠 标 在 表 单上 方 拖 放 , 松 开 鼠 标 后 , 出 现 option按 钮 组 。单 击 “optiongroup1”对 象 , 在 属 性 窗 口 中 为 此 对 象 设 置 属 性 值 如 下 :Value-1Autosize-FBackstyle-1-不透明Borderstyle-固定单线Bottoncount-2Height-84Left-72Top-84Width-145单 击 “option1”对 象 , 在 属 性 窗 口 中 为 此 对 象
33、设 置 属 性 caption为 病 床 管 理 , 单 击“option2”对 象 , 在 属 性 窗 口 中 为 此 对 象 设 置 属 性 caption为 病 人 管 理4.命 令 按 钮 设 置单 击 表 单 控 件 中 的 命 令 按 钮 然 后 再 在 表 单 中 画 一 按 钮 , 在 属 性 窗 口 中 , 将 命 令 按 钮 的 CAPTION属 性 由 员 俩 的 “command”改 为 “确 定 ”同 时 将 FontSize属 性 改 为 16, 用 同 样 的 方 法 设 置 其 他2个 命 令 按 钮 : “退 出 ”, 适 当 调 整 各 命 令 按 钮 的
34、位 置5.过 程 代 码 编 辑双 击 “确 定 ”按 钮 , 进 入 对 象 与 过 程 的 代 码 编 辑 窗 口 。 保 证 对 象 是 Command1, 过 程 是 Click,在 屏 幕 上 键 入selename=thisform.optiongroup1.valueif selename=1do form hospitalformbcglelse do form hospitalformbrglendif然 后 关 闭 窗 口 , 回 到 表 单 编 辑 状 态 。用 同 样 的 方 法 设 计 另 外 “退 出 ”各 命 令 按 钮 的 click 过 程 命 令 如 下 :
35、thisform.release关 闭 窗 口 , 住 院 部 表 单 设 计 完 成 。实 验 三 建 立 病 床 管 理 表 单一 、 实 验 目 的1 熟 悉 表 格 在 输 入 数 据 方 面 的 应 用 ;2 掌 握 Visual Foxpro 表 格 ( Grid) 的 编 辑 方 法 。 表 单 或 页 框 中 的 页 面 均 可 以 添 加 表 格( Grid) 控 件 , 主 要 用 于 显 示 后 台 数 据 表 中 的 字 段 , 用 户 可 以 修 改 表 格 中 的 数 据 。 表 格 ( Grid) 控件 由 若 干 行 和 列 组 成 , 可 以 通 过 数 据
36、环 境 创 建 , 也 可 以 利 用 表 格 生 成 器 创 建 ;3 掌 握 表 格 与 数 据 表 对 应 关 系 的 建 立 方 法 。二 、 实 验 内 容1 建 立 一 个 “病 床 管 理 ”表 单 , 为 表 单 设 计 输 入 数 据 所 需 的 控 件 ;2 为 表 单 设 计 应 用 所 需 的 数 据 环 境 ;3 通 过 数 据 环 境 在 表 单 上 创 建 表 格 , 并 为 有 关 控 件 建 立 相 应 的 应 用 程 序 ;三 、 实 验 步 骤( 一 ) 进 入 项 目 管 理 器1 按 实 验 一 的 方 法 启 动 Visual Foxpro2 打 开
37、 项 目 管 理 器 “Hosptial”文 件 打 开 找 到 文 件 “Hosptial.PJX”, 选 中 并 按 “确 定 ”键 。( 二 ) 建 立 病 床 管 理 表 单1.设 置 表 格在 属 性 窗 口 选 择 form1, 再 单 击 表 单 控 件 中 的 容 器 按 钮 , 在 叶 框 中 画 一 个 容 器在 属 性 窗 口 选 择 form1, 再 单 击 表 单 控 件 中 的 表 格 按钮, 在 容 器 中 画 一 表 格 , 该表 格 名 为 Grid1, 立 即 在 属 性 窗 口 中 将 其 ColumnCount 属 性 改 为 4。接 着 对 Grid1
38、 下 的 各 部 分 作 如 下 修 改 :Column1 下 的 Header1 的 Caption 属 性 改 为 “房 间 号 ”; Column2 下 的 Header1 的 Caption 属 性 改 为 “病 床 名 ”;Column3 下 的 Header1 的 Caption 属 性 改 为 “病 人 姓 名 ”; Column1 下 的 text1 的E nabled 属 性 改 为 “F 假 ”; Column2 下 的 text1 的E nabled 属 性 改 为 “F 假 ”; Column3 下 的 text1 的E nabled 属 性 改 为 “F 假 ”; 2
39、.建 立 组 合 框单 击 表 单 控 件 中 的 容 器 按 钮 , 使 其 凹 下 去 , 此 时 鼠 标 变 成 十 字 形 状 , 用 鼠 标 在 表 单 中 上 方 拖放 , 松 开 鼠 标 后 , 出 现 “container”容 器 。单 击 表 单 控 件 中 的 组 合 框 按 钮 , 使 其 凹 下 去 , 此 时 鼠 标 变 成 十 字 形 状 , 用 鼠 标 在 表 单 中 上 方拖 放 , 松 开 鼠 标 后 , 出 现 “combo1”。 以 此 类 推 。 建 立 如 图 :4 为 组 合 框 Combo1 、 2、 3设 置 属 性 单 击 “Combo1”对
40、象 , 在 属 性 窗 口 中 为 此 对 象 设 置 属 性 , 设 置 如 下 :RowSource 101, 102Rowsourcetype 1 默 认 值 单 击 “Combo2”对 象 , 在 属 性 窗 口 中 为 此 对 象 设 置 属 性 , 设 置 如 下 :RowSource 1, 2, 3Rowsourcetype 1 值 单 击 “Combo3”对 象 , 在 属 性 窗口 中 为 此 对 象 设 置 属 性 , 设 置 如 下 :RowSourcepatient.patient_nameRowsourcetype 6 字 段5.过 程 代 码 编 辑双 击 “确 定
41、 ”按 钮 , 进 入 对 象 与 过 程 的 代 码 编 辑 窗 口 。 保 证 对 象 是 Command1, 过 程 是 Click,在 屏 幕 上 键 入inroom=alltrim(bo1.value)inbed=alltrim(bo2.value)inpatient=alltrim(bo3.value)if empty(inroom) or empty(inbed) or empty(inpatient)messagebox(资 料 不 足 ,48,错 误 )elsesele bedset order to patient_naseek inpatientif found()cMe
42、ssageTitle=管 理 系 统 cMessageText=该 病 人 已 经 分 配 过 病 床 , 要 修 改 吗 ? nDialogType=4+32nAnswer=messagebox(cMessageText,nDialogType,cMessageTitle)do casecase nAnswer=6update bed set patient_name= where patient_name=inpatientsele patientlocate for patient_room=inroom and patient_bed=inbedreplace patient.pati
43、ent_room with patient.patient_bed with update bed set patient_name=inpatient where room_number=inroom and bed_number=inbedupdate patient set patient_room=inroom,patient_bed=inbed where patient_name=inpatientcase nAnswer=7endcaseelseupdate bed set patient_name=inpatient where room_number=inroom and b
44、ed_number=inbedupdate patient set patient_room=inroom,patient_bed=inbed where patient_name=inpatientendifendifthisform.container3.grid1.refresh然 后 关 闭 窗 口 , 回 到 表 单 编 辑 状 态 。用 同 样 的 方 法 设 计 另 外 “确 定 清 空 ”、 “退 出 ”各 命 令 按 钮 的 click 过 程 命 令 如 下 :确 定 清 空inroom=alltrim(bo1.value)inbed=alltrim(bo2.value)i
45、f empty(inroom) or empty(inbed)messagebox(资 料 不 足 ,48,错 误 )elsecMessageTitle=管 理 系 统 cMessageText=确 定 要 清 空 该 病 床 的 病 人 吗 ? nDialogType=4+32nAnswer=messagebox(cMessageText,nDialogType,cMessageTitle)do casecase nAnswer=6update bed set patient_name= where room_number=inroom and bed_number=inbedupdate
46、patient set patient_room=,patient_bed= where patient_room=inroom and patient_bed=inbedcase nAnswer=7endcaseendifthisform.container3.grid1.refresh退出thisform.release实 验 三 建 立 病 人 管 理 表 单一 、 实 验 目 的1. 熟 悉 表 单 在 查 询 方 面 的 应 用 ;2. 掌 握 页 框 的 使 用 方 法 ;3. 掌 握 查 询 全 体 病 人 概 况 的 方 法 ;4. 掌 握 按 班 级 、 按 姓 名 、 按
47、入 院 时 间 、 所 属 科 室 、 主 治 医 生 、 病 房 号 查 询 学 生 成 绩 的 方法 。5.掌 握 病 人 增 加 、 修 改 、 删 除 的 方 法二 、 实 验 内 容建 立 一 个 有 多 页 面 页 框 的 表 单 , 使 表 单 运 行 时 通 过 页 面 的 选 择 , 能 分 别 浏 览 、 查 询 、 增 加 、 修改 、 删 除 病 人三 、 实 验 步 骤( 一 ) 进 入 项 目 管 理 器1. 启 动 Visual Foxpro。2. 打 开 项 目 管 理 器 “Hoptial” 从 “文 件 ” “打 开 ” 找 到 文 件 “hosptial.
48、PJX”, 选中 并 按 “确 定 ”键 。( 二 ) 建 立 成 绩 输 入 表 单1 进 入 表 单 设 计 界 面 单 击 项 目 管 理 器 上 方 的 “文 档 ”选 项 卡 。 单 击 “表 单 ”, 再 单 击 右 边 的 “新 建 ”, 进 入 表 单 设 计 界 面 。 按 “Ctrl+S”键 保 存 表 单 , 取 名 为 “病 人 管 理 。单 击 窗 口 右 上 角 最 大 化 按 钮 , 使 “表 单 设 计 病 人 管 理 .SCX”窗 口 最 大 化 。 移 动 鼠 标 , 适 当 放 大 表 单 窗 口 。签激 活 “属 性 病 人 管 理 .SCX”窗 口 ,
49、 找 到 属 性 “CAPTION”, 将 原 来 的 名 字“Form1” 改 名 为 “病 人 管 理 。2 输 入 标 题单 击 表 单 控 件 中 的 标按 钮 , 使 其 凹 下 去 , 此 时 鼠 标 变 成 十 字 形 状 , 用 鼠 标 在 表 单 上 方拖 放 , 松 开 鼠 标 后 , 出 现 “Label1”标 签 。 在 “属 性 ”窗 口 中 找 到 对 象 “Label1”的 “Caption”属 性 , 改 名 为 “病 人 管 理 ”。设 置 字 体 、 字 号 : 在 “属 性 ”窗 口 中 找 到 对 象 “Label1”的 “FontName”属 性 , 将 其 设 置 为 “楷 体