当前位置: 首页 > 学习 > 电脑学习 > 数据库 > Sybase > 正文

用新的控件改进人事管理(一)

http://www.zk168.com.cn  招考学习网 2006-4-25 11:57:40
-----------------------------------------------------------[交流]-[打印]-[发送]-[收藏]--

这一课我们用上一课讲的一些控件来对前面的人事管理软件进行改进,使其更易用,更不容易出错,最主要当然是为了进一步说明这些控件的用法。

先讲第一个改进,用选项按钮来选择性别

在新增和修改人事档案的表单中,本来性别是要输入的,虽然只能输入“.t.”或“.f.”,倒是不会出现输入其它字符的错误,但是很不直观,所以我们用选项按钮来改进。

(1)、将表单上输入性别的文本框换为选项按钮组 mcc1_optiong_t1.jpg (835 bytes),选项按钮组做好后隐含两个按钮,这里正好我们需要两个,因为性别就两种(大概不会有第三种)。

但是按钮隐含的排列是上下排列,这样很占地方,我们将其调整为水平排列,方法是:先把选项按钮组拉的比较大,使两个按钮都能看见,暂时将别的控件盖住也不要紧。然后在属性窗口中选择optiongroup1下面的option2,然后将其放到与option1水平排列的地方,如不能精确调整它的位置,看一下初级教程第七课中的精确调整对象位置。

接着设置标题,将option1的caption设为“男”,option2该设为......,设好如 图1

将optiongroup1的controlsource设为xb,为什么要这样,直接设为“性别”字段不行吗?不行!因为性别字段的值是逻辑型,而optiongroup1的值为数值型,因此要用一个数值型的变量来接收optiongroup1的选择值,然后用适当方法将其变换为逻辑型存入数据表。具体方法下面会讲。

(2)、设置xb的初始值,进入“编辑人员”(bjry)表单的修改,在其 load 事件中输入如下代码:

public xb
if 性别
xb=1
else
xb=2
endif

在这里先将xb设为公共变量,因为 load 事件程序是一个子程序,当这个程序运行完毕,其中所有的私有变量(即在本程序中创建的变量)都将释放,之后就再也找不到这个变量了,但这个变量在其它地方又要用,故将其设为公共变量

注意

这段代码不能放在 init 事件中,这是因为表单的 init 事件是在所有控件的 init 事件发生之后,而当控件的 init 事件发生时,即初始化时,就需要这个变量,而这时还没有,所以会发生找不到变量的错误,而 load 事件则是发生在所有事件之前,即表单启动的时候。

然后根据当前记录的性别字段设置xb的值,如果是“真”就设为1,即“男”,否则为2,即“女”,这样进入表单后选项按钮的黑点就会根据xb的值来显示。

注:在需要逻辑表达式作判断时,如果是逻辑变量,因为其本身就是一个逻辑表达式,为“真”的话就直接写这个变量名,为假的话就写为“.not. 变量名”,而不要写成“变量名=.t.”或“变量名=.f.”

(3)、将“新增”按钮的click事件程序改为如下:

*根据选项按钮所做的选择,将相应的值存入性别字段
if xb=1
replace 性别 with .t.
else
replace 性别 with .f.
endif

append blank &&增加一条空记录
xb=1 &&将xb设为1
*这是一个新记录,还不知道是男或女,因此一律设为1,即“男”,作为初始值
thisform.text1.refresh &&将text1的内容刷新,下同
thisform.optiongroup1.refresh
thisform.text2.refresh
thisform.text4.refresh
thisform.text5.refresh
thisform.text6.refresh
thisform.text7.refresh
thisform.text8.refresh
thisform.edit1.refresh

thisform.text1.setfocus &&将焦点设到text1

仔细看看与以前有什么不同

(4)、将“上一条”按钮的click事件程序改为如下:

skip -1 &&记录指针向上跳一行

*以下一段程序检测记录指针是否到了开头,如果是给出提示,并把指针定位到第一个记录
if bof() &&假如指针已到开头
wait '已到开头' window nowait &&在右上角显示的提示,鼠标或键盘一动提示消失
go top &&将指针定位到第一个记录
endif &&假设结束

*根据当前记录的性别字段设置xb的值,如果是“真”就设为1,否则为2
*在需要逻辑表达式作判断时,如果是逻辑变量,因为其本身就是一个逻辑表达式,
*为“真”的话就直接写这个变量名,为假的话就写为“.not. 变量名”,
*而不要写成“变量名=.t.”或“变量名=.f.”
if 性别
xb=1
else
xb=2
endif

thisform.text1.refresh &&将text1的内容刷新,下同
thisform.optiongroup1.refresh
thisform.text2.refresh
thisform.text4.refresh
thisform.text5.refresh
thisform.text6.refresh
thisform.text7.refresh
thisform.text8.refresh
thisform.edit1.refresh

thisform.text1.setfocus &&将焦点设到text1

“下一条”按钮也做相应改动,看看自己会不会做。

(5)、将“退出”按钮的click事件程序改为如下:

*根据选项按钮组所做的选择,将相应的值存入性别字段
if xb=1
replace 性别 with .t.
else
replace 性别 with .f.
endif

thisform.release &&本表单释放

OK了!

-----------------------------------------------------------[交流]-[打印]-[发送]-[收藏]--
最新入库:
 
·实质、过程及意义——阿多尔诺“否定的辩证法”探微
·从Ontology的译名之争看哲学术语的翻译原则
·论马克思主义哲学经典的解释——解释学方法及其在马克
·中国哲学当前的核心与周边问题
·和合学与21世纪文化价值和科技
·中国文化的和合精神与21世纪
·宗教之间理当相互宽容
·上半个世纪的自由主义
·殷周至春秋时期神人关系之演进
·大学之道:构建以“三纲八目”为核心的道德修养体系
相关内容:
 
·人力资源管理:从后台走向前台
·美日人力资源管理模式比较及对中国乡镇企业的启示
·绩效管理与绩效考核的区别
·人力资源管理要为企业增值服务
·人本管理:一个需要澄清的理念
·环保企业人力资源开发与管理的实证研究————巨龙公
·美日人力资源管理模式的比较及对中国乡镇企业的启示
·构建基于“80/20效率法则”的组织人力资本管理制度
·打造人力资源管理新模式——来自国企的案例分析
·信息经济时代企业知识型员工的管理
网友点评:
 
会员名称:
密码:匿名 ·注册·忘记密码?
评论内容:
(最多300个字符)
  查看评论
友情提醒:
 1.库中的资料大都来自互联网、网友上传、各类书籍,在录入的过程中难免会出现错误,恳请网
 友来信指正!
 2.如果网友在本库中未能找到所需要的材料,请登陆到我们的论坛《招考学习网》版块!
 3.考友想加入招考学习网的编辑部,请发信到XueXiWang#Gmail.com(#改为@)附带个人简历
 4.如需转载请注明出处及作者,谢谢合作!
 5.如果您有更好的建议或意见请EMAIL:XueXiWang#Gmail.com (#改为@)
 6.凡标题中有注有“[NO]”字样均不含答案且答案整理中.
 7.如本库中转载文章涉及版权等问题,请相关网站或作者在两周内发邮件通知(EMAIL:  XueXiWang#Gmail.com (#改为@))我们,我们接到通知后立即删除该文章及链接!
你问我答 更多>>