📄 mprocess.cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#include "Mprocess.h"
//---------------------------------------------------------------------------
#pragma hdrstop
#pragma package(smart_init)
#pragma link "fpanel"
#pragma link "RecBaseForm"
#pragma link "SDGrid"
#pragma link "DateEdit"
#pragma link "SDComboBox"
#pragma link "SDEdit"
#pragma resource "*.dfm"
TfrmMprocess *frmMprocess;
//---------------------------------------------------------------------------
__fastcall TfrmMprocess::TfrmMprocess(TComponent* Owner, HWND chWnd, AnsiString MidCode,AnsiString WhereStr)
: TRecBaseForm(Owner,chWnd,MidCode,WhereStr)
{
}
//---------------------------------------------------------------------------
void __fastcall TfrmMprocess::InitEditControl()
{
PageControl1->ActivePage=BaseInfo;
//
ClientGroup->AddComponent(2,false,false,true,PageControl1,PageControl1->Name);
ClientGroup->AddComponent(2,true,true,false,sgProcess,sgProcess->Name);
ClientGroup->AddComponent(2,true,true,true,seProcessWxAmt,seProcessWxAmt->Name);
//
FillComboBox(Handle,scProcessWc,"Select WcCode,WcName FROM sdWc order by WcCode","WcName","WcCode");
FillComboBox(Handle,scProcessLoc,"Select LocCode,LocName FROM sdLoc where LocType=2 order by LocCode","LocName","LocCode");
}
//---------------------------------------------------------------------------
void __fastcall TfrmMprocess::RefreshUpdateData(int MsgSrc,int MsgType)
{
/*
try
{
AnsiString KeyCode;
switch(MsgSrc)
{
case euSdWc:
if(ShowUpdateMessage(MsgSrc,MsgType)){
StartWaitForm("正在刷新引用数据!");
KeyCode=scProcessWc->ItemData[1];
FillComboBox(Handle,scProcessWc,"Select WcCode,WcName FROM sdWc order by WcCode","WcName","WcCode");
scProcessWc->LocateKey(KeyCode);
EndWaitForm();
break;
}
case euSdLoc:
if(ShowUpdateMessage(MsgSrc,MsgType)){
StartWaitForm("正在刷新引用数据!");
KeyCode=scProcessLoc->ItemData[1];
FillComboBox(Handle,scProcessLoc,"Select LocCode,LocName FROM sdLoc where LocType=2 order by LocCode","LocName","LocCode");
scProcessLoc->LocateKey(KeyCode);
EndWaitForm();
break;
}
default:
break;
}
}
catch(Exception &e)
{
throw Exception(e.Message);
}
*/
}
//---------------------------------------------------------------------------
void __fastcall TfrmMprocess::ClearControl(bool BringToNext)
{
if(!BringToNext)
{
seProcessCode->Text="";
seProcessName->Text="";
cheChkFlg->Checked=false;
cheWxFlg->Checked=false;
scProcessWc->Text="";
scProcessLoc->Text="";
deProcessEdate->Text=g_sdCurDate;
deProcessIdate->Text="";
scProcessState->ItemIndex=0;
scProcessType->ItemIndex=0;
seProcessWxAmt->Text="0";
memProcessDesc->Text="";
seProcessQlt->Text="0";
seProcessSlt->Text="0";
seProcessRlt->Text="0";
seProcessWlt->Text="0";
seProcessMlt->Text="0";
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmMprocess::GetDataFromComObject()
{
seProcessCode->Text=GetFieldValue("ProcessCode");
//MoveFirst,MovePrority,MoveNext,MoveLast
sgProcess->LocateGrid(0,GetFieldValue("ProcessCode"));
seProcessName->Text=GetFieldValue("ProcessName");
cheChkFlg->Checked=GetFieldValue("ProcessChkFlg")=="1";
cheWxFlg->Checked=GetFieldValue("ProcessWxFlg")=="1";
scProcessWc->LocateKey(GetFieldValue("ProcessWc"));
scProcessLoc->LocateKey(GetFieldValue("ProcessLoc"));
deProcessEdate->Text=GetFieldValue("ProcessEdate");
deProcessIdate->Text=GetFieldValue("ProcessIdate");
scProcessState->ItemIndex=StrToInt(AnsiString(GetFieldValue("ProcessState")))-1;
scProcessType->ItemIndex=StrToInt(AnsiString(GetFieldValue("ProcessType")))-1;
seProcessWxAmt->Text=GetFieldValue("ProcessWxAmt");
memProcessDesc->Text=GetFieldValue("ProcessDesc");
seProcessQlt->Text=GetFieldValue("ProcessQlt");
seProcessSlt->Text=GetFieldValue("ProcessSlt");
seProcessRlt->Text=GetFieldValue("ProcessRlt");
seProcessWlt->Text=GetFieldValue("ProcessWlt");
seProcessMlt->Text=GetFieldValue("ProcessMlt");
}
//---------------------------------------------------------------------------
void __fastcall TfrmMprocess::SendDataToComObject()
{
SetFieldValue("ProcessCode",seProcessCode->Text);
SetFieldValue("ProcessName",seProcessName->Text);
SetFieldValue("ProcessChkFlg",cheChkFlg->Checked ? "1":"0");
SetFieldValue("ProcessWxFlg",cheWxFlg->Checked ? "1":"0");
SetFieldValue("ProcessWc",scProcessWc->ItemData[cbItem2]);
SetFieldValue("ProcessLoc",scProcessLoc->ItemData[cbItem2]);
SetFieldValue("ProcessEdate",deProcessEdate->Text);
SetFieldValue("ProcessIdate",deProcessIdate->Text);
SetFieldValue("ProcessState",IntToStr(scProcessState->ItemIndex+1));
SetFieldValue("ProcessType",IntToStr(scProcessType->ItemIndex+1));
SetFieldValue("ProcessWxAmt",seProcessWxAmt->Text);
SetFieldValue("ProcessUser",g_sdUserCode);
SetFieldValue("ProcessDesc",memProcessDesc->Text);
SetFieldValue("ProcessSpec","");
SetFieldValue("ProcessQlt",seProcessQlt->Text);
SetFieldValue("ProcessSlt",seProcessSlt->Text);
SetFieldValue("ProcessRlt",seProcessRlt->Text);
SetFieldValue("ProcessWlt",seProcessWlt->Text);
SetFieldValue("ProcessMlt",seProcessMlt->Text);
}
//---------------------------------------------------------------------------
void __fastcall TfrmMprocess::WaitUserInput()
{
PageControl1->ActivePage=BaseInfo;
if(seProcessCode->Enabled)
seProcessCode->SetFocus();
if(cheWxFlg->Checked)
seProcessWxAmt->Enabled=true;
else
seProcessWxAmt->Enabled=false;
}
//---------------------------------------------------------------------------
void __fastcall TfrmMprocess::RefreshGridData(int mAction)
{
int i;
AnsiString m_ItemStr;
m_ItemStr=GetDataToGrid();
switch(mAction)
{
case 0: //Add
sgProcess->AddItem(m_ItemStr);
sgProcess->Row=sgProcess->RowCount-1;
break;
case 1: //Edit
sgProcess->ChangeItem(m_ItemStr,sgProcess->Row);
break;
case 2: //Del
sgProcess->RemoveItem(sgProcess->Row);
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmMprocess::FillGridWithData()
{
AnsiString m_ItemStr;
comServer->MoveFirst();
sgProcess->RowCount = 1;
while(comServer->Eof == 0)
{
m_ItemStr =GetDataToGrid();
sgProcess->AddItem(m_ItemStr);
comServer->MoveNext();
}
}
//---------------------------------------------------------------------------
AnsiString __fastcall TfrmMprocess::GetDataToGrid()
{
AnsiString tempS;
tempS = GetFieldValue("ProcessCode")+
"\t" +GetFieldValue("ProcessName")+
"\t" +GetFieldValue("ProcessRlt");
return(tempS);
}
//---------------------------------------------------------------------------
void __fastcall TfrmMprocess::FormShow(TObject *Sender)
{
if(comServer->RecordCount>0)
{
FillGridWithData();
comServer->MoveFirst();
GetDataFromComObject();
}
else
{
ClearControl(false);
sgProcess->RowCount=1;
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmMprocess::FormClose(TObject *Sender,
TCloseAction &Action)
{
TRecBaseForm::FormClose(Sender,Action);
}
//---------------------------------------------------------------------------
void __fastcall TfrmMprocess::sgProcessClick(TObject *Sender)
{
int ARow;
ARow=sgProcess->Row;
if (ARow > 0)
comServer->LocateByKey(sgProcess->TextMatrix[ARow][0]);
if (!comServer->Eof)
GetDataFromComObject();
}
//---------------------------------------------------------------------------
void __fastcall TfrmMprocess::cheWxFlgClick(TObject *Sender)
{
if(CurrentState==caNormal)
return;
if(cheWxFlg->Checked)
seProcessWxAmt->Enabled=true;
else
seProcessWxAmt->Enabled=false;
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -