📄 unit_login.~cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit_Login.h"
#include "Unit_psw.h"
#include "Unit_DM.h"
#include "Unit_Main.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TLoginfrm *Loginfrm;
int LoginTimes;
//---------------------------------------------------------------------------
__fastcall TLoginfrm::TLoginfrm(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TLoginfrm::Edit1KeyPress(TObject *Sender, char &Key)
{
if(Key==13)
{
if (!Edit1->Text.IsEmpty())
{
Image2->Top = Edit2->Top+5;//指示图标移到用户密码编辑框
Perform(WM_NEXTDLGCTL,VK_TAB,0);//调用Win API涵数使焦点移到下一个控件
}
else
{
Application->MessageBox("请输入操作员工号!","操作提示",MB_OKCANCEL+MB_ICONQUESTION);
Edit1->SetFocus();
}
}
}
//---------------------------------------------------------------------------
void __fastcall TLoginfrm::FormKeyDown(TObject *Sender, WORD &Key,
TShiftState Shift)
{
if (Key==27)
{
Application->Terminate();
}
}
//---------------------------------------------------------------------------
void __fastcall TLoginfrm::FormClose(TObject *Sender, TCloseAction &Action)
{
Action = caFree;
}
//---------------------------------------------------------------------------
void __fastcall TLoginfrm::Edit2KeyPress(TObject *Sender, char &Key)
{
if (Key==13)
{
DM->users->Close();
DM->users->Parameters->ParamByName("mbh")->Value=Edit1->Text.Trim();
try
{
DM->users->Open();
}
catch ( ... )
{
DM->users->Close();
Application->MessageBox("链接到后台数据库出错,请与系统管理员联系!","操作提示",MB_OKCANCEL+MB_ICONQUESTION);
Application->Terminate();
}
if(DM->users->RecordCount==0 || Edit2->Text.Trim()!=SimEnCry(DM->userspsw->Value.Trim()))
{
LoginTimes +=1;
if(LoginTimes>=3)
{
Application->MessageBox("非法操作员,系统将自动关闭!","系统警告",MB_OK+MB_ICONQUESTION);
Application->Terminate();
}
else
{
Application->MessageBox("员工号/密码错误,请重新输入","操作提示",MB_OK+MB_ICONQUESTION);
Edit1->SetFocus();
Edit1->SelectAll();
}
}
else
{
Mainfrm->StatusBar1->Panels->Items[1]->Text=DM->usersbh->Value.Trim();
Close();
}
}
}
//---------------------------------------------------------------------------
void __fastcall TLoginfrm::FormCreate(TObject *Sender)
{
LoginTimes=0;
}
//---------------------------------------------------------------------------
void __fastcall TLoginfrm::FormActivate(TObject *Sender)
{
Edit1->SetFocus();
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -