train.cpp
来自「一个以前收集的基于C/S架构的ERP客户端源代码」· C++ 代码 · 共 246 行
CPP
246 行
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Train.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "RecBaseForm"
#pragma link "fpanel"
#pragma link "SDEdit"
#pragma link "SDGrid"
#pragma link "DateEdit"
#pragma link "SDComboBox"
#pragma resource "*.dfm"
TfrmTrain *frmTrain;
//---------------------------------------------------------------------------
__fastcall TfrmTrain::TfrmTrain(TComponent* Owner, HWND chWnd, AnsiString MidCode,AnsiString WhereStr)
: TRecBaseForm(Owner,chWnd,MidCode,WhereStr)
{
IsUserCheck=true;
}
//---------------------------------------------------------------------------
void __fastcall TfrmTrain::InitEditControl()
{
ClientGroup->AddComponent(2,false,false,true,FloatPanel1,FloatPanel1->Name);
ClientGroup->AddComponent(2,true,true,false, sgTrain,sgTrain->Name);
ClientGroup->AddComponent(2,false,false,false,seTrainCode,seTrainCode->Name);
FillEdit(Handle,seTrainEmployee,"select EmployeeName=EmployeeCode+'('+EmployeeName+')',EmployeeCode from sdEmployee order by EmployeeCode",
"EmployeeName","EmployeeCode");
FillEdit(Handle,seTrainDept,"select DeptCode,DeptName from sdDept order by DeptCode","DeptName","DeptCode");
}
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
void __fastcall TfrmTrain::ClearControl(bool BringToNext)
{
if(!BringToNext)
{
seTrainCode->Text ="";
sdTrainDate->Text =g_sdCurDate;
seTrainEmployee->Text ="";
seTrainDept->Text ="";
seTrainCollege->Text ="";
meTrainContent->Text ="";
sdTrainSDate->Text =g_sdCurDate;
sdTrainEDate->Text =g_sdCurDate;
labTrainUser->Caption =g_sdUserCode;
chkTrainCheck->Checked =false;
labTrainChecker->Caption="";
labTrainCheckDate->Caption="";
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmTrain::GetDataFromComObject()
{
seTrainCode->Text=GetFieldValue("TrainCode");
sgTrain->LocateGrid(1,seTrainCode->Text);
sdTrainDate->Text=GetFieldValue("TrainDate");
seTrainEmployee->LocateKey(GetFieldValue("TrainEmployee"));
seTrainDept->LocateKey(GetFieldValue("TrainDept"));
seTrainCollege->Text=GetFieldValue("TrainCollege");
meTrainContent->Text=GetFieldValue("TrainContent");
sdTrainSDate->Text=GetFieldValue("TrainSDate");
sdTrainEDate->Text=GetFieldValue("TrainEDate");
chkTrainCheck->Checked=(GetFieldValue("TrainCheck")==1)? true: false;
if(chkTrainCheck->Checked)
SetCheckToolbarStatus(true);
else
SetCheckToolbarStatus(false);
labTrainChecker->Caption=GetFieldValue("TrainChecker");
labTrainCheckDate->Caption=GetFieldValue("TrainCheckDate");
labTrainUser->Caption =GetFieldValue("TrainUser");
}
//---------------------------------------------------------------------------
void __fastcall TfrmTrain::SendDataToComObject()
{
SetFieldValue("TrainCode",seTrainCode->Text);
SetFieldValue("TrainDate",sdTrainDate->Text);
SetFieldValue("TrainEmployee",WideString(seTrainEmployee->ItemData[cbItem2]));
SetFieldValue("TrainDept",WideString(seTrainDept->ItemData[cbItem2]));
SetFieldValue("TrainCollege",seTrainCollege->Text);
SetFieldValue("TrainContent",meTrainContent->Text);
SetFieldValue("TrainSDate",sdTrainSDate->Text);
SetFieldValue("TrainEDate",sdTrainEDate->Text);
SetFieldValue("TrainUser",labTrainUser->Caption);
SetFieldValue("TrainCheck",chkTrainCheck->Checked?"1":"0");
SetFieldValue("TrainChecker",labTrainChecker->Caption);
SetFieldValue("TrainUser",labTrainUser->Caption);
}
//---------------------------------------------------------------------------
void __fastcall TfrmTrain::WaitUserInput()
{
seTrainCode->SetFocus();
}
//---------------------------------------------------------------------------
AnsiString __fastcall TfrmTrain::GetDataToGrid()
{
AnsiString s;
// seFaDecFadn->LocateKey(GetFieldValue("FaDecFadn"));
s = "\t" +GetFieldValue("TrainCode")+
"\t" +GetFieldValue("TrainDate")+
"\t" +GetFieldValue("TrainEmployee")+
"\t" +GetFieldValue("TrainDept");
return(s);
}
//---------------------------------------------------------------------------
void __fastcall TfrmTrain::RefreshGridData(int mAction)
{
AnsiString ItemStr;
ItemStr = GetDataToGrid();
if (mAction == 0) //Add
{
sgTrain->AddItem(ItemStr);
}
else if(mAction == 1) //Modify
{
int i = sgTrain->Row;
sgTrain->RemoveItem(i);
sgTrain->AddItem(ItemStr,i);
}
else if(mAction == 2) //Delete
{
sgTrain->RemoveItem(sgTrain->Row);
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmTrain::FillGridWithData()
{
AnsiString ItemStr;
comServer->MoveFirst();
sgTrain->RowCount = 1;
while (comServer->Eof == 0)
{
ItemStr = GetDataToGrid();
sgTrain->AddItem(ItemStr);
comServer->MoveNext();
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmTrain::FormShow(TObject *Sender)
{
FillGridWithData();
comServer->MoveFirst();
GetDataFromComObject();
}
//---------------------------------------------------------------------------
void __fastcall TfrmTrain::RefreshUpdateData(int MsgSrc,int MsgType)
{
/*
switch(MsgSrc)
{
case euSdFc:
if(ShowUpdateMessage(MsgSrc,MsgType))
FillComboBox(Query,scFaDecFmonth,"select Fcmonth from sdfc order By fcmonth","fcmonth");
break;
case euSdFadn:
if(ShowUpdateMessage(MsgSrc,MsgType))
FillEdit(Query,seFaDecFadn,"select fadncode,fadnname from sdfadn order By fadncode","fadncode","fadnname");
break;
case euSdFav:
if(ShowUpdateMessage(MsgSrc,MsgType))
FillComboBox(Query,scFaDecFav,"select favcode ,favname from sdfav where favtype='2' order By favcode","favName","favcode");
break;
default:
break;
}
*/
}
//---------------------------------------------------------------------------
void __fastcall TfrmTrain::seTrainCodeKeyDown(TObject *Sender, WORD &Key,
TShiftState Shift)
{
if(Key==13 && CurrentState==caNormal)
{
comServer->LocateByKey(seTrainCode->Text);
GetDataFromComObject();
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmTrain::sgTrainClick(TObject *Sender)
{
if (sgTrain->Row > 0)
comServer->LocateByKey(sgTrain->TextMatrix[sgTrain->Row][1]);
if (!comServer->Eof)
GetDataFromComObject();
}
//---------------------------------------------------------------------------
void __fastcall TfrmTrain::seTrainEmployeeButtonClick(TObject *Sender)
{
AnsiString SqlStr;
TfrmWnQuery *p;
SqlStr="004[员工编码][员工名称][部门编码][部门名称]select Employeecode, Employeename,Employeedept,";
SqlStr+="employeedeptName=isnull((select deptname from sddept where deptcode=employeedept),'') from sdEmployee order by Employeecode ";
try{
StartWaitForm("正在查询,请稍候...");
p=new TfrmWnQuery(this,"员工查询",SqlStr);
}
__finally
{
EndWaitForm();
}
if(p->ShowModal()==mrOk)
{
seTrainEmployee->LocateKey(p->ColData[1]);
seTrainDept->LocateKey(p->ColData[3]);
}
delete p;
}
//---------------------------------------------------------------------------
bool __fastcall TfrmTrain::BeforeCheck()
{
SetFieldValue("TrainCheck",1);
SetFieldValue("TrainChecker",g_sdUserCode);
SetFieldValue("TrainCheckDate",g_sdCurDate);
return true;
}
//---------------------------------------------------------------------------
bool __fastcall TfrmTrain::BeforeUnCheck()
{
SetFieldValue("TrainCheck",0);
SetFieldValue("TrainChecker","");
SetFieldValue("TrainCheckDate",NULL);
return true;
}
//---------------------------------------------------------------------------
void __fastcall TfrmTrain::FormClose(TObject *Sender, TCloseAction &Action)
{
TRecBaseForm::FormClose(Sender,Action);
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?