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

📄 edituser.cpp

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

#include <vcl.h>
#pragma hdrstop

#include "EditUser.h"
#include "dido.h"
#include "option.h"
#include "param.h"
#include "vtl.h"
#include "CBuilder.h"
#include "dynamic.h"

//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
//设置编辑内容
static void SetEditText(TEditUserForm *te,USERDATA *pCard,int nMode);
//获取编辑内容
static int GetEditText(TEditUserForm *te,USERDATA *pCard,int nMode);
//检查车牌号码
static int CheckCarTag(char *pszStr);
//设置用户类型
static void SetUserTypeCoBox(TComboBox *pBox,USERDATA *pText);

//---------------------------------------------------------------------------
__fastcall TEditUserForm::TEditUserForm(TComponent* Owner)
    : TForm(Owner)
{
}
//修改用户
int ReworkUser(TComponent* Owner,void *pUSERDATA,int nMode)
 {
  TEditUserForm *te;
  int rc;

  rc=FALSE;
  te = new TEditUserForm(Owner);
  if(te!=NULL){
    SetEditText(te,(USERDATA *)pUSERDATA,nMode);
    if(te->ShowModal()==IDOK)
      rc=TRUE;
    delete te;
   }
  return(rc);
 }
//设置编辑内容
void SetEditText(TEditUserForm *te,USERDATA *pText,int nMode)
 {
  te->m_CarTagEdit->SetTextBuf(pText->szCarTag);
  te->m_UserNameEdit->SetTextBuf(pText->szUserName);
  te->m_PhoneEdit->SetTextBuf(pText->szPhone);
  te->m_AddressEdit->SetTextBuf(pText->szAddress);
  te->m_CarTypeEdit->SetTextBuf(pText->szCarType);
  te->m_CarColorEdit->SetTextBuf(pText->szCarColor);
  te->m_RemarkEdit->SetTextBuf(pText->szRemark);

  //设置图形数据
  SetPictureData(te->m_CarImage->Picture,pText->pPhoto);

  SetUserTypeCoBox(te->m_UserTypeCoBox,pText);//设置用户类型

  if(nMode==0) //添加
     te->m_EditBut->Enabled=FALSE;
  else te->m_AddBut->Enabled=FALSE;
  te->m_pText=pText;
  te->m_nMode=nMode;
 }
//设置用户类型
void SetUserTypeCoBox(TComboBox *pBox,USERDATA *pText)
 {
  char szBuf[50];
  int i,nType,nIndex;
  void *pHead,*pCur;
  PRICEDATA *t;

  nIndex=0;
  nType = pText->nUserType;
  pHead = GetPriceList();
  pBox->Items->Clear();
  for(i=0;;i++){
    pCur = GetDotOnTList(pHead,i);
    if(pCur!=NULL){
      t = LookPrice(pCur);
      wsprintf(szBuf,"%d: %s",t->nID,t->szUserType);
      pBox->Items->Add(szBuf);
      if(nType==(int)t->nID)nIndex=i;
     }
    else break;
   }
  pBox->ItemIndex=nIndex;
 }
//获取编辑内容
int GetEditText(TEditUserForm *te,USERDATA *pText,int nMode)
 {
  char szBuf[50];
  int rc;

  rc=TRUE;
  te->m_CarTagEdit->GetTextBuf(szBuf,sizeof(szBuf));
  bstrncpy(szBuf,szBuf,sizeof(szBuf)); //删除左右空白
  if(CheckCarTag(szBuf)==FALSE)
    { te->m_CarTagEdit->SetFocus();rc=FALSE;}

  if(rc){
    lstrcpyn(pText->szCarTag,szBuf,sizeof(pText->szCarTag));
    te->m_UserNameEdit->GetTextBuf(pText->szUserName,sizeof(pText->szUserName));
    te->m_PhoneEdit->GetTextBuf(pText->szPhone,sizeof(pText->szPhone));
    te->m_AddressEdit->GetTextBuf(pText->szAddress,sizeof(pText->szAddress));
    te->m_CarTypeEdit->GetTextBuf(pText->szCarType,sizeof(pText->szCarType));
    te->m_CarColorEdit->GetTextBuf(pText->szCarColor,sizeof(pText->szCarColor));
    te->m_RemarkEdit->GetTextBuf(pText->szRemark,sizeof(pText->szRemark));

    te->m_UserTypeCoBox->GetTextBuf(szBuf,sizeof(szBuf));
    pText->nUserType= atoi(szBuf);
    //设置图形数据,先删除
    DeleteBlobData(pText->pPhoto);
    pText->pPhoto = GetPictureData(te->m_CarImage->Picture);
   }
  return(rc);
 }
//检查车牌号码
int CheckCarTag(char *pszStr)
 {
 static char pszText[]="\"车牌号码\" 不能为空!";
 int rc;

 rc=TRUE;
 if(pszStr[0]==0)
  {
   MessageBeep(MB_ICONSTOP);
   Application->MessageBox(pszText,GetMainTitle(),
     MB_OK|MB_ICONINFORMATION);
   rc=FALSE;
   }
  return(rc);
 }
//---------------------------------------------------------------------------
void __fastcall TEditUserForm::m_PhotoButClick(TObject *Sender)
{
 AnsiString as;

    // 车辆图片登记.
 if (m_OpenPictureDialog->Execute()) {
   as = m_OpenPictureDialog->FileName;
   if(FileExists(as))
     m_CarImage->Picture->LoadFromFile(as);
   }
 }

void __fastcall TEditUserForm::OkClick(TObject *Sender)
{
 int rc;
  rc = GetEditText(this,(USERDATA *)m_pText,m_nMode);//获取编辑内容
  if(rc){ ModalResult=IDOK;}
  else {   ModalResult=0; }
}
//---------------------------------------------------------------------------


⌨️ 快捷键说明

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