⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mprocess.cpp

📁 科思ERP部分源码及控件
💻 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 + -