⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 chgpassunit.cpp

📁 简单的C++小程序
💻 CPP
字号:
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "ChgPassUnit.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TChgPassword *ChgPassword;
//---------------------------------------------------------------------------
__fastcall TChgPassword::TChgPassword(TComponent* Owner)
        : TForm(Owner)
{
        Edit1->PasswordChar = 42;
        Edit2->PasswordChar = 42;
        Edit3->PasswordChar = 42;
}
//---------------------------------------------------------------------------
void __fastcall TChgPassword::Button2Click(TObject *Sender)
{
        this->Close();        
}
//---------------------------------------------------------------------------

void __fastcall TChgPassword::FormClose(TObject *Sender,
      TCloseAction &Action)
{
        ADOQuery1->Close();
        Action = caFree;
}
//---------------------------------------------------------------------------

void __fastcall TChgPassword::CheckBox1Click(TObject *Sender)
{
        if(CheckBox1->Checked)
        {
                Edit1->PasswordChar = 0;
                Edit2->PasswordChar = 0;
                Edit3->PasswordChar = 0;
        }
        else
        {
                Edit1->PasswordChar = 42;
                Edit2->PasswordChar = 42;
                Edit3->PasswordChar = 42;
        }
}
//---------------------------------------------------------------------------

void __fastcall TChgPassword::Button1Click(TObject *Sender)
{
        AnsiString OldPass,NewPass,mySQL;

        ADOQuery1->Open();
        if(ADOQuery1->RecordCount == 0)
        {
                ShowMessage("数据库错误!");
                return;
        }
        OldPass = ADOQuery1->FieldByName("admin_pass")->AsString;

        if(!(Edit1->Text.Length()&&Edit2->Text.Length()&&Edit3->Text.Length()))
        {
                ShowMessage("有输入框内容为空!");
        }
        else
        {
                if(Edit1->Text != OldPass)
                {
                        ShowMessage("旧口令错误!");
                        return;
                }
                if(Edit2->Text != Edit3->Text)
                {
                        ShowMessage("新口令两次输入不一致!");
                        return;
                }
                NewPass = Edit2->Text;

                //更新口令
                ADOQuery1->Active = false;
                ADOQuery1->SQL->Clear();
                mySQL = "UPDATE admin SET admin_pass = ";
                mySQL = mySQL + char(34) + NewPass + char(34);
                mySQL = mySQL + " WHERE admin_name = ";
                mySQL = mySQL + char(34) + "admin" + char(34);
                ADOQuery1->SQL->Add(mySQL);
                ADOQuery1->ExecSQL();
                ShowMessage("管理员口令更改成功!");
                this->Close();
        }
}
//---------------------------------------------------------------------------

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

void __fastcall TChgPassword::Edit2KeyDown(TObject *Sender, WORD &Key,
      TShiftState Shift)
{
        switch(Key)
        {
                case VK_RETURN:
                        Edit3->SetFocus();
                        break;
                case VK_ESCAPE:
                        Edit2->Text = "";
                        break;
        }
}
//---------------------------------------------------------------------------

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

⌨️ 快捷键说明

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