procedure TFrmlogin.BtLoginClick(Sender: TObject);
Var
MD5PW1, MD5PW2: String;
begin
aUserID := EUseName.Text;
if EUseName.Text <> '' Then
Begin
MD5PW1 := GetUserMD5PW(EUseName.Text);
if MD5PW1 <> 'A' Then
Begin
MD5PW2 := MD5Print(MD5String(EUseName.Text + ePassWord.Text));
if MD5PW1 <> MD5PW2 Then
Begin
aUserID:='';
incount := incount + 1;
if incount <= 2 then
Begin
MessageBox(self.Handle,
PChar(' 第 ' + vartostr(incount) + ' 次輸入錯誤,請重新輸入!'), '溫馨提示....',
mb_ok + mb_iconstop);
ePassWord.SetFocus;
End
else
Begin
MessageBox(self.Handle, PChar('你已經連續3次輸入錯誤,系統終止,請聯系管理員!'), '溫馨提示....',
mb_ok + mb_iconstop);
if incount >= 3 then Close;
End;
End
Else
Begin
aUserID := EUseName.Text;
Close;
End;
End;
End;
end;
uj5u.com熱心網友回復:
看了代碼,有3個改進意見:1、UI層和邏輯層沒有分離,應封裝登錄介面相關類,回傳錯誤代碼,UI層負責引數校驗,并呼叫登錄介面,依據回傳介面做相應處理;
2、代碼規范(比如過多嵌套if else,代碼可讀性變差)和控制元件命名規范方面問題;
3、缺少通用函式封裝,比如:MessageBox 可以封裝下,減少呼叫引數;
問題根源在于沒有人搭建基礎框架(通用函式封裝、基礎模塊封裝:如權限模塊、DB引擎),各自為戰,導致重復代碼和不規范代碼浮現概率更大。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/133913.html
標籤:數據庫相關
上一篇:c語言字串問題
