📄 clientedit.cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "ClientEdit.h"
#include "ClientManager.h"
#include "ControlBase.h"
#include "LoginForm.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "RzPanel"
#pragma link "RzButton"
#pragma link "RzCmboBx"
#pragma link "RzDBCmbo"
#pragma link "RzDBEdit"
#pragma link "RzEdit"
#pragma link "RzLabel"
#pragma link "RzBckgnd"
#pragma link "RzTabs"
#pragma resource "*.dfm"
TEditClient *EditClient;
TMainManager *MainForm;
//---------------------------------------------------------------------------
__fastcall TEditClient::TEditClient(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
__fastcall TEditClient::TEditClient(TComponent* Owner,String Title,String sSearchID,TADOQuery *Querytemp,int iFlag)
: TForm(Owner)
{
RzPanel7->Height = 1;
iCount = 0; //子表新增计数赋初值
QryTemp = new TADOQuery(NULL);
QryTemp = Querytemp;
QryTemp->LockType = ltBatchOptimistic;
m_bSaveFlag = iFlag;
DSource->DataSet = QryTemp;
CurrentPath = ReturnPath() + "\\Pic\\";
if(m_bSaveFlag ==1)
{
QryTemp->Append();
String sSqlMaxID = "select max(ID) from ClientData ";
sMaxSQL(QryTemp->Connection,sSqlMaxID,sMaxID);
int ilength = IntToStr(StrToInt(sMaxID) + 1).Length();
switch(ilength)
{
case 1: sTrueMaxID = "0000"+IntToStr(StrToInt(sMaxID) + 1);break;
case 2: sTrueMaxID = "000"+IntToStr(StrToInt(sMaxID) + 1);break;
case 3: sTrueMaxID = "00"+IntToStr(StrToInt(sMaxID) + 1);break;
case 4: sTrueMaxID = "0"+IntToStr(StrToInt(sMaxID) + 1);break;
}
RzDBEdit1->Text = sTrueMaxID;
RzDBComboBox1->Text = "男";
RzDBComboBox1->ReadOnly = false;
}
else if(m_bSaveFlag ==0)
{
QryTemp->Edit();
String m_Sex = QryTemp->FieldByName("Sex")->AsString;
RzDBComboBox1->Text = m_Sex;
String m_dPreTime1 = QryTemp->FieldByName("Birday")->AsString;
String m_dPreTime2 = QryTemp->FieldByName("TakeTime")->AsString;
try{RzDateTimeEdit1->Date = StrToDateTime(m_dPreTime1+" 00:00:00");} catch(...){ };
RzDateTimeEdit2->Date = StrToDateTime(m_dPreTime2+" 00:00:00");
try
{
ImgPic->Picture->LoadFromFile(CurrentPath + sSearchID+".bmp""");
}
catch(...)
{
MsgShow("还没有上传客户照片哦!","编辑提示");
}
}
EditClient->Caption = Title;
sID = sSearchID;
/*----------------------子表项目显示----------------------------------------*/
ADOQItem->Active=false;
ADOQItem->SQL->Clear();
ADOQItem->SQL->Add("select * from CELL where ITEMID = '"+sSearchID+"'");
ADOQItem->Open();
ADOQItem->Active=true;
}
//---------------------------------------------------------------------------
void __fastcall TEditClient::RzBitBtn5Click(TObject *Sender)
{
Close();
}
//---------------------------------------------------------------------------
void __fastcall TEditClient::RzBitBtn1Click(TObject *Sender)
{
if(!MsgYN("是否保存!"))
return;
if(RzDBComboBox1->Text =="")
{
MsgShow("请输入客户性别!","编辑提示");
return;
}
try
{
AConnection2 = new TADOConnection(NULL);
AConnection2 = QryTemp->Connection;
if(!AConnection2->InTransaction)
AConnection2->BeginTrans();
QryTemp->FieldByName("Sex")->AsString = RzDBComboBox1->Text;
if(AConnection2->InTransaction)
AConnection2->CommitTrans();
QryTemp->UpdateBatch(arAll);
AConnection1 = new TADOConnection(NULL);
AConnection1 = ADOQItem->Connection;
if(!AConnection1->InTransaction)
AConnection1->BeginTrans();
if(AConnection1->InTransaction)
AConnection1->CommitTrans();
ADOQItem->UpdateBatch(arAll);
Close();
}
catch(...)
{
if(AConnection2->InTransaction)
AConnection2->RollbackTrans();
if(AConnection1->InTransaction)
AConnection1->RollbackTrans();
}
}
//---------------------------------------------------------------------------
void __fastcall TEditClient::RzBitBtn2Click(TObject *Sender)
{
if(OpenPic->Execute())
{
ImgPic->Visible = true;
ImgPic->Picture->LoadFromFile(OpenPic->FileName);
if(m_bSaveFlag == 1)
{
ImgPic->Visible = true;
ImgPic->Picture->SaveToFile(CurrentPath + sTrueMaxID+".bmp""");
}
else
{
ImgPic->Visible = true;
String iii=CurrentPath+ sID+".bmp""";
ImgPic->Picture->SaveToFile(CurrentPath + sID+".bmp""");
}
}
}
//---------------------------------------------------------------------------
void __fastcall TEditClient::RzBitBtn3Click(TObject *Sender)
{
if(!MsgYN("是否删除?"))
return;
if(m_bSaveFlag == 1)
{
DeleteFile(CurrentPath + sTrueMaxID+".bmp""");
SetCurrentDir(CurrentPath + sTrueMaxID+".bmp""");
}
else
{
DeleteFile(CurrentPath + sID+".bmp""");
SetCurrentDir(CurrentPath + sID+".bmp""");
}
ImgPic->Visible = false;
}
//---------------------------------------------------------------------------
void __fastcall TEditClient::RzBitBtn7Click(TObject *Sender)
{
RzPanel7->Height = 61;
RzBitBtn6->Caption = "隐藏";
ADOQItem->Active = true;
String sSubMaxID ;
if(iCount == 0)
{
sSubMaxID = "select max(CELLID) from CELL where ITEMID = '"+sID+"'";
sMaxSQL(ADOQItem->Connection,sSubMaxID,sMaxSubID);
}
if (sMaxSubID == "")
{
sTrueMaxSubID = sID+"001";
sMaxSubID = sTrueMaxSubID;
}
else
{
int iSublength = IntToStr(StrToInt(sMaxSubID.SubString(6,8)) + 1).Length();
switch(iSublength)
{
case 1: sMaxSubID = sTrueMaxSubID = sID+"00"+IntToStr(StrToInt(sMaxSubID.SubString(6,8)) + 1);break;
case 2: sMaxSubID = sTrueMaxSubID = sID+"0"+IntToStr(StrToInt(sMaxSubID.SubString(6,8)) + 1);break;
}
}
iCount = iCount + 1;
//-----------------------存储数据--------------------------------------------
ADOQItem->Append() ;
ADOQItem->FieldByName("ITEMID")->AsString=sID ;
ADOQItem->FieldByName("CELLID")->AsString=sTrueMaxSubID ;
ADOQItem->Post();
}
//---------------------------------------------------------------------------
void __fastcall TEditClient::RzBitBtn6Click(TObject *Sender)
{
if(RzBitBtn6->Caption == "隐藏")
{
RzPanel7->Height = 1;
RzBitBtn6->Caption = "显示";
}
else if(RzBitBtn6->Caption == "显示")
{
RzPanel7->Height = 61;
RzBitBtn6->Caption = "隐藏";
}
}
//---------------------------------------------------------------------------
void __fastcall TEditClient::RzBitBtn4Click(TObject *Sender)
{
ADOQItem->Delete();
}
//---------------------------------------------------------------------------
void __fastcall TEditClient::RzDBEdit2Exit(TObject *Sender)
{
TLocateOptions Opts;
Opts.Clear();
Opts<<loPartialKey;
Variant locvalues[1];
locvalues[0]=RzDBEdit2->Text.Trim();
if(ADOSearch->Locate("Name",locvalues[0],Opts)==true)
{
MsgShow("客户姓名重复!","提示信息");
return;
}
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -