📄 edituser.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 + -