cd.cpp
来自「一个以前收集的基于C/S架构的ERP客户端源代码」· C++ 代码 · 共 228 行
CPP
228 行
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Cd.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "RecBaseForm"
#pragma link "fpanel"
#pragma link "SDEdit"
#pragma resource "*.dfm"
TfrmCd *frmCd;
//---------------------------------------------------------------------------
__fastcall TfrmCd::TfrmCd(TComponent* Owner, HWND chWnd, AnsiString MidCode,AnsiString WhereStr)
: TRecBaseForm(Owner,chWnd,MidCode,WhereStr)
{
}
//---------------------------------------------------------------------------
void __fastcall TfrmCd::ClearControl(bool BringToNext)
{
if (!BringToNext)
{
seCdGoods->Text ="";
seCdGoodsName->Text="";
seCdFmonth->Text ="";
seCdBopQty->Text =0.0;
seCdBopPrice->Text =0.0;
seCdBopAmt->Text =0.0;
scCdChk->Checked =false;
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmCd::GetDataFromComObject()
{
seCdFmonth->Text=GetFieldValue("CdFmonth");
seCdGoods->Text=GetFieldValue("CdGoods");
seCdGoodsName->Text=GetFieldValue("CdGoodsName");
seCdBopPrice->Text=GetFieldValue("CdBopPrice");
seCdBopQty->Text=GetFieldValue("CdBopQty");
seCdBopAmt->Text=GetFieldValue("CdBopAmt");
scCdChk->Checked=(GetFieldValue("CdInitFlg")=="1"?true :false);
}
//---------------------------------------------------------------------------
void __fastcall TfrmCd::SendDataToComObject()
{
SetFieldValue("CdFmonth",seCdFmonth->Text);
SetFieldValue("CdGoods",seCdGoods->Text);
SetFieldValue("CdBopPrice",seCdBopPrice->Text);
SetFieldValue("CdBopAmt",seCdBopAmt->Text);
SetFieldValue("CdInitFlg",scCdChk->Checked? "1":"0");
}
//---------------------------------------------------------------------------
void __fastcall TfrmCd::WaitUserInput()
{
seCdBopAmt->SetFocus();
}
//---------------------------------------------------------------------------
void __fastcall TfrmCd::RefreshGridData(int mAction)
{
tvCd->Selected->StateIndex=1;
}
//---------------------------------------------------------------------------
void __fastcall TfrmCd::FillTreeWithPmpc()
{
TTreeNode *TempNode[7];
int mLevel;
TComResultSet *RsPmpc=new TComResultSet(Handle,g_ClientHandle);
tvCd->Items->Clear();
RsPmpc->Open("select PmpcCode,PmpcName,PmpcLevel from sdPmpc order by PmpcCode,PmPcLevel","");
RsPmpc->MoveFirst();
while( RsPmpc->Eof == 0 )
{
mLevel=RsPmpc->FieldByName("PmpcLevel").ToInt();
if(mLevel==1)
TempNode[mLevel] = tvCd->Items->Add(NULL,"(" + RsPmpc->FieldByName("PmpcCode") + ")" +RsPmpc->FieldByName("PmpcName"));
else
TempNode[mLevel] = tvCd->Items->AddChild(TempNode[mLevel-1],"(" + RsPmpc->FieldByName("PmpcCode") + ")" +RsPmpc->FieldByName("PmpcName"));
TempNode[mLevel]->StateIndex = 0;
TempNode[mLevel]->Text= "(" + RsPmpc->FieldByName("PmpcCode") + ")"+RsPmpc->FieldByName("PmpcName");
RsPmpc->MoveNext();
}
RsPmpc->Close();
delete RsPmpc;
if (tvCd->Items->Count > 0)
tvCd->FullCollapse();
}
//---------------------------------------------------------------------------
void __fastcall TfrmCd::FillGridWithData()
{
FillTreeWithPmpc();
comServer->MoveFirst();
TTreeNode *TempNode;
while (comServer->Eof == 0)
{
AnsiString s,m;
s = GetFieldValue("CdPmpcCode");
for(int i = 0 ; i < tvCd->Items->Count; i ++)
{
m = tvCd->Items->Item[i]->Text;
m = m.SubString(2,m.AnsiPos(")")-2);
if(s==m)
{
TempNode = tvCd->Items->Item[i];
break;
}
}
TempNode= tvCd->Items->AddChild(TempNode,"(" + GetFieldValue("CdGoods") + ")" +GetFieldValue("CdGoodsName"));
if(GetFieldValue("CdInitFlg")=="1")
TempNode->StateIndex = 1;
else
TempNode->StateIndex = 2;
TempNode->Text="(" + GetFieldValue("CdGoods") + ")" + GetFieldValue("CdGoodsName");
comServer->MoveNext();
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmCd::InitEditControl()
{
ClientGroup->AddComponent(2,true,true,false,Panel1,Panel1->Name);
ClientGroup->AddComponent(2,false,false,true,FloatPanel1,FloatPanel1->Name);
ClientGroup->AddComponent(2,true,true,true,Panel2,Panel2->Name);
ClientGroup->AddComponent(2,true,true,true,scCdChk,scCdChk->Name);
}
//---------------------------------------------------------------------------
void __fastcall TfrmCd::FormShow(TObject *Sender)
{
FillGridWithData();
ClearControl(false);
comServer->MoveFirst();
}
//---------------------------------------------------------------------------
void __fastcall TfrmCd::tvCdChange(TObject *Sender,
TTreeNode *Node)
{
AnsiString m;
if(tvCd->Selected->StateIndex==1|| tvCd->Selected->StateIndex==2)
{
m = Node->Text;
m = m.SubString(2,m.AnsiPos(")")-2);
comServer->LocateByKey(m);
GetDataFromComObject();
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmCd::muEditDetailClick(TObject *Sender)
{
if(tvCd->Selected==NULL||tvCd->Selected->StateIndex==0 )
{
::MessageBox(Handle,"该节点是分类节点,不能初始化.","操作错误",MB_OK|MB_ICONSTOP);
return;
}
if(tvCd->Selected->StateIndex==1 )
{
::MessageBox(Handle,"该物料已初始化.","操作错误",MB_OK|MB_ICONSTOP);
return;
}
TRecBaseForm::muEditDetailClick(Sender);
scCdChk->Checked=true;
}
//---------------------------------------------------------------------------
void __fastcall TfrmCd::TreeViewLocation()
{
AnsiString s,m;
s = GetFieldValue("CdGoods");
for(int i = 1 ; i < tvCd->Items->Count ; i ++)
{
m = tvCd->Items->Item[i]->Text;
m = m.SubString(2,m.AnsiPos(")")-2);
if(m == s)
{
tvCd->Selected = tvCd->Items->Item[i];
break;
}
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmCd::muFirstClick(TObject *Sender)
{
TRecBaseForm::muFirstClick(Sender);
TreeViewLocation();
}
//---------------------------------------------------------------------------
void __fastcall TfrmCd::muPreviousClick(TObject *Sender)
{
TRecBaseForm::muPreviousClick(Sender);
TreeViewLocation();
}
//---------------------------------------------------------------------------
void __fastcall TfrmCd::muNextClick(TObject *Sender)
{
TRecBaseForm::muNextClick(Sender);
TreeViewLocation();
}
//---------------------------------------------------------------------------
void __fastcall TfrmCd::muLastClick(TObject *Sender)
{
TRecBaseForm::muLastClick(Sender);
TreeViewLocation();
}
//---------------------------------------------------------------------------
void __fastcall TfrmCd::seCdBopAmtKeyUp(TObject *Sender, WORD &Key,
TShiftState Shift)
{
double TemQty,TempPrice;
AnsiString l_BopPrice;
TemQty=seCdBopQty->Text.ToDouble();
if(TemQty==0)
TemQty=1;
if(seCdBopAmt->Text.IsEmpty())
TempPrice=0;
else
TempPrice=seCdBopAmt->Text.ToDouble();
l_BopPrice=DataCarry(TempPrice/TemQty,2,0);
seCdBopPrice->Text=AnsiString(l_BopPrice);
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?