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

📄 keeper.cpp

📁 速达开源ERP系统
💻 CPP
字号:
///////////////////////////////////
//       仓管员资料              //
//          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)
        : TRecBaseForm(Owner,euSdKeeper,"")
{
}
//---------------------------------------------------------------------------


AnsiString __fastcall TfrmKeeper::GetFieldValue(int FieldIndex)
{
  AnsiString S;
    S   =   ReadFieldValue(comServer,FieldIndex);
   return(S);
}


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(fiKeeperCode));
    scKeeperCode->Text=scKeeperCode->ItemData[0];
    sgKeeper->LocateGrid(1,GetFieldValue(fiKeeperCode));
    //强制显示,否则在”取消“后不能显示内容
    seKeeperTel->Text        =    GetFieldValue(fiKeeperTel);
    seKeeperBeepPage->Text    =    GetFieldValue(fiKeeperBeepPage);
    cbKeeperCheck->Checked   =   (GetFieldValue(fiKeeperCheck)  ==  "1");
    cbKeeperStop->Checked    =   (GetFieldValue(fiKeeperStop)  ==  "1");
    cbKeeperCancel->Checked  =   (GetFieldValue(fiKeeperCancel)  ==  "1");
    cbKeeperClose->Checked  =   (GetFieldValue(fiKeeperClose)  ==  "1");
    cbKeeperPost->Checked    =   (GetFieldValue(fiKeeperPost)  ==  "1");

}


void __fastcall TfrmKeeper::SendDataToComObject()
{
    AnsiString s;
    if (scKeeperCode->Text != "")
      WriteFieldValue(comServer,fiKeeperCode,
                       scKeeperCode->ItemData[1]);
    else
      WriteFieldValue(comServer,fiKeeperCode,
                       scKeeperCode->Text);
    //未选择仓管员,存盘时提示错误信息
    WriteFieldValue(comServer,fiKeeperTel, seKeeperTel->Text);
    WriteFieldValue(comServer,fiKeeperBeepPage, seKeeperBeepPage->Text);
    if(cbKeeperCheck->Checked)
        s   =   "1";
    else
        s   =   "0";
    WriteFieldValue(comServer,fiKeeperCheck, s);  // KeeperCheck
    if(cbKeeperStop->Checked)
        s   =   "1";
    else
        s   =   "0";
    WriteFieldValue(comServer,fiKeeperStop, s);   // KeeperStop
    if(cbKeeperCancel->Checked)
        s   =   "1";
    else
        s   =   "0";
    WriteFieldValue(comServer,fiKeeperCancel, s); // KeeperCancel
    if(cbKeeperClose->Checked)
        s   =   "1";
    else
        s   =   "0";
    WriteFieldValue(comServer,fiKeeperClose, s);// KeeperSettle
    if(cbKeeperPost->Checked)
        s   =   "1";
    else
        s   =   "0";
    WriteFieldValue(comServer,fiKeeperPost, s);  //KeeperPost
}


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


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

    scKeeperCode->LocateKey(GetFieldValue(fiKeeperCode));
    s   =   "\t" + GetFieldValue(fiKeeperCode);
    s   =   s + "\t" + scKeeperCode->ItemData[0];
    if(GetFieldValue(fiKeeperCheck) == "1")
        s   =   s + "\t" + "是";
    else
        s   =   s + "\t" + "否";
    if(GetFieldValue(fiKeeperStop) == "1")
        s   =   s + "\t" + "是";
    else
        s   =   s + "\t" + "否";
    if(GetFieldValue(fiKeeperCancel) == "1")
        s   =   s + "\t" + "是";
    else
        s   =   s + "\t" + "否";
    if(GetFieldValue(fiKeeperClose) == "1")
        s   =   s + "\t" + "是";
    else
        s   =   s + "\t" + "否";
    if(GetFieldValue(fiKeeperPost) == "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(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(scKeeperCode,
                  "select UserCode,UserName from  sduser order by usercode",
                  "UserName","UserCode");
  }
}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

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