psd.cpp
来自「一个以前收集的基于C/S架构的ERP客户端源代码」· C++ 代码 · 共 198 行
CPP
198 行
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Psd.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "fpanel"
#pragma link "RecBaseForm"
#pragma link "SDEdit"
#pragma link "SDGrid"
#pragma link "DateEdit"
#pragma link "DateEdit"
#pragma link "SDComboBox"
#pragma resource "*.dfm"
TfrmPsd *frmPsd;
AnsiString LastPsdSupply;
//---------------------------------------------------------------------------
__fastcall TfrmPsd::TfrmPsd(TComponent* Owner, HWND chWnd, AnsiString MidCode,AnsiString WhereStr)
: TRecBaseForm(Owner,chWnd,MidCode,WhereStr)
{
}
//---------------------------------------------------------------------------
void __fastcall TfrmPsd::ClearControl(bool BringToNext)
{
if(BringToNext)
{
return;
}
scPsdCurrencyCode->ItemIndex= -1; // 币种
sePsdBankName->Text = ""; // 银行名称
sePsdBankNo->Text = ""; // 银行帐号
chkPsdPrimary->Checked = false; //主币种
CBJS->Checked =false; //缺省结算资料
}
//---------------------------------------------------------------------------
void __fastcall TfrmPsd::GetDataFromComObject()
{
scPsdCurrencyCode->LocateKey(GetFieldValue("PsdCurrencyCode"));
sgPsd->LocateGrid(1,GetFieldValue("PsdCurrencyCode"));
sePsdBankName->Text = GetFieldValue("PsdBankName");
sePsdBankNo->Text = GetFieldValue("PsdBankNo");
chkPsdPrimary->Checked = (GetFieldValue("PsdPrimary")=="1");
ComboBJS->LocateKey(GetFieldValue("PsdPayMode"));
if(GetFieldValue("psddefault")==1)
CBJS->Checked =true;
else
CBJS->Checked =false;
}
//---------------------------------------------------------------------------
void __fastcall TfrmPsd::SendDataToComObject()
{
if(scPsdCurrencyCode->ItemData[1]=="")
throw Exception("币种代码不能为空");
SetFieldValue("PsdSupplyCode",WideString(scPsdSupplyCode->ItemData[1]));
SetFieldValue("PsdCurrencyCode",WideString(scPsdCurrencyCode->ItemData[1]));
SetFieldValue("PsdBankName",WideString(sePsdBankName->Text));
SetFieldValue("PsdBankNo",WideString(sePsdBankNo->Text));
SetFieldValue("psdpaymode",WideString(ComboBJS->ItemData[1]));
if(chkPsdPrimary->Checked)
SetFieldValue("PsdPrimary",WideString("1"));
else
SetFieldValue("PsdPrimary",WideString("0"));
if(CBJS->Checked ==true)
SetFieldValue("psddefault",1);
if(CBJS->Checked ==false)
SetFieldValue("psddefault",0);
}
//---------------------------------------------------------------------------
void __fastcall TfrmPsd::WaitUserInput()
{
scPsdCurrencyCode->SetFocus();
}
//---------------------------------------------------------------------------
AnsiString __fastcall TfrmPsd::GetDataToGrid()
{
scPsdCurrencyCode->LocateKey(GetFieldValue("PsdCurrencyCode"));
AnsiString s;
s = "\t" + scPsdCurrencyCode->ItemData[1]+
"\t" + scPsdCurrencyCode->Text+
"\t" + GetFieldValue("PsdBankName")+
"\t" + GetFieldValue("PsdBankNo")+
"\t" + (GetFieldValue("PsdPrimary")=="1"?"主币种":"辅币种");
return(s);
}
//---------------------------------------------------------------------------
void __fastcall TfrmPsd::RefreshGridData(int mAction)
{
AnsiString ItemStr;
ItemStr = GetDataToGrid();
if (mAction == 0)
{
sgPsd->AddItem(ItemStr);
}
else if(mAction == 1)
{
int i = sgPsd->Row;
sgPsd->ChangeItem(ItemStr,i);
}
else if(mAction == 2)
{
sgPsd->RemoveItem(sgPsd->Row);
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmPsd::FillGridWithData()
{
AnsiString ItemStr;
comServer->MoveFirst();
sgPsd->RowCount = 1;
while (comServer->Eof == 0)
{
ItemStr = GetDataToGrid();
sgPsd->AddItem(ItemStr);
comServer->MoveNext();
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmPsd::InitEditControl()
{
ClientGroup->AddComponent(2,true,true,false,FloatPanel2,FloatPanel2->Name);
ClientGroup->AddComponent(2,true,true,false, sgPsd,sgPsd->Name);
ClientGroup->AddComponent(2,false,false,true, FloatPanel1,FloatPanel1->Name);
FillComboBox(Handle,scPsdSupplyCode,"SELECT SUPPLYCODE,supplyName FROM SDSUPPLY where supplycancel=0 order by SupplyCode","supplyName","SupplyCode");
FillComboBox(Handle,scPsdCurrencyCode,"select CurrencyCode,Currencyname from sdCurrency order By CurrencyCode","CurrencyName","CurrencyCode");
FillComboBox(Handle,ComboBJS,"select settleModeCode,settleModeName from sdsettleMode order By settleModeCode","settleModeName","settleModeCode");
}
//---------------------------------------------------------------------------
void __fastcall TfrmPsd::FormClose(TObject *Sender, TCloseAction &Action)
{
TRecBaseForm::FormClose(Sender,Action);
}
//---------------------------------------------------------------------------
void __fastcall TfrmPsd::FormShow(TObject *Sender)
{
ClearControl(false);
LastPsdSupply="";
if(scPsdSupplyCode->Items->Count > 0)
{
scPsdSupplyCode->ItemIndex=0;
scPsdSupplyCodeClick(NULL);
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmPsd::scPsdSupplyCodeClick(TObject *Sender)
{
AnsiString s;
if(scPsdSupplyCode->ItemIndex==-1)
return;
s=scPsdSupplyCode->ItemData[1];
if(s.IsEmpty())
return;
if(LastPsdSupply==s)
return;
LastPsdSupply=s;
s = "PsdSupplyCode = '" + s + "'";
comServer->FilterString = WideString(s);
comServer->Query();
FillGridWithData();
comServer->MoveFirst();
GetDataFromComObject();
}
//---------------------------------------------------------------------------
void __fastcall TfrmPsd::sgPsdClick(TObject *Sender)
{
int ARow=sgPsd->Row;
AnsiString KeyStr;
if (ARow > 0)
{
KeyStr=sgPsd->TextMatrix[ARow][1] + "\t" +scPsdSupplyCode->ItemData[1];
comServer->LocateByKey(WideString(KeyStr));
}
if (!comServer->Eof)
GetDataFromComObject();
}
//---------------------------------------------------------------------------
void __fastcall TfrmPsd::RefreshUpdateData(int MsgSrc,int MsgType)
{
}
//---------------------------------------------------------------
void __fastcall TfrmPsd::SupplyCodeButtonButtonClick(TObject *Sender)
{
if(OpenSupplyForm("")==true)
{
scPsdSupplyCode->LocateKey(GetSupplyValue(gtOpenForm,"SupplyCode"));
scPsdSupplyCodeClick(Sender);
}
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?