📄 password.cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "password.h"
#include "main.h"
#include <Registry.hpp>
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "KsSkinButtons"
#pragma link "KsSkinEdits"
#pragma link "KsSkinForms"
#pragma link "KsSkinLabels"
#pragma link "KsSkinPanels"
#pragma link "se_controls"
#pragma resource "*.dfm"
TForm23 *Form23;
extern int pass;
extern bool edit;
bool ok;
//---------------------------------------------------------------------------
__fastcall TForm23::TForm23(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm23::Button1Click(TObject *Sender)
{
switch(pass)
{
case 0:
{
if(cunzai("system"))
{
if(ReadReg("gongzuo")==password->Text)
{title->Caption="请输入审核密码!";
password->Text="";
password->SetFocus();
confirm->Text="";
pass=2;
}
else
{
if(Application->MessageBoxA("密码错误,重新输入吗?","密码",MB_YESNO)==IDYES)
{
password->Text="";
password->SetFocus();
}
else
{
edit=false;
ok=false;
Close();
}
}
}
else
if(Application->MessageBoxA("本软件目前尚未设置密码,现在设置吗?","密码设置",MB_YESNO)==IDYES)
{
Width=confirm->Left+confirm->Width+password->Left*2;
Caption="密码设置";
title->Caption="请输入工作者密码!";
pass=1;
}
else
{
edit=true;
ok=true;
Close();
}
break;
}
case 1:
{
if(confirm->Text==password->Text)
{
WriteReg(password->Text,"gongzuo");
pass=3;
title->Caption="请输入审核密码!";
password->Text="";
confirm->Text="";
password->SetFocus();
}
else
{
if(Application->MessageBoxA("密码不一致,重新输入吗?","密码设置",MB_YESNO)==IDYES)
password->Text="";
password->SetFocus();
confirm->Text="";
}
break;
}
case 2:
{
if(password->Text==ReadReg("shenhe"))
{
edit=true;
ok=true;
Close();
}
else
{
if(Application->MessageBoxA("密码错误,重新输入吗?","密码",MB_YESNO)==IDYES)
{password->Text="";
password->SetFocus();
}
else
{
edit=false;
ok=false;
Close();
}
}
break;
}
case 3:
{
if(password->Text==confirm->Text)
{
WriteReg(password->Text,"shenhe");
edit=true;
ok=true;
Close();
}
else
{
if(Application->MessageBoxA("密码不一致重新输入吗?","密码设置",MB_YESNO)==IDYES)
{
password->Text="";
password->SetFocus();
confirm->Text="";
}
else
{
edit=true;
ok=true;
Close();
}
}
break;
}
case 4:
{
if(password->Text==ReadReg("shenhe"))
{
password->Text="";
password->SetFocus();
pass=3;
Width=confirm->Left+confirm->Width+password->Left;
}
else
{
if(Application->MessageBoxA("密码错误,重新输入吗?","密码",MB_YESNO)==IDYES)
{
password->Text="";
password->SetFocus();
}
else
{
ok=false;
Close();
}
}
break;
}
case 5:
{
if(password->Text==ReadReg("gongzuo"))
{
password->Text="";
password->SetFocus();
pass=1;
Width=confirm->Left+confirm->Width+password->Left;
}
else
{
if(Application->MessageBoxA("输入密码错误,重新输入吗?","密码",MB_YESNO)==IDYES)
{
password->Text="";
password->SetFocus();
}
else
{
Close();
}
}
}
}
}
//---------------------------------------------------------------------------
bool TForm23::WriteReg(AnsiString Value, AnsiString Name)
{
TRegistry *Reg=new TRegistry; //TODO: Add your source code here TRegistry *Reg=new TRegistry;
try
{
Reg->RootKey=HKEY_LOCAL_MACHINE;
if(Reg->KeyExists("system"))
{
if(Reg->OpenKey("system",false))
{
Reg->WriteString(Name,Value);
Reg->CloseKey();
return true;
}
else
{
return false;
}
}
else
{
if(Reg->CreateKey("system"))
{
Reg->WriteString(Name,Value);
Reg->CloseKey();
return true;
}
else
return false;
}
}
__finally
{
delete Reg;
}
return false;
//TODO: Add your source code here
}
AnsiString TForm23::ReadReg(AnsiString Name)
{
AnsiString v;
TRegistry *Reg=new TRegistry;
try
{
Reg->RootKey=HKEY_LOCAL_MACHINE;
if(Reg->KeyExists("system"))
{
if(Reg->OpenKey( "system",false))
{
v=Reg->ReadString(Name);
Reg->CloseKey();
}
else
v="";
}
}
__finally
{
delete Reg;
}
return v;
}
void __fastcall TForm23::FormCreate(TObject *Sender)
{
ok=false;
switch(pass)
{
case 0:{
if(cunzai("system"))
{
Width=password->Left+password->Width+password->Left+5;
Caption="工作者密码";
}
else
{
if(Application->MessageBoxA("本软件目前尚未设置密码,现在设置吗?","密码设置",MB_YESNO)==IDYES)
{
Width=confirm->Left+confirm->Width+password->Left*2;
Caption="密码设置";
title->Caption="请输入工作者密码!";
pass=1;
}
else
{
edit=true;
ok=true;
Close();
}
}
break;
}
case 1:
{ if(ReadReg("gongzuo")!="")
{
Width=confirm->Left-2;
Caption="输入密码";
title->Caption="请输入工作者密码!";
pass=5;
}
else
{
Width=confirm->Left+confirm->Width+password->Left;
Caption="密码设置";
title->Caption="请输入工作者密码!";
}
break;
}
case 3:
{
if(ReadReg("shenhe")!="")
{
Caption="输入密码";
title->Caption="请输入审核密码!";
Width=confirm->Left-2;
pass=4;
}
else
{
Caption="设置密码";
title->Caption="请输入审核密码!";
Width=confirm->Left+confirm->Width+password->Left;
}
}
}
}
//---------------------------------------------------------------------------
bool TForm23::cunzai(AnsiString Name)
{
TRegistry *reg=new TRegistry;
try
{
reg->RootKey=HKEY_LOCAL_MACHINE;
if(reg->KeyExists(Name))
return true;
else
return false;
}
__finally
{
delete reg;
}
return false; //TODO: Add your source code here
}
void __fastcall TForm23::FormClose(TObject *Sender, TCloseAction &Action)
{
edit=ok;
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -