nrrm.cpp
来自「一个以前收集的基于C/S架构的ERP客户端源代码」· C++ 代码 · 共 203 行
CPP
203 行
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Nrrm.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "RecBaseForm"
#pragma link "fpanel"
#pragma link "SDEdit"
#pragma link "SDGrid"
#pragma link "SDComboBox"
#pragma link "DateEdit"
#pragma resource "*.dfm"
TfrmNrrm *frmNrrm;
//---------------------------------------------------------------------------
__fastcall TfrmNrrm::TfrmNrrm(TComponent* Owner, HWND chWnd, AnsiString MidCode,AnsiString WhereStr)
: TRecBaseForm(Owner,chWnd,MidCode,WhereStr)
{
//SetAutoCodeString(seNrrmCode,"Acm-73");
}
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
void __fastcall TfrmNrrm::ClearControl(bool BringToNext)
{
if(!BringToNext)
{
seNrrmCode->Text=""; //票据号码
seNrrmFmonth->Text=g_sdFMonth; //月份
deNrrmDate->Text =g_sdCurDate; //日期
seNrrmAmt->Text ="0.00";
seNrrmInr->Text ="0.00"; //利息
seNrrmExp->Text ="0.00"; //费用
scNrrmExpense->ItemIndex =-1; //费用类型
lblNrrmUser->Caption =g_sdUserCode; //操作员
memNrrmDesc->Text ="";
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmNrrm::InitEditControl()
{
ClientGroup->AddComponent(2,false,false,true, FloatPanel1,FloatPanel1->Name);
ClientGroup->AddComponent(2,true,true,false, sgNrrm,sgNrrm->Name);
ClientGroup->AddComponent(2,false,true,true, seNrrmCode,seNrrmCode->Name);
ClientGroup->AddComponent(2,true,true,true, seNrrmFmonth,seNrrmFmonth->Name);
FillComboBox(Handle,scNrrmExpense,"select ExpenseCode+'-'+ExpenseName Memo,ExpenseCode from sdExpense order by ExpenseCode" ,"Memo","ExpenseCode");
}
//---------------------------------------------------------------------------
void __fastcall TfrmNrrm::GetDataFromComObject()
{
seNrrmCode->Text =GetFieldValue("NrrmCode");
sgNrrm->LocateGrid(1,GetFieldValue("NrrmCode"));
seNrrmFmonth->Text =GetFieldValue("NrrmFmonth");
deNrrmDate->Text =GetFieldValue("NrrmDate");
seNrrmAmt->Text =GetFieldValue("NrrmAmt");
seNrrmInr->Text =GetFieldValue("NrrmInr");
seNrrmExp->Text =GetFieldValue("NrrmExp");
scNrrmExpense->LocateKey(GetFieldValue("NrrmExpense"));
scNrrmExpense->Text = scNrrmExpense->ItemData[0];
lblNrrmUser->Caption = GetFieldValue("NrrmUser");
memNrrmDesc->Text =GetFieldValue("NrrmDesc");
}
//---------------------------------------------------------------------------
void __fastcall TfrmNrrm::SendDataToComObject()
{
SetFieldValue("NrrmCode",seNrrmCode->Text);
SetFieldValue("NrrmFmonth",seNrrmFmonth->Text);
SetFieldValue("NrrmDate",deNrrmDate->Text);
SetFieldValue("NrrmAmt",seNrrmAmt->Text);
SetFieldValue("NrrmInr",seNrrmInr->Text);
SetFieldValue("NrrmExp",seNrrmExp->Text);
SetFieldValue("NrrmExpense",scNrrmExpense->ItemData[1]);
SetFieldValue("NrrmUser",lblNrrmUser->Caption);
SetFieldValue("NrrmDesc",memNrrmDesc->Text);
}
//---------------------------------------------------------------------------
void __fastcall TfrmNrrm::WaitUserInput()
{
if(seNrrmCode->Enabled)
seNrrmCode->SetFocus();
}
//---------------------------------------------------------------------------
AnsiString __fastcall TfrmNrrm::GetDataToGrid()
{
scNrrmExpense->LocateKey(GetFieldValue("NrrmExpense"));
AnsiString s;
s = "\t" + GetFieldValue("NrrmCode") +
"\t" + GetFieldValue("NrrmAmt") +
"\t" + scNrrmExpense->ItemData[0] ;
return s;
}
//---------------------------------------------------------------------------
void __fastcall TfrmNrrm::RefreshGridData(int mAction)
{
AnsiString ItemStr;
ItemStr = GetDataToGrid();
if (mAction == 0) //Add
{
sgNrrm->AddItem(ItemStr);
}
else if(mAction == 1) //Modify
{
int i = sgNrrm->Row;
sgNrrm->ChangeItem(ItemStr,i);
}
else if(mAction == 2) //Delete
{
sgNrrm->RemoveItem(sgNrrm->Row);
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmNrrm::FillGridWithData()
{
AnsiString ItemStr;
comServer->MoveFirst();
sgNrrm->RowCount = 1;
while (comServer->Eof == 0)
{
ItemStr = GetDataToGrid();
sgNrrm->AddItem(ItemStr);
comServer->MoveNext();
}
comServer->MoveFirst();
}
//---------------------------------------------------------------------------
void __fastcall TfrmNrrm::FormShow(TObject *Sender)
{
FillGridWithData();
comServer->MoveFirst();
GetDataFromComObject();
}
//---------------------------------------------------------------------------
void __fastcall TfrmNrrm::sgNrrmClick(TObject *Sender)
{
if (sgNrrm->Row > 0)
comServer->LocateByKey(WideString(sgNrrm->TextMatrix[sgNrrm->Row][1]));
if (comServer->RecordCount>0)
GetDataFromComObject();
}
//---------------------------------------------------------------------------
void __fastcall TfrmNrrm::seNrrmCodeExit(TObject *Sender)
{
if(CurrentState==caNormal)
{
comServer->LocateByKey(WideString(seNrrmCode->Text));
GetDataFromComObject();
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmNrrm::seNrrmCodeButtonClick(TObject *Sender)
{
if(CurrentState!=caNormal)
{
AnsiString SqlStr;
SqlStr="005[票据编号][登记日期][票据金额][客户名称][币种代码]select ArnrCode,ArnrDate,ArnrAmt,ClientName,ArnrCurrency from sdArnr,sdClient ";
SqlStr+=" where ArnrClient=ClientCode and ArnrState=1 and ArnrCheck=1 ";
SqlStr+=" order by ArnrCode ";
TfrmWnQuery *p;
try
{
StartWaitForm("正在查询,请稍候...");
p=new TfrmWnQuery(this,"票据查询",SqlStr);
}
__finally
{
EndWaitForm();
}
if(p->ShowModal()==mrOk)
{
seNrrmCode->Text=p->ColData[1];
seNrrmAmt->Text=p->ColData[3];
}
delete p;
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmNrrm::RefreshUpdateData(int MsgSrc,int MsgType)
{
/*
switch(MsgSrc)
{
case euSdExpense:
if(ShowUpdateMessage(MsgSrc,MsgType))
{
FillComboBox(Handle,scNrrmExpense,"select ExpenseCode+'-'+ExpenseName Memo,ExpenseCode from sdExpense order by ExpenseCode" ,"Memo","ExpenseCode");
}
break;
default:
break;
}
*/
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?