有很多應用程序需要一個登陸窗口,本例將制作一個簡單的登錄表單,系統運行時首先啟動此登錄表單,運行界面如下圖:
輸入正確的用戶名及密碼才會啟動主表單,如下圖;若連續3次輸入錯誤的用戶名及密碼則會自動退出。
制作步驟如下:
1、新建表單,將表單的caption屬性值設置為“系統登錄”,ShowWindow屬性值設置為“2-作為頂層表單”,width屬性值設置為295,height屬性值設置為100,AutoCenter屬性值設置為,并將表單保存為“系統登錄.scx”。
2、繼續設置該表單的屬性:將表單的MaxButton及MinButton屬性值均設置為.f.,這樣就屏蔽掉了表單的最大化和最小化按鈕,成為只有一個關閉按鈕的對話框。
3、向表單添加兩個label控件,將它們的caption屬性值分別設置為“用戶名”和“密 碼”。
4、向表單添加兩個文本框控件,并將其中的Text2的PasswordChar屬性值設置為“*”。
5、向表單添加兩個ming令按鈕command1和command2,將它們的caption屬性值分別設置為“確定”和“退出”。
6、適當調整各控件在表單上的位置及大小,調整后的表單設計器如下圖:
7、右擊表單空白處,選“數據環境”ming令,將“管理”表添加到表單的數據環境中。
8、添加事件代碼:
(1)表單的init事件代碼:
public cn &&聲明全局變量,用于計算登錄次數
cn=0
(2) 表單的unload事件:
close all
clear events
quit
(3)接收用戶名的文本框Text1的KeyPress事件代碼:
LPARAMETERS nKeyCode, nShiftAltCtrl
if nKeyCode=13.and.!empty(this.value) &&輸入用戶名后按回車即進入輸密碼
thisform.Text2.enabled=.t.
thisform.Text2.setfocus
endif
(4)“確定”按鈕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('用戶名或密碼錯誤,請重新輸入!','系統提示')
return
else
thisform.visible=.f.
do form 主表單 &&調入主界面表單
endif
set exact off &&設置字符非精確比較
(5)“退出”按鈕command2的click事件代碼:
thisform.release
9、運行“系統登錄.scx”即可,“管理.dbf”的結構,其中預置的兩個操作員的用戶名及密碼分別是:
用戶名 | 密碼 |
張三 | 12345678 |
李四 | aaaaaaaa |
本例代碼在Win2003+VFP6.0環境下調試通過。
新聞熱點
疑難解答