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

📄 editpassword.cpp

📁 停车场用
💻 CPP
字号:
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "EditPassword.h"
#include "EditDlg.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
//设置文本
static void SetEditText(TEditPasswordForm *se,char *pszSour,char *pszTitle);

//---------------------------------------------------------------------------
__fastcall TEditPasswordForm::TEditPasswordForm(TComponent* Owner)
    : TForm(Owner)
{
}
//设置新密码
int ReworkPassword(TObject *Owner,char *pszSour,char *pszTitle)
 {
  TEditPasswordForm *se;
  int rc;

  rc=FALSE;
  se = new TEditPasswordForm((TComponent*)Owner);
  if(se!=NULL){
    SetEditText(se,pszSour,pszTitle);
    rc=se->ShowModal();
    if(rc==mrOk)rc=TRUE;
    delete se;
   }
  return(rc);
 }
//设置文本
void SetEditText(TEditPasswordForm *se,char *pszSour,char *pszTitle)
 {
  if(pszTitle!=NULL)se->SetTextBuf(pszTitle);
  se->m_OldEdit->Text="";
  se->m_NewEdit->Text="";
  se->m_OkEdit->Text="";

  se->m_pszSour=pszSour;
  se->m_nCount=0;
 }
//---------------------------------------------------------------------------
void __fastcall TEditPasswordForm::m_OkButClick(TObject *Sender)
{
  static char *pszText= "密码错误!";
  char szText[3][20],*pszSour;
  int i,rc;

  m_OldEdit->GetTextBuf(szText[0],sizeof(szText[0]));
  m_NewEdit->GetTextBuf(szText[1],sizeof(szText[0]));
  m_OkEdit->GetTextBuf(szText[2],sizeof(szText[0]));

  rc =TRUE;//新密码与确认密码比较
  if(lstrcmpi(szText[1],szText[2])!=0) rc = FALSE;

  //原密码与初始密码比较
  if(rc && lstrcmpi(m_pszSour,szText[0])!=0)
     rc=FALSE;
  if(rc){
     lstrcpy(m_pszSour,szText[1]);
     ModalResult=mrOk;
    }
  else if(m_nCount++<3){
    MessageBeep(MB_ICONHAND);
    Application->MessageBox(pszText,GetPasswordTitle(),
        MB_OK|MB_ICONINFORMATION|MB_APPLMODAL);
    m_NewEdit->SetFocus();
    ModalResult=0;
   }
  else ModalResult=mrCancel;
}
//获取密码标题
char *GetPasswordTitle(void)
 {
  static char szTitle[]="密码管理";

  return(szTitle);
 }
//检查一个密码输入
int CheckOnePassword(TObject *Owner,char *pszSour,char *pszTitle)
 {
  static char  pszText1[]= "请输入操作密码:",
      pszText2[]= "对不起! 密码错误!";
  EDITPARAM pe;
  int i,rc;
  char szBuf[30];

  szBuf[0]=0;
  ZeroMemory(&pe,sizeof(pe));
  if(pszTitle==NULL)pszTitle=pszText1;
  pe.pszText = pszTitle;
  pe.pszTitle = GetPasswordTitle();
  pe.pszBuf = szBuf;
  pe.cbSize = sizeof(szBuf)-1;
  pe.nFlag=0x080;

  for(i=0;;i++){
    rc=EditTextStr(Owner,&pe);
    if(rc==FALSE)break; //没有输入
    else if(lstrcmpi(pszSour,szBuf)==0)break; //密码正确

    if(i<3){
      MessageBeep(MB_ICONHAND);
      if(Application->MessageBox(pszText2,GetPasswordTitle(),
        MB_RETRYCANCEL|MB_ICONINFORMATION|MB_APPLMODAL)
             !=IDRETRY)
          break;
     }
    else break;
   }
  return(rc);
 }

⌨️ 快捷键说明

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