qcm.cpp

来自「一个以前收集的基于C/S架构的ERP客户端源代码」· C++ 代码 · 共 170 行

CPP
170
字号
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop

#include "Qcm.h"
#include "WnQuery.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "RecBaseForm"
#pragma link "fpanel"
#pragma link "SDEdit"
#pragma link "SDGrid"
#pragma link "SDComboBox"
#pragma resource "*.dfm"
TfrmQcm *frmQcm;
//---------------------------------------------------------------------------
__fastcall TfrmQcm::TfrmQcm(TComponent* Owner, HWND chWnd, AnsiString MidCode,AnsiString WhereStr)
        : TRecBaseForm(Owner,chWnd,MidCode,WhereStr)
{
}


AnsiString __fastcall TfrmQcm::GetDataToGrid()
{
     AnsiString Str;

     Str = "\t"+this->comServer->FieldValue["QcmCode"]+"\t"+
            this->comServer->FieldValue["QcmTel"]+"\t"+
            this->comServer->FieldValue["QcmBeepPage"];

     return Str;
}

void __fastcall TfrmQcm::ClearControl(bool BringToNext)
{
     if(!BringToNext)
     {
         seQcmCode->Text     = "";
         seQcmTel->Text      = "";
         seQcmBeepPage->Text = "";
     }
}
void __fastcall TfrmQcm::GetDataFromComObject()
{
     seQcmCode->LocateKey(this->comServer->FieldValue["QcmCode"]);
     seQcmTel->Text     = this->comServer->FieldValue["QcmTel"];
     seQcmBeepPage->Text= this->comServer->FieldValue["QcmBeepPage"];
     sgQcm->LocateGrid(1,seQcmCode->ItemData[1]);
}
void __fastcall TfrmQcm::SendDataToComObject()
{
     this->comServer->FieldValue["QcmCode"] = seQcmCode->ItemData[1];
     this->comServer->FieldValue["QcmTel"] = seQcmTel->Text;
     this->comServer->FieldValue["QcmBeepPage"] = seQcmBeepPage->Text;
}
void __fastcall TfrmQcm::WaitUserInput()
{
     switch(CurrentState)
     {
        case caAddHead:
        case caAddDetail:
           seQcmCode->SetFocus();
           break;
        case caEditHead:
        case caEditDetail:
           seQcmTel->SetFocus();
           break;
        default:
           break;
     }
}

void __fastcall TfrmQcm::RefreshGridData(int mAction)
{
     AnsiString Str;
     Str = GetDataToGrid();
     if(mAction==0) //--add item
     {
         sgQcm->AddItem(Str);
     }else if(mAction==1) //--modify item
     {
        sgQcm->ChangeItem(Str,sgQcm->Row);
     }else if(mAction==2) //--delete item
     {
         sgQcm->RemoveItem(sgQcm->Row);
     }
     sgQcm->LocateGrid(1,seQcmCode->ItemData[1]);
}

void __fastcall TfrmQcm::FillGridWithData()
{
     sgQcm->RowCount = 1;
     comServer->MoveFirst();
     while(comServer->Eof == 0)
     {
         sgQcm->AddItem(GetDataToGrid());
         comServer->MoveNext();
     }
     comServer->MoveFirst();
     GetDataFromComObject();
}

void __fastcall TfrmQcm::InitEditControl()
{
    ClientGroup->AddComponent(2,true,true,false,
                sgQcm,sgQcm->Name);
    ClientGroup->AddComponent(2,false,true,true,
                seQcmCode,seQcmCode->Name);
    ClientGroup->AddComponent(2,false,false,true,
                seQcmTel,seQcmTel->Name);
    ClientGroup->AddComponent(2,false,false,true,
                seQcmBeepPage,seQcmBeepPage->Name);
    FillEdit(Handle,seQcmCode,"select usermsg=usercode+space(18-len(usercode))+'|'+username,usercode from sduser order by usercode","Usermsg","Usercode");
}
//---------------------------------------------------------------------------

void __fastcall TfrmQcm::sgQcmClick(TObject *Sender)
{
    if (sgQcm->Row    >   0)
         comServer->LocateByKey(WideString(sgQcm->TextMatrix[sgQcm->Row][1]));
    if (!comServer->Eof)
         GetDataFromComObject();
}
//---------------------------------------------------------------------------
void __fastcall TfrmQcm::FormShow(TObject *Sender)
{
    FillGridWithData();
}
//---------------------------------------------------------------------------
void __fastcall TfrmQcm::RefreshUpdateData(int MsgSrc,int MsgType)
{
/*
      switch(MsgSrc)
      {
        case euSdUser:
          if(ShowUpdateMessage(MsgSrc,MsgType))
             FillEdit(Handle,seQcmCode,"select usermsg=usercode+space(18-len(usercode))+'|'+username,usercode from sduser order by usercode","Usermsg","Usercode");
          break;
        default:
          break;
      }
*/}

void __fastcall TfrmQcm::seQcmCodeButtonClick(TObject *Sender)
{
  AnsiString SqlStr;
  SqlStr="004[用户代码][用户名称][说明][部门]";
  SqlStr+="select UserCode,UserName,UserDesc,isnull(DeptName,'') from sdUser";
  SqlStr+=" left outer join sdDept on UserDept=DeptCode";
  SqlStr+=" where UserCode not in (select QcmCode from sdQcm)";
  TfrmWnQuery *p;
  try
  {
    StartWaitForm("正在查询,请稍候...");
    p=new TfrmWnQuery(this, "系统用户查询",SqlStr);
  }
  __finally
  {
    EndWaitForm();
  }
  if(p->ShowModal()==mrOk)
  {
    seQcmCode->LocateKey(p->ColData[1]);
  }
  delete p;
}
//---------------------------------------------------------------------------


⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?