?? wn.cpp
字號:
//---------------------------------------------------------------------------
#include <vcl.h>
#include "Wn.h"
#include "func.h"
//---------------------------------------------------------------------------
#pragma hdrstop
#pragma package(smart_init)
#pragma link "RecBaseForm"
#pragma link "fpanel"
#pragma link "SDGrid"
#pragma link "SDComboBox"
#pragma link "SDEdit"
#pragma link "DateEdit"
#pragma resource "*.dfm"
TfrmWn *frmWn;
//---------------------------------------------------------------------------
__fastcall TfrmWn::TfrmWn(TComponent* Owner)
: TRecBaseForm(Owner,euSdWn,"")
{
}
//---------------------------------------------------------------------------
__fastcall TfrmWn::TfrmWn(TComponent* Owner,AnsiString FWoCode,int FWoCheck,int FWoCancel)
: TRecBaseForm(Owner,euSdWn,"WnWo='"+FWoCode+"'")
{
FWnWoCode=FWoCode;
FWnWoCheck=FWoCheck;
FWnWoCancel=FWoCancel;
SetCheckToolbarStatus(FWnWoCheck);
}
//---------------------------------------------------------------------------
void __fastcall TfrmWn::GenrateDoc()
{
AnsiString FParam;
int FErrNum;
if(comServer->RecordCount>0)
{
if(Application->MessageBox("是否重新生成工票?",NULL,MB_YESNO)==IDYES)
{
try
{
StartWaitForm("正在生成工票,請稍候...");
FParam=FWnWoCode;
comServer->Execute(FParam);
FillGridWithData();
}
__finally
{
EndWaitForm();
}
}
}
else
{
FParam=FWnWoCode;
try
{
StartWaitForm("正在生成工票,請稍候...");
comServer->Execute(FParam);
FillGridWithData();
}
__finally
{
EndWaitForm();
}
}
}
//---------------------------------------------------------------------------
AnsiString __fastcall TfrmWn::GetDataToGrid()
{
AnsiString m_ItemStr;
m_ItemStr = GetFieldValue(fiWnCode)+
"\t" +GetFieldValue(fiWnRsDate)+
"\t" +GetFieldValue(fiWnPQty)+
"\t" +GetFieldValue(fiWnPwt);
return(m_ItemStr);
}
//---------------------------------------------------------------------------
AnsiString __fastcall TfrmWn::GetFieldValue(int FieldIndex)
{
return ReadFieldValue(comServer,FieldIndex);
}
//---------------------------------------------------------------------------
void __fastcall TfrmWn::SetFieldValue(int FieldIndex,AnsiString Value)
{
WriteFieldValue(comServer,FieldIndex,Value);
}
//---------------------------------------------------------------------------
void __fastcall TfrmWn::InitEditControl()
{
ClientGroup->AddComponent(2,false,true,true, pgWn,pgWn->Name);
ClientGroup->AddComponent(2,true,true,false, sgWn,sgWn->Name);
ClientGroup->AddComponent(2,true,false,true, deWnPsDate,deWnPsDate->Name);
ClientGroup->AddComponent(2,true,false,true, deWnPeDate,deWnPeDate->Name);
ClientGroup->AddComponent(2,true,false,true, deWnRsDate,deWnRsDate->Name);
ClientGroup->AddComponent(2,true,false,true, deWnReDate,deWnReDate->Name);
ClientGroup->AddComponent(2,true,false,true, memWnDesc,memWnDesc->Name);
ClientGroup->AddComponent(2,true,false,true, seWnPwt,seWnPwt->Name);
ClientGroup->AddComponent(2,true,false,true, seWnPer,seWnPer->Name);
ClientGroup->AddComponent(2,true,false,true, seWnPeor,seWnPeor->Name);
ClientGroup->AddComponent(2,true,false,true, seWnPrate,seWnPrate->Name);
FillComboBox(scWnProcess,"Select ProcessCode,ProcessName FROM sdProcess order by ProcessCode",
"ProcessName","ProcessCode");
FillComboBox(scWnUnit,"Select UnitCode,UnitName FROM sdUnit order by UnitCode","UnitName","UnitCode");
FillComboBox(scWnLoc,"Select LocCode,LocName FROM sdLoc order by LocCode","LocName","LocCode");
FillComboBox(scWnBatch,"Select BatchCode,BatchDesc FROM sdBatch order by BatchCode","BatchDesc","BatchCode");
}
//---------------------------------------------------------------------------
void __fastcall TfrmWn::ClearControl(bool BringToNext)
{
if (!BringToNext)
{
seWnCode->Text="";
seWnWo->Text="";
deWnDate->Text=g_sdCurDate;
cbWnChkFlg->Checked=false;
cbWnWxFlg->Checked=false;
scWnProcess->ItemIndex=-1;
seWnGoods->Text="";
seWnGoodsName->Text="";
scWnUnit->ItemIndex=-1;
seWnPQty->Text="0.00";
seWnPwt->Text="0.00";
scWnLoc->ItemIndex=-1;
scWnBatch->ItemIndex=-1;
deWnPsDate->Text="";
deWnPeDate->Text="";
deWnRsDate->Text="";
deWnReDate->Text="";
seWnPer->Text="0.00";
seWnPrate->Text="0.00";
seWnPeor->Text="0.00";
seWnWxAmt->Text="0.00";
seWnFwt->Text="0.00";
seWnRwt->Text="0.00";
seWnDwt->Text="0.00";
seWnWwt->Text="0.00";
seWnSwt->Text="0.00";
seWnOwt->Text="0.00";
seWnCQty->Text="0";
seWnEQty->Text="0";
seWnWQty->Text="0";
seWnRQty->Text="0";
seWnSQty->Text="0";
chkWnFshFlg->Checked=false;
deWnFshDate->Text="";
memWnDesc->Text="";
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmWn::GetDataFromComObject()
{
seWnCode->Text=GetFieldValue(fiWnCode);
sgWn->LocateGrid(0,GetFieldValue(fiWnCode));
seWnWo->Text=GetFieldValue(fiWnWo);
deWnDate->Text=GetFieldValue(fiWnDate);
cbWnChkFlg->Checked=GetFieldValue(fiWnChkFlg)=="1";
cbWnWxFlg->Checked=GetFieldValue(fiWnWxFlg)=="1";
scWnProcess->LocateKey(GetFieldValue(fiWnProcess));
seWnGoods->Text=GetFieldValue(fiWnGoods);
if(g_sdRsGoods->LocateByKey(WideString(GetFieldValue(fiWnGoods)))==0)
seWnGoodsName->Text=GetGoodsValue("GoodsName");
else
seWnGoodsName->Text="";
scWnUnit->LocateKey(GetFieldValue(fiWnUnit));
seWnPQty->Text=GetFieldValue(fiWnPQty);
seWnPwt->Text=GetFieldValue(fiWnPwt);
scWnLoc->LocateKey(GetFieldValue(fiWnLoc));
scWnBatch->LocateKey(GetFieldValue(fiWnBatch));
deWnPsDate->Text=GetFieldValue(fiWnPsDate);
deWnPeDate->Text=GetFieldValue(fiWnPeDate);
deWnRsDate->Text=GetFieldValue(fiWnRsDate);
deWnReDate->Text=GetFieldValue(fiWnReDate);
seWnPer->Text=GetFieldValue(fiWnPer);
seWnPrate->Text=GetFieldValue(fiWnPrate);
seWnPeor->Text=GetFieldValue(fiWnPeor);
seWnWxAmt->Text=GetFieldValue(fiWnWxAmt);
seWnFwt->Text=GetFieldValue(fiWnFwt);
seWnRwt->Text=GetFieldValue(fiWnRwt);
seWnDwt->Text=GetFieldValue(fiWnDwt);
seWnWwt->Text=GetFieldValue(fiWnWwt);
seWnSwt->Text=GetFieldValue(fiWnSwt);
seWnOwt->Text=GetFieldValue(fiWnOwt);
seWnCQty->Text=GetFieldValue(fiWnCQty);
seWnEQty->Text=GetFieldValue(fiWnEQty);
seWnWQty->Text=GetFieldValue(fiWnWQty);
seWnRQty->Text=GetFieldValue(fiWnRQty);
seWnSQty->Text=GetFieldValue(fiWnSQty);
chkWnFshFlg->Checked=GetFieldValue(fiWnFshFlg)=="1";
deWnFshDate->Text=GetFieldValue(fiWnFshDate);
if(chkWnFshFlg->Checked)
SetCloseToolbarStatus(true);
else
SetCloseToolbarStatus(false);
memWnDesc->Text=GetFieldValue(fiWnDesc);
SetCheckToolbarStatus(FWnWoCheck);
}
//---------------------------------------------------------------------------
void __fastcall TfrmWn::SendDataToComObject()
{
SetFieldValue(fiWnDesc,memWnDesc->Text);
SetFieldValue(fiWnPsDate,deWnPsDate->Text);
SetFieldValue(fiWnPeDate,deWnPeDate->Text);
SetFieldValue(fiWnRsDate,deWnRsDate->Text);
SetFieldValue(fiWnReDate,deWnReDate->Text);
SetFieldValue(fiWnPwt,seWnPwt->Text);
SetFieldValue(fiWnPer,seWnPer->Text);
SetFieldValue(fiWnPeor,seWnPeor->Text);
SetFieldValue(fiWnPrate,seWnPrate->Text);
}
//---------------------------------------------------------------------------
void __fastcall TfrmWn::WaitUserInput()
{
pgWn->ActivePage=tsWnBase;
if(deWnRsDate->Enabled)
deWnRsDate->SetFocus();
}
//---------------------------------------------------------------------------
void __fastcall TfrmWn::RefreshGridData(int mAction)
{
int i;
AnsiString m_ItemStr;
m_ItemStr=GetDataToGrid();
switch(mAction)
{
case 0: //Add
sgWn->AddItem(m_ItemStr);
sgWn->Row=sgWn->RowCount-1;
break;
case 1: //Edit
i = sgWn->Row;
sgWn->ChangeItem(m_ItemStr,i);
break;
case 2: //Del
sgWn->RemoveItem(sgWn->Row);
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmWn::FillGridWithData()
{
AnsiString m_ItemStr;
comServer->MoveFirst();
sgWn->RowCount=1;
while(comServer->Eof == 0)
{
m_ItemStr =GetDataToGrid();
sgWn->AddItem(m_ItemStr);
comServer->MoveNext();
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmWn::FormShow(TObject *Sender)
{
if(comServer->RecordCount>0){
FillGridWithData();
comServer->MoveFirst();
GetDataFromComObject();
}
else{
ClearControl(false);
sgWn->RowCount=1;
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmWn::FormClose(TObject *Sender, TCloseAction &Action)
{
SetInifileValue(this->Name,"AutoQuery","1",ExtractFileDir(Application->ExeName)+"\\sdFormSet.dat");
TRecBaseForm::FormClose(Sender,Action);
}
//---------------------------------------------------------------------------
void __fastcall TfrmWn::sgWnClick(TObject *Sender)
{
int ARow=sgWn->Row;
if(ARow > 0)
comServer->LocateByKey(WideString(sgWn->TextMatrix[ARow][0]));
if(!comServer->Eof)
GetDataFromComObject();
}
//---------------------------------------------------------------------------
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -