|
本例制作一個(gè)簡(jiǎn)單的登錄表單,系統(tǒng)運(yùn)行時(shí)首先啟動(dòng)此登錄表單,運(yùn)行界面如下圖:
輸入正確的用戶名及密碼才會(huì)啟動(dòng)主表單,如下圖;若連續(xù)3次輸入錯(cuò)誤的用戶名及密碼則會(huì)自動(dòng)退出。
制作步驟如下: 一、新建表單,將表單的caption屬性值設(shè)置為“系統(tǒng)登錄”,ShowWindow屬性值設(shè)置為“2-作為頂層表單”,width屬性值設(shè)置為295,height屬性值設(shè)置為100,AutoCenter屬性值設(shè)置為,并將表單保存為“系統(tǒng)登錄.scx”。 二、繼續(xù)設(shè)置該表單的屬性:將表單的MaxButton及MinButton屬性值均設(shè)置為.f.,這樣就屏蔽掉了表單的最大化和最小化按鈕,成為只有一個(gè)關(guān)閉按鈕的對(duì)話框。 三、向表單添加兩個(gè)label控件,將它們的caption屬性值分別設(shè)置為“用戶名”和“密 碼”。 四、向表單添加兩個(gè)文本框控件,并將其中的Text2的PasswordChar屬性值設(shè)置為“*”。 五、向表單添加兩個(gè)命令按鈕command1和command2,將它們的caption屬性值分別設(shè)置為“確定”和“退出”。 六、適當(dāng)調(diào)整各控件在表單上的位置及大小,調(diào)整后的表單設(shè)計(jì)器如下圖:
七、右擊表單空白處,選“數(shù)據(jù)環(huán)境”命令,將“管理”表添加到表單的數(shù)據(jù)環(huán)境中。 八、添加事件代碼: (一)表單的init事件代碼: public cn &&聲明全局變量,用于計(jì)算登錄次數(shù) (二) 表單的unload事件: close all (三)接收用戶名的文本框Text1的KeyPress事件代碼: LPARAMETERS nKeyCode, nShiftAltCtrl if nKeyCode=13.and.!empty(this.value) &&輸入用戶名后按回車即進(jìn)入輸密碼 thisform.Text2.enabled=.t. thisform.Text2.setfocus endif (四)“確定”按鈕command1的click事件代碼: cname=alltrim(thisform.text1.value)
ppassword=alltrim(thisform.text2.value)
cn=cn+1
if cn=3
thisform.release
endif
set exact on
go top
locate for 操作員姓名=cname.and.密碼=ppassword
if eof()
messagebox('用戶名或密碼錯(cuò)誤,請(qǐng)重新輸入!','系統(tǒng)提示')
return
else
thisform.visible=.f.
do form 主表單 &&調(diào)入主界面表單
endif
set exact off &&設(shè)置字符非精確比較
(五)“退出”按鈕command2的click事件代碼:thisform.release 九、運(yùn)行“系統(tǒng)登錄.scx”即可,在看實(shí)例學(xué)VFP:示例數(shù)據(jù)庫一文中已經(jīng)給出了“管理.dbf”的結(jié)構(gòu),其中預(yù)置的兩個(gè)操作員的用戶名及密碼分別是:
本例代碼在Win2003+VFP6.0環(huán)境下調(diào)試通過。 |
|
|