 |
VFP 愛用者社區 本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
|
上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
syr01
註冊時間: 2005-01-21 文章: 2
第 1 樓
|
發表於: 星期五 一月 21, 2005 1:53 am 文章主題: 设计动态口令,根据日期的变化而变化. |
|
|
例如:本月1号的密码是100001,那本月11号的密码变为100011.同时为了防止恶意用户登陆系统,系统设置了一个循环变量,如密码连续错了3次,使"确认"按钮Enabled=.F.系统将强行退出.另外,为了加强管理,提高安全性,在系统中定义了一个全局变量wjb,用户登陆时的用户级别就在wjb 中,在系统中就可对用户实行级别控制.
在Form的过程Activate中输入如下代码:
public cX,wjb
cX=0
系统对计算机提供的日期与初始密码来设置新密码的过程,是在Form的过程Load中输入如下代码:
close all
public wjb,wxm
selec 1
use newuser.dbf
local num,sub,new,sun
scan
num=day(date())
if num<=9
sun='0'+allt(str(num))
else
sun=allt(str(num))
endif
sub=allt(substr((newuser.密码),1,4))
new=sub+sun
replace 密码 with new
endscan
select 1
use newuser
release num,sub,new,sun
登陆确认按钮代码:
if upper(allt(thisform.text2.value))=upper(allt(newuser.密码))
wjb=newuser.用户级别
wxm=newuser.姓名
wfq=.t.
do 菜单.mpr
release thisform
close databases
else
cX=cX+1
cMessageTitle=" 管理系统"
cMessageText="密码错误,请重新输入!"
nDialogType=0+32+0
thisform.text2.setfocus
nAnswer=messagebox(cMessageText,nDialogType,cMessageTitle) thisform.text2.value=" "
if cX=3
=messagebox(' 对不起!您无权使用,请退出!',0+64+0,'管理系统')
thisform.command1.enabled=.f.
thisform.text2.enabled=.f.
thisform.combo1.enabled=.f.
thisform.text2.value=" "
endif
endif |
|
回頂端 |
|
 |
garfield Site Admin

註冊時間: 2003-01-30 文章: 2160
第 2 樓
|
發表於: 星期五 一月 21, 2005 11:35 am 文章主題: |
|
|
謝謝你分享經驗 ^.^ _________________ 利用>>搜尋<<的功能會比問的還要快得到答案. |
|
回頂端 |
|
 |
Jerry
註冊時間: 2003-06-13 文章: 29 來自: 台灣.新竹.
第 3 樓
|
發表於: 星期五 一月 21, 2005 4:38 pm 文章主題: |
|
|
好呀~
剛好有用到 , 真是感謝 ! |
|
回頂端 |
|
 |
|
|
您 無法 在這個版面發表文章 您 無法 在這個版面回覆文章 您 無法 在這個版面編輯文章 您 無法 在這個版面刪除文章 您 無法 在這個版面進行投票 您 無法 在這個版面附加檔案 您 無法 在這個版面下載檔案
|
|