psd.cpp

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

CPP
198
字号
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Psd.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "fpanel"
#pragma link "RecBaseForm"
#pragma link "SDEdit"
#pragma link "SDGrid"
#pragma link "DateEdit"
#pragma link "DateEdit"
#pragma link "SDComboBox"
#pragma resource "*.dfm"
TfrmPsd *frmPsd;
AnsiString LastPsdSupply;
//---------------------------------------------------------------------------

__fastcall TfrmPsd::TfrmPsd(TComponent* Owner, HWND chWnd, AnsiString MidCode,AnsiString WhereStr)
    : TRecBaseForm(Owner,chWnd,MidCode,WhereStr)

{
}
//---------------------------------------------------------------------------
void __fastcall TfrmPsd::ClearControl(bool BringToNext)
{
    if(BringToNext)
    {
        return;
    }
    scPsdCurrencyCode->ItemIndex=   -1;    // 币种
    sePsdBankName->Text         =   "";    // 银行名称
    sePsdBankNo->Text           =   "";    // 银行帐号
    chkPsdPrimary->Checked      =   false; //主币种
    CBJS->Checked =false; //缺省结算资料
}
//---------------------------------------------------------------------------
void __fastcall TfrmPsd::GetDataFromComObject()
{
    scPsdCurrencyCode->LocateKey(GetFieldValue("PsdCurrencyCode"));
    sgPsd->LocateGrid(1,GetFieldValue("PsdCurrencyCode"));
    sePsdBankName->Text         =   GetFieldValue("PsdBankName");
    sePsdBankNo->Text           =   GetFieldValue("PsdBankNo");
    chkPsdPrimary->Checked      =   (GetFieldValue("PsdPrimary")=="1");
    ComboBJS->LocateKey(GetFieldValue("PsdPayMode"));
    if(GetFieldValue("psddefault")==1)
    CBJS->Checked =true;
    else
    CBJS->Checked =false;
}
//---------------------------------------------------------------------------
void __fastcall TfrmPsd::SendDataToComObject()
{
    if(scPsdCurrencyCode->ItemData[1]=="")
    throw Exception("币种代码不能为空");
    SetFieldValue("PsdSupplyCode",WideString(scPsdSupplyCode->ItemData[1]));
    SetFieldValue("PsdCurrencyCode",WideString(scPsdCurrencyCode->ItemData[1]));
    SetFieldValue("PsdBankName",WideString(sePsdBankName->Text));
    SetFieldValue("PsdBankNo",WideString(sePsdBankNo->Text));
    SetFieldValue("psdpaymode",WideString(ComboBJS->ItemData[1]));
    if(chkPsdPrimary->Checked)
     SetFieldValue("PsdPrimary",WideString("1"));
    else
     SetFieldValue("PsdPrimary",WideString("0"));
    if(CBJS->Checked ==true)
    SetFieldValue("psddefault",1);
      if(CBJS->Checked ==false)
    SetFieldValue("psddefault",0);
}
//---------------------------------------------------------------------------
void __fastcall TfrmPsd::WaitUserInput()
{
    scPsdCurrencyCode->SetFocus();
}
//---------------------------------------------------------------------------
AnsiString __fastcall TfrmPsd::GetDataToGrid()
{

   scPsdCurrencyCode->LocateKey(GetFieldValue("PsdCurrencyCode"));
   AnsiString  s;
    s = "\t" + scPsdCurrencyCode->ItemData[1]+
        "\t" + scPsdCurrencyCode->Text+
        "\t" + GetFieldValue("PsdBankName")+
        "\t" + GetFieldValue("PsdBankNo")+
        "\t" + (GetFieldValue("PsdPrimary")=="1"?"主币种":"辅币种");
    return(s);
}
//---------------------------------------------------------------------------

void __fastcall TfrmPsd::RefreshGridData(int mAction)
{
    AnsiString ItemStr;
    ItemStr =   GetDataToGrid();
    if (mAction == 0)
    {
        sgPsd->AddItem(ItemStr);
    }
    else if(mAction == 1)
    {
        int i   =   sgPsd->Row;
        sgPsd->ChangeItem(ItemStr,i);
    }
    else if(mAction == 2)
    {
        sgPsd->RemoveItem(sgPsd->Row);
    }
}
//---------------------------------------------------------------------------
void __fastcall TfrmPsd::FillGridWithData()
{
    AnsiString ItemStr;
    comServer->MoveFirst();
    sgPsd->RowCount = 1;
    while (comServer->Eof == 0)
    {
        ItemStr = GetDataToGrid();
        sgPsd->AddItem(ItemStr);
        comServer->MoveNext();
    }
}
//---------------------------------------------------------------------------

void __fastcall TfrmPsd::InitEditControl()
{
    ClientGroup->AddComponent(2,true,true,false,FloatPanel2,FloatPanel2->Name);
    ClientGroup->AddComponent(2,true,true,false, sgPsd,sgPsd->Name);
    ClientGroup->AddComponent(2,false,false,true, FloatPanel1,FloatPanel1->Name);
     FillComboBox(Handle,scPsdSupplyCode,"SELECT SUPPLYCODE,supplyName FROM SDSUPPLY   where supplycancel=0  order by SupplyCode","supplyName","SupplyCode");
     FillComboBox(Handle,scPsdCurrencyCode,"select  CurrencyCode,Currencyname from sdCurrency order By CurrencyCode","CurrencyName","CurrencyCode");
     FillComboBox(Handle,ComboBJS,"select settleModeCode,settleModeName from sdsettleMode order By settleModeCode","settleModeName","settleModeCode");

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

void __fastcall TfrmPsd::FormClose(TObject *Sender, TCloseAction &Action)
{
    TRecBaseForm::FormClose(Sender,Action);
}
//---------------------------------------------------------------------------
void __fastcall TfrmPsd::FormShow(TObject *Sender)
{
    ClearControl(false);
    LastPsdSupply="";
    if(scPsdSupplyCode->Items->Count > 0)
    {
     scPsdSupplyCode->ItemIndex=0;
     scPsdSupplyCodeClick(NULL);
    }
}
//---------------------------------------------------------------------------
void __fastcall TfrmPsd::scPsdSupplyCodeClick(TObject *Sender)
{
   AnsiString s;
   if(scPsdSupplyCode->ItemIndex==-1)
    return;
   s=scPsdSupplyCode->ItemData[1];
   if(s.IsEmpty())
     return;
   if(LastPsdSupply==s)
     return;
   LastPsdSupply=s;
   s = "PsdSupplyCode = '" + s + "'";
   comServer->FilterString = WideString(s);
   comServer->Query();
   FillGridWithData();
   comServer->MoveFirst();
   GetDataFromComObject();
}
//---------------------------------------------------------------------------
void __fastcall TfrmPsd::sgPsdClick(TObject *Sender)
{
    int ARow=sgPsd->Row;
    AnsiString KeyStr;
    if (ARow > 0)
    {
         KeyStr=sgPsd->TextMatrix[ARow][1] + "\t" +scPsdSupplyCode->ItemData[1];
         comServer->LocateByKey(WideString(KeyStr));
    }
    if (!comServer->Eof)
         GetDataFromComObject();
}
//---------------------------------------------------------------------------
void __fastcall TfrmPsd::RefreshUpdateData(int MsgSrc,int MsgType)
{
}
//---------------------------------------------------------------
void __fastcall TfrmPsd::SupplyCodeButtonButtonClick(TObject *Sender)
{
if(OpenSupplyForm("")==true)
    {
     scPsdSupplyCode->LocateKey(GetSupplyValue(gtOpenForm,"SupplyCode"));
     scPsdSupplyCodeClick(Sender);
    }

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

⌨️ 快捷键说明

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