loginunit.cpp

来自「简单的C++小程序」· C++ 代码 · 共 88 行

CPP
88
字号
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "LoginUnit.h"

//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TLogin *Login;

//登录标志 true = 管理员  false = 读者
bool AdminFlag;

AnsiString PassWordStr;

//---------------------------------------------------------------------------
__fastcall TLogin::TLogin(TComponent* Owner)
        : TForm(Owner)
{
        RadioButton2->Checked = true;
        Edit1->Enabled = false;
        AdminFlag = false;
}
//---------------------------------------------------------------------------
void __fastcall TLogin::Button1Click(TObject *Sender)
{

        if(AdminFlag)
        {
                ADOQuery1->Open();
                if(ADOQuery1->RecordCount == 0)
                {
                        ShowMessage("数据库错误!");
                        return;
                }
                PassWordStr = ADOQuery1->FieldByName("admin_pass")->AsString;
                if(Edit1->Text == PassWordStr)
                {
                        ADOQuery1->Close();
                        this->Close();
                }
                else
                {
                        ShowMessage("管理员口令错误!");
                        return;
                }
        }
        this->Close();
}
//---------------------------------------------------------------------------
void __fastcall TLogin::FormClose(TObject *Sender, TCloseAction &Action)
{
        Action = caFree;        
}
//---------------------------------------------------------------------------
void __fastcall TLogin::RadioButton1Click(TObject *Sender)
{
        Edit1->Enabled = true;
        AdminFlag = true;
        Edit1->SetFocus();
}
//---------------------------------------------------------------------------

void __fastcall TLogin::RadioButton2Click(TObject *Sender)
{
        Edit1->Enabled = false;
        AdminFlag = false;        
}
//---------------------------------------------------------------------------

void __fastcall TLogin::Edit1KeyDown(TObject *Sender, WORD &Key,
      TShiftState Shift)
{
        switch(Key)
        {
                case VK_RETURN:
                        this->Button1->Click();
                        break;
                case VK_ESCAPE:
                        Edit1->Text = "";
                        break;
        }        
}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?