📄 mcd.cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Mcd.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "RecBaseForm"
#pragma link "DateEdit"
#pragma link "fpanel"
#pragma link "SDComboBox"
#pragma link "SDEdit"
#pragma link "SDGrid"
#pragma resource "*.dfm"
TfrmMcd *frmMcd;
//---------------------------------------------------------------------------
__fastcall TfrmMcd::TfrmMcd(TComponent* Owner)
: TRecBaseForm(Owner,euSdMcd,"")
{
}
//---------------------------------------------------------------------------
void __fastcall TfrmMcd::InitEditControl()
{
FillComboBox(scMcdGoods,"SELECT GoodsCode FROM sdGoods","GoodsCode");
FillComboBox(scMcdFmonth,"SELECT Fcmonth FROM sdFc","Fcmonth");
}
//---------------------------------------------------------------------------
AnsiString __fastcall TfrmMcd::GetFieldValue(int FieldIndex)
{
WideString S;
S = ReadFieldValue(comServer,FieldIndex);
return(S);
}
//---------------------------------------------------------------------------
void __fastcall TfrmMcd::ClearControl(bool BringToNext)
{
if(!BringToNext)
{
scMcdGoods->Text ="";
seMcdBopCost->Text="";
seMcdFopCost->Text="";
seMcdBopDiff->Text="";
seMcdIopCost->Text="";
seMcdIopDiff->Text="";
seMcdSopCost->Text="";
seMcdSopDiff->Text="";
seMcdRdc->Text ="";
seMcdIoyDiff->Text="";
seMcdIoyCost->Text="";
seMcdSoyCost->Text="";
seMcdSoyDiff->Text="";
seMcdFopDiff->Text="";
seMcdNopDiff->Text="";
seMcdNopCost->Text="";
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmMcd::GetDataFromComObject()
{
scMcdGoods->Text =GetFieldValue(fiMcdGoods);
seMcdBopCost->Text=GetFieldValue(fiMcdBopCost);
seMcdFopCost->Text=GetFieldValue(fiMcdFopCost);
seMcdBopDiff->Text=GetFieldValue(fiMcdBopDiff);
seMcdIopCost->Text=GetFieldValue(fiMcdIopCost);
seMcdIopDiff->Text=GetFieldValue(fiMcdIopDiff);
seMcdSopCost->Text=GetFieldValue(fiMcdSopCost);
seMcdSopDiff->Text=GetFieldValue(fiMcdSopDiff);
seMcdRdc->Text =GetFieldValue(fiMcdRdc);
seMcdIoyDiff->Text=GetFieldValue(fiMcdIoyDiff);
seMcdIoyCost->Text=GetFieldValue(fiMcdIoyCost);
seMcdSoyCost->Text=GetFieldValue(fiMcdSoyCost);
seMcdSoyDiff->Text=GetFieldValue(fiMcdSoyDiff);
seMcdFopDiff->Text=GetFieldValue(fiMcdFopDiff);
seMcdNopDiff->Text=GetFieldValue(fiMcdNopDiff);
seMcdNopCost->Text=GetFieldValue(fiMcdNopCost);
}
//---------------------------------------------------------------------------
void __fastcall TfrmMcd::SendDataToComObject()
{
WriteFieldValue(comServer,fiMcdFmonth,scMcdFmonth->Text);
WriteFieldValue(comServer,fiMcdGoods,scMcdGoods->Text);
WriteFieldValue(comServer,fiMcdBopCost,seMcdBopCost->Text);
WriteFieldValue(comServer,fiMcdFopCost,seMcdFopCost->Text);
WriteFieldValue(comServer,fiMcdBopDiff,seMcdBopDiff->Text);
WriteFieldValue(comServer,fiMcdIopCost,seMcdIopCost->Text);
WriteFieldValue(comServer,fiMcdIopDiff,seMcdIopDiff->Text);
WriteFieldValue(comServer,fiMcdSopCost,seMcdSopCost->Text);
WriteFieldValue(comServer,fiMcdSopDiff,seMcdSopDiff->Text);
WriteFieldValue(comServer,fiMcdRdc,seMcdRdc->Text);
WriteFieldValue(comServer,fiMcdIoyDiff,seMcdIoyDiff->Text);
WriteFieldValue(comServer,fiMcdIoyCost,seMcdIoyCost->Text);
WriteFieldValue(comServer,fiMcdSoyCost,seMcdSoyCost->Text);
WriteFieldValue(comServer,fiMcdSoyDiff,seMcdSoyDiff->Text);
WriteFieldValue(comServer,fiMcdFopDiff,seMcdFopDiff->Text);
WriteFieldValue(comServer,fiMcdNopDiff,seMcdNopDiff->Text);
WriteFieldValue(comServer,fiMcdNopCost,seMcdNopCost->Text);
}
//---------------------------------------------------------------------------
void __fastcall TfrmMcd::WaitUserInput()
{
}
//---------------------------------------------------------------------------
AnsiString __fastcall TfrmMcd::GetDataToGrid()
{
scMcdGoods->LocateKey(GetFieldValue(fiMcdGoods));
AnsiString s;
s = "\t" +scMcdGoods->Text +
"\t" + GetFieldValue(fiMcdRdc);
return(s);
}
//---------------------------------------------------------------------------
void __fastcall TfrmMcd::RefreshGridData(int mAction)
{
AnsiString ItemStr;
ItemStr = GetDataToGrid();
// 新增
if (mAction == 0)
{
sgMcd->AddItem(ItemStr);
}
// 修改
else if(mAction == 1)
{
int i = sgMcd->Row;
sgMcd->RemoveItem(i);
sgMcd->AddItem(ItemStr,i);
}
// 删除 0
else if(mAction == 2)
{
sgMcd->RemoveItem(sgMcd->Row);
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmMcd::FillGridWithData()
{
AnsiString ItemStr;
comServer->MoveFirst();
sgMcd->RowCount = 1;
while(comServer->Eof == 0)
{
ItemStr=GetDataToGrid();
sgMcd->AddItem(ItemStr);
comServer->MoveNext();
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmMcd::scMcdFmonthClick(TObject *Sender)
{
AnsiString s;
s = scMcdFmonth->Text;
if(s.IsEmpty())
return;
if(LastFomnth==s)
return;
LastFomnth=s;
if(scMcdFmonth->ItemIndex==-1)
{
MessageDlg("财务月份不存在",mtWarning,TMsgDlgButtons()<<mbOK,0);
scMcdFmonth->LocateKey(LastFomnth);
}
else
{
s = " McdFmonth = '" + s + "'";
comServer->FilterString = s;
comServer->Query();
FillGridWithData();
comServer->MoveFirst();
GetDataFromComObject();
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmMcd::sgMcdSelectCell(TObject *Sender, int ACol,
int ARow, bool &CanSelect)
{
if (ARow > 0)
comServer->LocateByKey(scMcdFmonth->Text+sgMcd->TextMatrix[ARow][1]);
if (!comServer->Eof)
GetDataFromComObject();
}
//---------------------------------------------------------------------------
void __fastcall TfrmMcd::FormShow(TObject *Sender)
{
FillGridWithData();
comServer->MoveFirst();
GetDataFromComObject();
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -