Database 版 (精华区)

发信人: sleep (休息休息), 信区: Database
标  题: VFP密码设置程序的编写
发信站: 哈工大紫丁香 (2000年12月04日14:04:11 星期一), 站内信件

VFP密码设置程序的编写
    为了保密的需要,每个应用系统都必须编写一个密码验证程序,以防止非法操作者,
由于本人以前在电脑报刊看过一些用FOXPRO2.*编写的密码设置程序,觉得太繁锁,现特用
用VFP5.0编写一个简单的密码设置程序,希望大家用此与以前用FOXPRO2.*编写的相比较,看看
有什么不同,具体说明如下。
一、建立密码资料数据表(INPASS.DBF),字段如下:
NAME:       CHAR 4       操作员
PASSWORD:   CHAR 4       密码
二、编写密码验证表单:
1、建立两LABEL,NAME分别为LABEL1,LABEL2,建立两TEXTBOX,NAME分别为
TXTUSER,TXTPASSWORD,建立两个按钮,NAME分别为CMDOK,CMDCAECEL
2、在TXTUSER的LOSTFOCUS事件下录入如下代码:
PUBLIC oword
    SELE 3
    USE inpass
    SET order to NAME
    SEEK thisform.txtuser.value
    IF found()
        oword=c->PASSWORD
    ELSE
        =messagebox("无此用户!",48,"提示窗口")
        thisform.txtuser.value=''
    ENDIF
(代码说明:先在INPASS.DBF中搜索此操作员是否存在,若存在,才可输入密码)
3、在TXTPASSWORD的LOSTFOCUS事件中录入如下代码:
IF empty(thisform.txtpassword.value)
        thisform.cmdok.enabled=.f.       
    ELSE
        thisform.cmdok.enabled=.t.
    ENDIF
(代码说明:以上代码是控制CMDOK是否可用)

4、在CMDOK的CLICK事件中录入如下代码:
IF allt(thisform.txtpassword.value)=oword
        Release thisform
        USE
        DO slgymain.mpr       (密码正确,运行SLGYMAIN.MPR)
    ELSE
        =messagebox("口令不正确!请重新输入!",64,"提示窗口")
        thisform.txtpassword.value=''
        thisform.txtpassword.setfocus()
    ENDIF
(代码说明:录入的操作员存在后,再到INPASS.DBF中检查此操作员对应的密码,
操作员及密码正确后,就可进入系统了)
5、在CMDCANCEL事件中录入如下代码:
thisform.release
    Clea event
    QUIT
    以上的程序代码少而精,比用2.*编写同样的程序简洁多了,各位可在此基础上加以改进,如可在此
程序下加入密码录入次数限制,或增加操作员的操作等级等,也是很简单的,
如有不明之处,可与我讨论。(e-mail:cokies@990.net.http://dlhome.yeah.net)

--
※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 202.118.227.121]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2.490毫秒