keeper.cpp

来自「科思ERP部分源码及控件」· C++ 代码 · 共 240 行

CPP
240
字号
///////////////////////////////////
//       仓管员资料              //
//          panner   2000/8/15   //
///////////////////////////////////
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop

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




void __fastcall TfrmKeeper::ClearControl(bool BringToNext)
{
   // BringToNext为真时,不清空
   if(BringToNext)
       return;

    scKeeperCode->ItemIndex  =   -1;
    seKeeperTel->Text        =   "";
    seKeeperBeepPage->Text    =   "";
    cbKeeperCheck->Checked   =   false;
    cbKeeperStop->Checked    =   false;
    cbKeeperCancel->Checked  =   false;
    cbKeeperClose->Checked  =   false;
    cbKeeperPost->Checked    =   false;

}


void __fastcall TfrmKeeper::GetDataFromComObject()
{
    scKeeperCode->LocateKey(GetFieldValue("KeeperCode"));
    scKeeperCode->Text=scKeeperCode->ItemData[0];
    sgKeeper->LocateGrid(1,GetFieldValue("KeeperCode"));
    //强制显示,否则在”取消“后不能显示内容
    seKeeperTel->Text        =    GetFieldValue("KeeperTel");
    seKeeperBeepPage->Text    =    GetFieldValue("KeeperBeepPage");
    cbKeeperCheck->Checked   =   (GetFieldValue("KeeperCheck")  ==  "1");
    cbKeeperStop->Checked    =   (GetFieldValue("KeeperStop")  ==  "1");
    cbKeeperCancel->Checked  =   (GetFieldValue("KeeperCancel")  ==  "1");
    cbKeeperClose->Checked  =   (GetFieldValue("KeeperClose")  ==  "1");
    cbKeeperPost->Checked    =   (GetFieldValue("KeeperPost")  ==  "1");

}


void __fastcall TfrmKeeper::SendDataToComObject()
{
    AnsiString s;
    if (scKeeperCode->Text != "")
      SetFieldValue("KeeperCode",
                       scKeeperCode->ItemData[1]);
    else
      SetFieldValue("KeeperCode",
                       scKeeperCode->Text);
    //未选择仓管员,存盘时提示错误信息
    SetFieldValue("KeeperTel", seKeeperTel->Text);
    SetFieldValue("KeeperBeepPage", seKeeperBeepPage->Text);
    if(cbKeeperCheck->Checked)
        s   =   "1";
    else
        s   =   "0";
    SetFieldValue("KeeperCheck", s);  // KeeperCheck
    if(cbKeeperStop->Checked)
        s   =   "1";
    else
        s   =   "0";
    SetFieldValue("KeeperStop", s);   // KeeperStop
    if(cbKeeperCancel->Checked)
        s   =   "1";
    else
        s   =   "0";
    SetFieldValue("KeeperCancel", s); // KeeperCancel
    if(cbKeeperClose->Checked)
        s   =   "1";
    else
        s   =   "0";
    SetFieldValue("KeeperClose", s);// KeeperSettle
    if(cbKeeperPost->Checked)
        s   =   "1";
    else
        s   =   "0";
    SetFieldValue("KeeperPost", s);  //KeeperPost
}


void __fastcall TfrmKeeper::WaitUserInput()
{
   if(scKeeperCode->Enabled)
    scKeeperCode->SetFocus();
}


AnsiString __fastcall TfrmKeeper::GetDataToGrid()
{
   AnsiString  s;

    scKeeperCode->LocateKey(GetFieldValue("KeeperCode"));
    s   =   "\t" + GetFieldValue("KeeperCode");
    s   =   s + "\t" + scKeeperCode->ItemData[0];
    if(GetFieldValue("KeeperCheck") == "1")
        s   =   s + "\t" + "是";
    else
        s   =   s + "\t" + "否";
    if(GetFieldValue("KeeperStop") == "1")
        s   =   s + "\t" + "是";
    else
        s   =   s + "\t" + "否";
    if(GetFieldValue("KeeperCancel") == "1")
        s   =   s + "\t" + "是";
    else
        s   =   s + "\t" + "否";
    if(GetFieldValue("KeeperClose") == "1")
        s   =   s + "\t" + "是";
    else
        s   =   s + "\t" + "否";
    if(GetFieldValue("KeeperPost") == "1")
        s   =   s + "\t" + "是";
    else
        s   =   s + "\t" + "否";
      return(s);
}


void __fastcall TfrmKeeper::RefreshGridData(int mAction)
{
   AnsiString ItemStr;

   ItemStr=GetDataToGrid();

   if(mAction==0)
    sgKeeper->AddItem(ItemStr);

   else if(mAction==1)
   {
     int i   =   sgKeeper->Row;
     sgKeeper->ChangeItem(ItemStr,i);
   }
   else if(mAction==2)
   {
     sgKeeper->RemoveItem(sgKeeper->Row);
   }
}


void __fastcall TfrmKeeper::FillGridWithData()
{
    AnsiString ItemStr;

    comServer->MoveFirst();
    sgKeeper->RowCount    =   1;

    while (comServer->Eof   ==  0)
    {
        ItemStr =   GetDataToGrid();
        sgKeeper->AddItem(ItemStr);
        comServer->MoveNext();
     }
}


void __fastcall TfrmKeeper::InitEditControl()
{
     ClientGroup->AddComponent(2,true,true,false, sgKeeper,sgKeeper->Name);
     ClientGroup->AddComponent(2,false,false,true, FloatPanel1,FloatPanel1->Name);
     ClientGroup->AddComponent(2,false,true,true, scKeeperCode,scKeeperCode->Name);
     FillComboBox(Handle,scKeeperCode,
                  "select UserCode,UserName from  sduser order by usercode",
                  "UserName","UserCode");
}
void __fastcall TfrmKeeper::FormShow(TObject *Sender)
{
    FillGridWithData();
    comServer->MoveFirst();
    GetDataFromComObject();
}
//---------------------------------------------------------------------------
void __fastcall TfrmKeeper::FormCreate(TObject *Sender)
{
//    FillGridWithData();

}
//---------------------------------------------------------------------------
/*
void __fastcall TfrmKeeper::SelectFirstObject();
{
    TGridRect myRect;
    comServer->MoveFirst();
    myRect=sgKeeper->Selection;
    myRect.Top = 1;
    myRect.Bottom = 1;
    myRect.Left = 1;
    myRect.right = 1;
    sgKeeper->Selection=myRect;
}
*/
//---------------------------------------------------------------------------

void __fastcall TfrmKeeper::sgKeeperClick(TObject *Sender)
{
    int ARow=sgKeeper->Row;
    if (ARow    >   0)
         comServer->LocateByKey(WideString(sgKeeper->TextMatrix[ARow][1]));
    if (!comServer->Eof)
         GetDataFromComObject();
}
//---------------------------------------------------------------------------
void __fastcall TfrmKeeper::RefreshUpdateData(int MsgSrc,int MsgType)
{
/*
  if(MsgSrc==euSdUser)
  {
   if(ShowUpdateMessage(MsgSrc,MsgType))
     FillComboBox(Handle,scKeeperCode,
                  "select UserCode,UserName from  sduser order by usercode",
                  "UserName","UserCode");
  }
*/
}
//---------------------------------------------------------------------------


⌨️ 快捷键说明

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