收藏本站 
网站首页 
网站地图 
>> 我们从网络和杂志上收集了近100000余篇各类电脑技术、网络技术、软件技术等方面的文章教程,我们的收录原则:不是精华拒不收录!
先飞电脑技术网技术文章
在VFP中用伪代码开发数据表维护屏幕
[ 作者:佚名    转贴自:本站原创    阅读次数:384    更新时间:2005-11-30 13:32:00   录入:刘光勇 ]         

为了保证数据表中存储数据的准确与及时,并提供正确和及时的查询,必须对数据表进行人工维护(包括数据录入),因此必须开发数据表维护屏幕作为人机对话的界面。而数据表维护屏幕要求有新增(增加新记录)、编辑(记录修改)、删除(记录删除)以及漫游(指记录指针上移、下移、到顶、到底和各种查找记录定位)功能。同时必须对用户输入的数据进行合法性检查,特别是对输入关键字的合法性检查。这些需求给开发数据表维护屏幕增加了复杂性,为此笔者使用伪代码来解决上述问题。数据表维护屏幕的代码虽然比较复杂,但它们都有很强的共性,可以预先编写一套可被各种不同的数据表维护屏幕套用的伪代码,以后编写数据表维护屏幕代码时就不必从零开始,而是从伪代码开始。伪代码虽然不能被直接编译运行,但大部分开发人员都能把伪代码改写成正式代码。

----下面介绍在VisualFoxpro中使用伪代码开发数据表维护屏幕的方法。伪代码由一个Custom类和一些Procdure构成。为了方便套用伪代码,尽可能地把Form中的嵌入代码外移,在嵌入代码中使用do...下面的伪代码在使用时绝大部分无需修改,仅是需修改一小部分,而这一小部分又非常简单。下面是使用伪代码设计数据表维护屏幕的具体步骤。

----准备工作

----1.先建立如下一个工作面表格


编号工作面名称主索引名称注释
1
2
3
4
.
.
.
16

----这个表格适用于整个应用程序。这里所说的工作面与平时所说的有些不一样,它把处于同一工作面但不同主索引的情况也作为不同的工作面,使用不同的编号。2.根据工作面表格改写以下伪代码,使之成为可以编译与运行的正式代码。

{伪代码开始}
publictheWorkStat
theWorkStat=CreateObject(“WorkStat”)

**==以下是工作状态类==**
defineclassWorkStatascustom
curWS=1
declareAi[16],Or[16]
**以下是工作状态定义
**1
{
Ai[1]=“A1”&&工作面
Or[1]=“O1”&&ORDER序
Ai[2]=“A2”&&工作面
Or[2]=“”&&自然序,无主索引
...
**16
Ai[16〗=“A16”
Or[16〗=“O16”
}

funcGet
retucurWS
endfunc

procSet
parap
sele(Ai[p])
setorderto(Or[p])
curWS=p
endproc

funcKeyExist
parapws,pk
localn,y,rec
setexacton
n=this.Get();
this.Set(pws)
ifeof().or.bof()
rec=-1
else
rec=recno()
endif
seekpk
iffound()
y=.t.
else
y=.f.
endif
ifrec!=-1
gorec
endif
this.Set(n)
retuy
endfunc

funcFind
parapws,pk,IsExact
localn,y,rec

ifIsExact
setExacton
else
setExactoff
endif

n=this.Get();
this.Set(pws)
ifeof().or.bof()
rec=-1
else
rec=recno()
endif
seekpk
iffound()
y=.t.
else
y=.f.
ifrec!=-1
gorec
endif
this.Set(n)
endif
retuy
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.新增+编辑模式

----在该模式下有新增、编辑、删除与漫游功能,可以说是全功能的。这种模式使用面最广,占所有数据表维护屏幕的一半以上。

----改写伪代码

----根据选定的模式改写伪代码,使之成为可以编译与运行的正式代码。

----经过上述步骤,一个数据表维护屏幕设计的有关代码就基本完成。

上一篇:VFP中的加密算法  下一篇: 利用VFP的Filer管理磁盘文件  

网站主页 | 收藏本页 | 联系我们 | 广告服务 | 站点地图 | 会员注册 | 招聘信息 | 内容指正

联系QQ:先飞电脑技术网站事务联系QQ,点击可以直接留言. 32933427 电话:13710542091 [世界排名] 鄂ICP备05005890号