在VFP中用伪代码开发数据表维护屏幕
来源: 作者: 出处:综艺读书 2006-10-11关 键 词:foxpro
为 了 保 证 数 据 表 中 存 储 数 据 的 准 确 与 及 时, 并 提 供 正 确 和 及 时 的 查 询, 必 须 对 数 据 表 进 行 人 工 维 护( 包 括 数 据 录 入), 因 此 必 须 开 发 数 据 表 维 护 屏 幕 作 为 人 机 对 话 的 界 面。
|
|
|||
---- 下 面 介 绍 在Visual Foxpro 中 使 用 伪 代 码 开 发 数 据 表 维 护 屏 幕 的 方 法。 伪 代 码 由 一 个Custom 类 和 一 些Procdure 构 成。 为 了 方 便 套 用 伪 代 码, 尽 可 能 地 把Form 中 的 嵌 入 代 码 外 移, 在 嵌 入 代 码 中 使 用do ... 下 面 的 伪 代 码 在 使 用 时 绝 大 部 分 无 需 修 改, 仅 是 需 修 改 一 小 部 分, 而 这 一 小 部 分 又 非 常 简 单。 下 面 是 使 用 伪 代 码 设 计 数 据 表 维 护 屏 幕 的 具 体 步 骤。
---- 准 备 工 作
---- 1. 先 建 立 如 下 一 个 工 作 面 表 格
编号 工作面名称 主索引名称 注释
1
2
3
4
.
.
.
16
---- 这 个 表 格 适 用 于 整 个 应 用 程 序。 这 里 所 说 的 工 作 面 与 平 时 所 说 的 有 些 不 一 样, 它 把 处 于 同 一 工 作 面 但 不 同 主 索 引 的 情 况 也 作 为 不 同 的 工 作 面, 使 用 不 同 的 编 号。 2. 根 据 工 作 面 表 格 改 写 以 下 伪 代 码, 使 之 成 为 可 以 编 译 与 运 行 的 正 式 代 码。
{ 伪 代 码 开 始}
public theWorkStat
theWorkStat=CreateObject(“WorkStat”)
* *== 以 下 是 工 作 状 态 类== * *
define class WorkStat as custom
curWS=1
declare Ai[16],Or[16]
* * 以 下 是 工 作 状 态 定 义
* *1
{
Ai[1]=“A1” & & 工 作 面
Or[1]=“O1” & &ORDER 序
Ai[2]=“A2” & & 工 作 面
Or[2]=“” & & 自 然 序, 无 主 索 引
...
* *16
Ai[16〗=“A16”
Or[16〗=“O16”
}
func Get
retu curWS
endfunc
proc Set
para p
sele (Ai[p])
set order to (Or[p])
curWS=p
endproc
func KeyExist
para pws,pk
local n,y,rec
set exact on
n=this.Get();
this.Set(pws)
if eof().or.bof()
rec= -1
else
rec=recno()
endif
seek pk
if found()
y=.t.
else
y=.f.
endif
if rec!= -1
go rec
endif
this.Set(n)
retu y
endfunc
func Find
para pws,pk,IsExact
local n,y,rec
if IsExact
set Exact on
else
set Exact off
endif
n=this.Get();
this.Set(pws)
if eof().or.bof()
rec= -1
else
rec=recno()
endif
seek pk
if found()
y=.t.
else
y=.f.
if rec!= -1
go rec
endif
this.Set(n)
endif
retu y
endfunc
endfine
{ 伪 代 码 结 束}
---- 在 程 序 的 适 当 入 口 处 运 行 这 段 代 码, 运 行 之 后, 当 要 用 的 数 据 表 被 打 开 时 就 可 以 调 用 以 下 对 象:
x=theWorkStat.Get() 取 得 当 前 工 作 面 号;
theWorkStat.Set(n) 把 当 前 工 作 面 设 置 成n 号;
x=theWorkStat.KeyExist(n,key) 测 试 在n 号 工 作 面 中 是 否 存 在 关 键 字key, 存 在 回 送T; 不 存 在 回 送F, 此 函 数 不 改 变 现 状;
x=theWorkStat.Find(n,key,IsExact) 在n 号 工 作 面 中 查 找 关 键 字key。 查 到 则 定 位 之 并 回 送T; 查 不 到 则 不 改 变 现 状 并 回 送F;IsExact 为T 或F 决 定 是 否 按 精 确 匹 配 方 式 查 找。
---- 以 上 这 些 对 象 方 法 在 以 后 的 伪 代 码 中 也 可 以 由 用 户 根 据 需 要 使 用。
---- 判 定 数 据 表 维 护 屏 幕 模 式
---- 笔 者 把 数 据 表 维 护 屏 幕 分 为 以 下 三 种 模 式:
---- 1. 新 增 模 式
---- 在 该 模 式 下 只 有 新 增( 增 加 新 记 录) 功 能, 主 要 用 于 数 据 录 入( 也 有 不 少 数 据 录 入 要 求 对 已 录 入 的 内 容 有 返 回 修 改 的 功 能, 这 就 必 须 使 用 新 增 + 编 辑 模 式)。
---- 2. 编 辑 模 式
---- 在 该 模 式 下 只 有 编 辑、 删 除 与 漫 游 功 能 而 无 新 增 功 能。
---- 3. 新 增 + 编 辑 模 式
---- 在 该 模 式 下 有 新 增、 编 辑、 删 除 与 漫 游 功 能, 可 以 说 是 全 功 能 的。 这 种 模 式 使 用 面 最 广, 占 所 有 数 据 表 维 护 屏 幕 的 一 半 以 上。
---- 改 写 伪 代 码
---- 根 据 选 定 的 模 式 改 写 伪 代 码, 使 之 成 为 可 以 编 译 与 运 行 的 正 式 代 码。
---- 经 过 上 述 步 骤, 一 个 数 据 表 维 护 屏 幕 设 计 的 有 关 代 码 就 基 本 完 成。
相关图文阅读
频道图文推荐
相关专题
热点标签: foxpro
最新技术文档
·用FoxWeb在网上快速发布你的FOXPRO数据库 11-03
·用Foxpro制作Windows输入法码表 11-03
·用FoxPro生成HTML文件 11-03
·下载和上载远程视图数据 10-30
·为Visual FoxPro应用程序增加文件压缩功能 10-30
·为VFP添加循环微调控件类 10-30
·为FoxPro中的弹出式菜单增加自学习功能 10-30
·通过编程运行拨号网络连接 10-29
·谈谈在基于Foxpro的MIS中实现提示、帮助与询问 10-29
·谈谈VFP和SQL SERVER搭配做C/S系统 10-29
·用Foxpro制作Windows输入法码表 11-03
·用FoxPro生成HTML文件 11-03
·下载和上载远程视图数据 10-30
·为Visual FoxPro应用程序增加文件压缩功能 10-30
·为VFP添加循环微调控件类 10-30
·为FoxPro中的弹出式菜单增加自学习功能 10-30
·通过编程运行拨号网络连接 10-29
·谈谈在基于Foxpro的MIS中实现提示、帮助与询问 10-29
·谈谈VFP和SQL SERVER搭配做C/S系统 10-29
站内各频道最新更新文档
站内最新制作专题
|
|||
| ·ACDSEE专题教程-下载使用 ·迅雷专题教程-下载使用 ·Windows XP频道 ·Windows Vista频道 ·Windows 2000频道 ·win2003频道 ·Freebsd频道 ·Oracle频道 |
·Linux频道 ·Windows频道 ·邮件服务器专题 ·协议大全 ·数据恢复指南教程 ·FreeBSD使用教程 ·Linux数据库宝典 ·Linux基础知识 |
||
热门关键字导读
站内频道文章精选
| · 秘密:Vista隐蔽的动态屏保 · 腾讯开发新电子宠物--QQ熊 · 惠普否认2999元PC有价无货 |
· 驱逐Win系统“流氓”文件 · WinXP中获取未使用的IP地址 · 尝试format C:格式化硬盘? |
| · 在DOS下恢复回收站中的文件 · 拯救WinXP崩溃的救命稻草 · Linux系统中超级权限的应用 |
· 搜狗PK谷歌:谁能代言拼... · 昨日重现,一键GHOST轻松.. · 实现Web迅雷在空闲时杀毒 |
| · AVIFile函数制做AVI文件 · VC中链接动态链接库的方法 · 熊猫烧香核心源码(Delphi) |
· DateDiff函数祥解 · JavaScript去除空格的三种 · js效果 图片加载进度实时.. |
| · SQL Server数据库优化方案 · Oracle的初学者入门心得 · JSP连接Mysql数据库 |
· Photoshop为美女做艺术处理 · 用Freehand创建发光字特效 · 设计自己的个性QQ动态表情 |
百度推荐,商机无限
搜索您感兴趣的内容




