cashier.cpp

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

CPP
193
字号
//---------------------------------------------------------------------------
#include <vcl.h>
#include "Cashier.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"

TfrmCashier *frmCashier;
//---------------------------------------------------------------------------
__fastcall TfrmCashier::TfrmCashier(TComponent* Owner, HWND chWnd, AnsiString MidCode,AnsiString WhereStr)
        : TRecBaseForm(Owner,chWnd,MidCode,WhereStr)
{
}
//---------------------------------------------------------------------------
void __fastcall TfrmCashier::ClearControl(bool BringToNext)
{
   if(!BringToNext)
   {
      seCashierCode->Text      =  "";
      seCashierName->Text      =  "";
      seCashierTel->Text       =  "";
      seCashierBeepPage->Text  =  "";
      cbCashierCheck->Checked  =  false;
      cbCashierPost->Checked   =  false;
      cbCashierCancel->Checked =  false;
      cbCashierClose->Checked  =  false;
   }
}
//---------------------------------------------------------------------------
void __fastcall TfrmCashier::GetDataFromComObject()
{
    seCashierCode->LocateKey(GetFieldValue("CashierCode"));
    seCashierCode->Text=seCashierCode->ItemData[1];
    seCashierName->Text=seCashierCode->ItemData[0];
    sgCashier->LocateGrid(0,GetFieldValue("CashierCode"));
    seCashierTel->Text      =  GetFieldValue("CashierTel");
    seCashierBeepPage->Text =  GetFieldValue("CashierBeepPage");
    cbCashierCheck->Checked =  GetFieldValue("CashierCheck") == "1" ? true:false;
    cbCashierCancel->Checked=  GetFieldValue("CashierCancel")== "1" ? true:false;
    cbCashierClose->Checked =  GetFieldValue("CashierClose") == "1" ? true:false;
    cbCashierPost->Checked  =  GetFieldValue("CashierPost")  == "1" ? true:false;
}
//---------------------------------------------------------------------------
void __fastcall TfrmCashier::SendDataToComObject()
{
    SetFieldValue("CashierCode",seCashierCode->ItemData[1]);
    SetFieldValue("CashierTel",seCashierTel->Text);
    SetFieldValue("CashierBeepPage",seCashierBeepPage->Text);
    SetFieldValue("CashierCheck",(cbCashierCheck->Checked?"1":"0"));
    SetFieldValue("CashierCancel",(cbCashierCancel->Checked?"1":"0"));
    SetFieldValue("CashierClose",(cbCashierClose->Checked?"1":"0"));
    SetFieldValue("CashierPost",(cbCashierPost->Checked?"1":"0"));
}
//---------------------------------------------------------------------------
void __fastcall TfrmCashier::WaitUserInput()
{
   if(seCashierCode->Enabled)
     seCashierCode->SetFocus();
}
//---------------------------------------------------------------------------
AnsiString __fastcall TfrmCashier::GetDataToGrid()
{
    AnsiString  ItemStr;
    ItemStr =GetFieldValue("CashierCode")+
       "\t" +(GetFieldValue("CashierCheck") == "1" ? "√":"")+
       "\t" +(GetFieldValue("CashierPost") == "1" ? "√":"")+
       "\t" +(GetFieldValue("CashierCancel")== "1" ? "√":"")+
       "\t" +(GetFieldValue("CashierClose")== "1" ? "√":"");
   return(ItemStr);
}
//---------------------------------------------------------------------------
void __fastcall TfrmCashier::RefreshGridData(int mAction)
{
   AnsiString ItemStr;
   ItemStr=GetDataToGrid();
   if(mAction==0)
     sgCashier->AddItem(ItemStr);
   else if(mAction==1)
   {
     int i = sgCashier->Row;
     sgCashier->ChangeItem(ItemStr,i);
   }
   else if(mAction==2)
   {
     sgCashier->RemoveItem(sgCashier->Row);
   }
}
//---------------------------------------------------------------------------
void __fastcall TfrmCashier::FillGridWithData()
{
   AnsiString ItemStr;
   comServer->MoveFirst();
   sgCashier->RowCount = 1;
   while (comServer->Eof == 0)
   {
      ItemStr = GetDataToGrid();
      sgCashier->AddItem(ItemStr);
      comServer->MoveNext();
   }
}
//---------------------------------------------------------------------------
void __fastcall TfrmCashier::InitEditControl()
{
   ClientGroup->AddComponent(2,true,true,false, sgCashier,sgCashier->Name);
   ClientGroup->AddComponent(2,false,false,true, FloatPanel1,FloatPanel1->Name);
   ClientGroup->AddComponent(2,false,true,true, seCashierCode,seCashierCode->Name);
   FillEdit(Handle,seCashierCode,"select UserCode,UserName from sdUser order by UserCode",
            "UserName","UserCode");
}
//---------------------------------------------------------------------------
void __fastcall TfrmCashier::FormShow(TObject *Sender)
{
    FillGridWithData();
    comServer->MoveFirst();
    GetDataFromComObject();
}
//---------------------------------------------------------------------------
void __fastcall TfrmCashier::sgCashierClick(TObject *Sender)
{
    int ARow=sgCashier->Row;
    if(ARow > 0)
       comServer->LocateByKey(sgCashier->TextMatrix[ARow][0]);
    if(!comServer->Eof)
       GetDataFromComObject();
}
//---------------------------------------------------------------------------
void __fastcall TfrmCashier::RefreshUpdateData(int MsgSrc,int MsgType)
{
/*
    switch(MsgSrc)
    {
      case euSdUser:
       if(ShowUpdateMessage(MsgSrc,MsgType))
         FillEdit(Handle,seCashierCode,"select UserCode,UserName from  sdUser order by UserCode",
               "UserName","UserCode");
         break;
      default:
         break;
    }
*/
}
//---------------------------------------------------------------------------
void __fastcall TfrmCashier::seCashierCodeButtonClick(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)
    {
      seCashierCode->LocateKey(p->ColData[1]);
      seCashierName->Text=p->ColData[2];
    }
    delete p;
}
//---------------------------------------------------------------------------
void __fastcall TfrmCashier::seCashierCodeKeyDown(TObject *Sender,
      WORD &Key, TShiftState Shift)
{
    AnsiString tempS;
    tempS=Trim(seCashierCode->Text);
    if(tempS.IsEmpty())
      return;
    if(Key==13 && CurrentState!=caNormal)
    {
       if(seCashierCode->LocateKey(tempS))
          seCashierName->Text=seCashierCode->ItemData[0];
       else
          throw Exception("操作员代码:'"+tempS+"'不存在");
    }
}
//---------------------------------------------------------------------------

void __fastcall TfrmCashier::tbQueryClick(TObject *Sender)
{
  TRecBaseForm::tbQueryClick(Sender);
}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

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