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

📄 tax.cpp

📁 速达开源ERP系统
💻 CPP
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#include "Tax.h"
//---------------------------------------------------------------------------
#pragma hdrstop
#pragma package(smart_init)
#pragma link "RecBaseForm"
#pragma link "fpanel"
#pragma link "SDEdit"
#pragma link "SDGrid"
#pragma link "SDComboBox"
#pragma resource "*.dfm"

TfrmTax *frmTax;

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

void __fastcall TfrmTax::ClearControl(bool BringToNext)
{
    if(!BringToNext)
    {
      seCode->Text        =   "";
      seName->Text        =   "";
      memDesc->Text       =   "";
      seRate->Text        =   "0";
      seTaxGlKm->Text     =   "";
      rbGlDirect0->Checked=   true;
      cbDefault->Checked  =   false;
    }
}
//---------------------------------------------------------------------------

void __fastcall TfrmTax::GetDataFromComObject()
{
    seCode->Text        =   GetFieldValue(fiTaxCode);
    sgTax->LocateGrid(1,seCode->Text);
    seName->Text        =   GetFieldValue(fiTaxName);
    memDesc->Text       =   GetFieldValue(fiTaxDesc);
    seRate->Text        =   GetFieldValue(fiTaxRate);
    seTaxGlKm->Text        =   GetFieldValue(fiTaxGlKm);
    if(GetFieldValue(fiTaxKmDir) == "1")
        rbGlDirect0->Checked=true;
    else
        rbGlDirect1->Checked=true;
    cbDefault->Checked = (GetFieldValue(fiTaxDefault) == "1");
}
//---------------------------------------------------------------------------

void __fastcall TfrmTax::SendDataToComObject()
{
    WriteFieldValue(comServer,fiTaxCode,seCode->Text);
    WriteFieldValue(comServer,fiTaxName,seName->Text);
    WriteFieldValue(comServer,fiTaxDesc,memDesc->Text);
    if(seRate->Text.IsEmpty())
      WriteFieldValue(comServer,fiTaxRate,"1");
    else
      WriteFieldValue(comServer,fiTaxRate,seRate->Text);
    WriteFieldValue(comServer,fiTaxGlKm,seTaxGlKm->Text);
    WriteFieldValue(comServer,fiTaxKmDir,rbGlDirect0->Checked ? "1" : "-1");
    WriteFieldValue(comServer,fiTaxDefault,cbDefault->Checked ? "1":"0");
}
//---------------------------------------------------------------------------

void __fastcall TfrmTax::WaitUserInput()
{
    seCode->SetFocus();
}
//---------------------------------------------------------------------------

AnsiString __fastcall TfrmTax::GetDataToGrid()
{
    AnsiString  s;
    s = "\t" + GetFieldValue(fiTaxCode)+
        "\t" + GetFieldValue(fiTaxName)+
        "\t" + GetFieldValue(fiTaxRate);
    return(s);
}
//---------------------------------------------------------------------------

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

    ItemStr = GetDataToGrid();
    if (mAction ==  0)
    {
        sgTax->AddItem(ItemStr);
    }
    else if(mAction == 1)
    {
        int i = sgTax->Row;
        sgTax->RemoveItem(i);
        sgTax->AddItem(ItemStr,i);
    }
    else if(mAction ==  2)
    {
        sgTax->RemoveItem(sgTax->Row);
    }
}
//---------------------------------------------------------------------------

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

    comServer->MoveFirst();
    sgTax->RowCount = 1;
    while (comServer->Eof ==  0)
    {
        ItemStr = GetDataToGrid();
        sgTax->AddItem(ItemStr);
        comServer->MoveNext();
    }
}
//---------------------------------------------------------------------------
void __fastcall TfrmTax::InitEditControl()
{
    ClientGroup->AddComponent(2,false,false,true, FloatPanel1,FloatPanel1->Name);
    ClientGroup->AddComponent(2,true,true,false, sgTax,sgTax->Name);
    ClientGroup->AddComponent(2,false,false,false,seCode,seCode->Name);
}
//---------------------------------------------------------------------------

__fastcall TfrmTax::TfrmTax(TComponent* Owner)
    : TRecBaseForm(Owner,euSdTax,"")
{
}
//---------------------------------------------------------------------------
void __fastcall TfrmTax::FormShow(TObject *Sender)
{
    FillGridWithData();
    comServer->MoveFirst();
    GetDataFromComObject();
}
//---------------------------------------------------------------------------
void __fastcall TfrmTax::scGlKmClick(TObject *Sender)
{
     AnsiString s;
     s=seTaxGlKm->Text;
     if(s != "")
        gbKmDrection->Enabled=true;
     else
        gbKmDrection->Enabled=false;
}
//---------------------------------------------------------------------------
void __fastcall TfrmTax::seTaxGlKmButtonClick(TObject *Sender)
{
   OpenGlkmQuery();
   if(QueryStatus==1)
   {  seTaxGlKm->Text=GetGlkmValue("GLKMCODE");
    if(GetGlkmValue("GLKMDIR") == "1")
        rbGlDirect0->Checked=true;
    else
        rbGlDirect1->Checked=true;
   }
}
//---------------------------------------------------------------------------

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

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

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

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

⌨️ 快捷键说明

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