purser.cpp

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

CPP
187
字号
//---------------------------------------------------------------------------
#include <vcl.h>
#include "Purser.h"
//---------------------------------------------------------------------------
#pragma hdrstop
#pragma package(smart_init)
#pragma link "fpanel"
#pragma link "RecBaseForm"
#pragma link "SDEdit"
#pragma link "SDGrid"
#pragma link "SDComboBox"
#pragma resource "*.dfm"

TfrmPurser *frmPurser;
//---------------------------------------------------------------------------
__fastcall TfrmPurser::TfrmPurser(TComponent* Owner, HWND chWnd, AnsiString MidCode,AnsiString WhereStr)
        : TRecBaseForm(Owner,chWnd,MidCode,WhereStr)
{
}
//---------------------------------------------------------------------------
void __fastcall TfrmPurser::ClearControl(bool BringToNext)
{
    if(!BringToNext)
    {
      sePurserCode->Text       =   "";
      sePurserName->Text       =   "";
      sePurserTel->Text        =   "";
      sePurserBeepPage->Text   =   "";
      cbPurserCheck->Checked   =   false;
      cbPurserPost->Checked    =   false;
      cbPurserCancel->Checked  =   false;
      cbPurserClose->Checked   =   false;
    }
}
//---------------------------------------------------------------------------
void __fastcall TfrmPurser::GetDataFromComObject()
{
    sePurserCode->LocateKey(GetFieldValue("PurserCode"));
    sePurserCode->Text=sePurserCode->ItemData[1];
    sePurserName->Text=sePurserCode->ItemData[0];
    sgPurser->LocateGrid(0,GetFieldValue("PurserCode"));
    sePurserTel->Text       = GetFieldValue("PurserTel");
    sePurserBeepPage->Text  = GetFieldValue("PurserBeepPage");
    cbPurserCheck->Checked  = (GetFieldValue("PurserCheck") == "1" ? true:false);
    cbPurserCancel->Checked = (GetFieldValue("PurserCancel")== "1" ? true:false);
    cbPurserClose->Checked  = (GetFieldValue("PurserClose") == "1" ? true:false);
    cbPurserPost->Checked   = (GetFieldValue("PurserPost")  == "1" ? true:false);
}
//---------------------------------------------------------------------------
void __fastcall TfrmPurser::SendDataToComObject()
{
    SetFieldValue("PurserCode", sePurserCode->Text);
    SetFieldValue("PurserTel", sePurserTel->Text);
    SetFieldValue("PurserBeepPage", sePurserBeepPage->Text);
    SetFieldValue("PurserCheck",(cbPurserCheck->Checked ? "1":"0"));
    SetFieldValue("PurserCancel",cbPurserCancel->Checked ? "1":"0");
    SetFieldValue("PurserClose", cbPurserClose->Checked ? "1":"0");
    SetFieldValue("PurserPost",cbPurserPost->Checked ? "1":"0");
}
//---------------------------------------------------------------------------
void __fastcall TfrmPurser::WaitUserInput()
{
   if(sePurserCode->Enabled)
     sePurserCode->SetFocus();
}
//---------------------------------------------------------------------------
AnsiString __fastcall TfrmPurser::GetDataToGrid()
{
   AnsiString ItemStr;
   ItemStr= GetFieldValue("PurserCode")+
        "\t"+(GetFieldValue("PurserCheck") == "1" ? "√":"")+
        "\t"+(GetFieldValue("PurserPost") == "1" ? "√":"")+
        "\t"+(GetFieldValue("PurserCancel") == "1" ? "√":"")+
        "\t"+(GetFieldValue("PurserClose") == "1" ? "√":"");
   return(ItemStr);
}
//---------------------------------------------------------------------------
void __fastcall TfrmPurser::RefreshGridData(int mAction)
{
   AnsiString ItemStr;
   ItemStr=GetDataToGrid();
   if(mAction==0)
     sgPurser->AddItem(ItemStr);
   else if(mAction==1)
   {
     int i  =  sgPurser->Row;
     sgPurser->ChangeItem(ItemStr,i);
   }
   else if(mAction==2)
   {
     sgPurser->RemoveItem(sgPurser->Row);
   }
}
//---------------------------------------------------------------------------
void __fastcall TfrmPurser::FillGridWithData()
{
    AnsiString ItemStr;
    comServer->MoveFirst();
    sgPurser->RowCount = 1;
    while (comServer->Eof == 0)
    {
       ItemStr = GetDataToGrid();
       sgPurser->AddItem(ItemStr);
       comServer->MoveNext();
    }
}
//---------------------------------------------------------------------------
void __fastcall TfrmPurser::InitEditControl()
{
     ClientGroup->AddComponent(2,true,true,false, sgPurser,sgPurser->Name);
     ClientGroup->AddComponent(2,false,false,true, FloatPanel1,FloatPanel1->Name);
     ClientGroup->AddComponent(2,false,true,true, sePurserCode,sePurserCode->Name);
     FillEdit(Handle,sePurserCode,"select UserCode,UserName from  sduser order by usercode",
                  "UserName","UserCode");
}
//---------------------------------------------------------------------------
void __fastcall TfrmPurser::FormShow(TObject *Sender)
{
    FillGridWithData();
    comServer->MoveFirst();
    GetDataFromComObject();
}
//---------------------------------------------------------------------------
void __fastcall TfrmPurser::sgPurserClick(TObject *Sender)
{
    int ARow=sgPurser->Row;
    if(ARow > 0)
       comServer->LocateByKey(sgPurser->TextMatrix[ARow][0]);
    if(!comServer->Eof)
       GetDataFromComObject();
}
//---------------------------------------------------------------------------
void __fastcall TfrmPurser::RefreshUpdateData(int MsgSrc,int MsgType)
{
/*
   switch(MsgSrc)
   {
     case euSdUser:
       if(ShowUpdateMessage(MsgSrc,MsgType))
         FillEdit(Handle,sePurserCode,"select UserCode,UserName from  sdUser order by UserCode",
                  "UserName","UserCode");
       break;
     default:
       break;
   }
*/
}
//---------------------------------------------------------------------------
void __fastcall TfrmPurser::sePurserCodeButtonClick(TObject *Sender)
{
    AnsiString SqlStr;
    TfrmWnQuery *p;
    SqlStr="002[用户代码][用户名称]select UserCode, UserName from sdUser  order by UserCode";
    try{
      StartWaitForm("正在查询,请稍候...");
      p=new TfrmWnQuery(this,"用户查询",SqlStr);
    }
    __finally
    {
      EndWaitForm();
    }
    if(p->ShowModal()==mrOk)
    {
      sePurserCode->Text=p->ColData[1];
      sePurserName->Text=p->ColData[2];
    }
    delete p;
}
//---------------------------------------------------------------------------
void __fastcall TfrmPurser::sePurserCodeKeyDown(TObject *Sender, WORD &Key,
      TShiftState Shift)
{
    AnsiString tempS;
    tempS=Trim(sePurserCode->Text);
    if(tempS.IsEmpty())
      return;
    if(Key==13 && CurrentState!=caNormal)
    {
       if(sePurserCode->LocateKey(tempS))
          sePurserName->Text=sePurserCode->ItemData[0];
       else
          throw Exception("操作员代码:'"+tempS+"'不存在");
    }
}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

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