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

📄 cac.cpp

📁 速达开源ERP系统
💻 CPP
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Cac.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "RecBaseForm"
#pragma link "fpanel"
#pragma link "SDEdit"
#pragma link "SDGrid"
#pragma link "DateEdit"
#pragma link "SDComboBox"
#pragma resource "*.dfm"
TfrmCac *frmCac;
//---------------------------------------------------------------------------
__fastcall TfrmCac::TfrmCac(TComponent* Owner)
        : TRecBaseForm(Owner,euSdCac,"")
{
}
//---------------------------------------------------------------------------

AnsiString __fastcall TfrmCac::GetFieldValue(int FieldIndex)
{
    WideString S;
    S  = ReadFieldValue(comServer,FieldIndex);
    return(S);
}
//---------------------------------------------------------------------------

void __fastcall TfrmCac::ClearControl(bool BringToNext)
{
    if(!BringToNext)
    {
    seCacCode->Text       =   "";
    seCacBankName->Text   =   "";
    scCacType->ItemIndex  =-1;
    scCacCurrency->ItemIndex =-1; 
    seCacBalance->Text    =   "0";
    memCacDesc->Text      =   "";
    seCacGlKm->Text       =   "";
    srCacKmDir0->Checked  =   true;
    chkCacCancel->Checked =   false;
    deCacCancelDate->Text =="";
    scCacUser->LocateKey(g_sdUserCode);
    deCacSysDate->Caption =   "";
    chkCacCancel->Enabled =   false;
    GroupBox1->Enabled    =   false;
    }
}
//---------------------------------------------------------------------------
void __fastcall TfrmCac::GetDataFromComObject()
{
    seCacCode->Text       =   GetFieldValue(fiCacCode);
    sgCac->LocateGrid(1,seCacCode->Text);
    seCacBankName->Text   =   GetFieldValue(fiCacBankName);
    scCacType->LocateKey(GetFieldValue(fiCacType));
    scCacType->Text       =scCacType->ItemData[0];
    scCacCurrency->LocateKey(GetFieldValue(fiCacCurrency));
    scCacCurrency->Text   =scCacCurrency->ItemData[0];
    seCacBalance->Text    =   GetFieldValue(fiCacBalance);
    memCacDesc->Text      =   GetFieldValue(fiCacDesc);
    seCacGlKm->Text       =   GetFieldValue(fiCacGlKm);
    if(GetFieldValue(fiCacKmDir)==1)
       srCacKmDir0->Checked =true;
    else
        srCacKmDir1->Checked =true;
    chkCacCancel->Checked =   GetFieldValue(fiCacCancel)== "1";
    deCacCancelDate->Text = GetFieldValue(fiCacCancelDate);
    scCacUser->LocateKey(GetFieldValue(fiCacUser));
    scCacUser->Text  =scCacUser->ItemData[0];
    deCacSysDate->Caption =   GetFieldValue(fiCacSysDate);
}
//---------------------------------------------------------------------------

void __fastcall TfrmCac::SendDataToComObject()
{
    WriteFieldValue(comServer,fiCacCode,seCacCode->Text);
    WriteFieldValue(comServer,fiCacBankName,seCacBankName->Text);
    WriteFieldValue(comServer,fiCacType,scCacType->ItemData[1]);
    WriteFieldValue(comServer,fiCacCurrency,scCacCurrency->ItemData[1]);
    WriteFieldValue(comServer,fiCacDesc,memCacDesc->Text);
    WriteFieldValue(comServer,fiCacGlKm,seCacGlKm->Text);
    WriteFieldValue(comServer,fiCacKmDir,srCacKmDir0->Checked?"1":"-1");
    WriteFieldValue(comServer,fiCacCancel,chkCacCancel->Checked ? "1":"0");
    WriteFieldValue(comServer,fiCacCancelDate,deCacCancelDate->Text);
    WriteFieldValue(comServer,fiCacUser,scCacUser->ItemData[1]);
}
//---------------------------------------------------------------------------

void __fastcall TfrmCac::WaitUserInput()
{
    tpcCac->ActivePage=TabSheet1;
    seCacCode->SetFocus();
}
//---------------------------------------------------------------------------

AnsiString __fastcall TfrmCac::GetDataToGrid()
{
    AnsiString  s;
    s = "\t" + GetFieldValue(fiCacCode)+
        "\t" + GetFieldValue(fiCacBankName);
    return(s);
}

void __fastcall TfrmCac::RefreshGridData(int mAction)
{
    AnsiString ItemStr;
    ItemStr = GetDataToGrid();
    if (mAction ==  0)   //Add
    {
        sgCac->AddItem(ItemStr);
    }
    else if(mAction ==  1)   //Modify
    {
        int i   =   sgCac->Row;
        sgCac->RemoveItem(i);
        sgCac->AddItem(ItemStr,i);
    }
    else if(mAction ==  2)      //Delete
    {
        sgCac->RemoveItem(sgCac->Row);
    }
}

//---------------------------------------------------------------------------
void __fastcall TfrmCac::FillGridWithData()
{
    AnsiString ItemStr;
    comServer->MoveFirst();
    sgCac->RowCount    =   1;

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

//---------------------------------------------------------------------------
void __fastcall TfrmCac::InitEditControl()
{
    ClearControl(false);
    ClientGroup->AddComponent(2,true,true,false, sgCac,sgCac->Name);
    ClientGroup->AddComponent(2,false,false,true, tpcCac,tpcCac->Name);
    ClientGroup->AddComponent(2,true,false,true, chkCacCancel,chkCacCancel->Name);
    ClientGroup->AddComponent(2,true,false,true, deCacCancelDate,deCacCancelDate->Name);
    ClientGroup->AddComponent(2,false,false,false,seCacCode,seCacCode->Name);
    ClientGroup->AddComponent(2,true,true,true,deCacCancelDate,deCacCancelDate->Name);
    ClientGroup->AddComponent(2,true,true,true,scCacUser,scCacUser->Name);
    FillComboBox(scCacCurrency,"select  CurrencyCode,Currencyname from sdCurrency order By CurrencyCode","CurrencyName","CurrencyCode");
    FillComboBox(scCacUser,"select UserCode,UserName from sdUser order By UserCode","UserName","UserCode");
    scCacType->AddItems("银行帐号","1");
    scCacType->AddItems("现金帐号","2");   
   }

//---------------------------------------------------------------------------
void __fastcall TfrmCac::FormShow(TObject *Sender)
{
    FillGridWithData();
    comServer->MoveFirst();
    GetDataFromComObject();
}
//---------------------------------------------------------------------------

void __fastcall TfrmCac::chkCacCancelClick(TObject *Sender)
{
    if(chkCacCancel->Checked)
      deCacCancelDate->Enabled=true;
    else
    {
      deCacCancelDate->Enabled=false;
      deCacCancelDate->Text="";
    }
}
//---------------------------------------------------------------------------
void __fastcall TfrmCac::muEditDetailClick(TObject *Sender)
{
    scCacUser->LocateKey(g_sdUserCode);
    TRecBaseForm::muEditDetailClick(Sender);
    if(chkCacCancel->Checked)
       deCacCancelDate->Enabled=true;
    else
    {
       deCacCancelDate->Enabled=false;
       deCacCancelDate->Text="";
    }   
}
//---------------------------------------------------------------------------
void __fastcall TfrmCac::seCacGlKmButtonClick(TObject *Sender)
{
   OpenGlkmQuery();
   if(QueryStatus==1)
   {
     seCacGlKm->Text=GetGlkmValue("GLKMCODE");
     if(GetGlkmValue("GLKMDIR")=="1")
        srCacKmDir0->Checked =true;
     else
        srCacKmDir1->Checked =true;
   }
}
//---------------------------------------------------------------------------
void __fastcall TfrmCac::RefreshUpdateData(int MsgSrc,int MsgType)
{
      switch(MsgSrc)
      {
        case euSdCurrency:
          if(ShowUpdateMessage(MsgSrc,MsgType))
            FillComboBox(scCacCurrency,"select  CurrencyCode,Currencyname from sdCurrency order By CurrencyCode","CurrencyName","CurrencyCode");
         break;
        case euSdUser:
         if(ShowUpdateMessage(MsgSrc,MsgType))
            FillComboBox(scCacUser,"select UserCode,UserName from sdUser order By UserCode","UserName","UserCode");
         break;
       default:
         break;
      }
}
//---------------------------------------------------------------------------

void __fastcall TfrmCac::seCacCodeKeyDown(TObject *Sender, WORD &Key,
      TShiftState Shift)
{
    if(Key==13 && CurrentState==caNormal)
    {
      comServer->LocateByKey(seCacCode->Text);
      GetDataFromComObject();
    }

}
//---------------------------------------------------------------------------

void __fastcall TfrmCac::sgCacClick(TObject *Sender)
{
    if (sgCac->Row > 0)
         comServer->LocateByKey(sgCac->TextMatrix[sgCac->Row][1]);
    if (!comServer->Eof)
         GetDataFromComObject();

}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

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