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

📄 wageitemf.cpp

📁 科思ERP部分源码及控件
💻 CPP
字号:
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "WageItemF.h"
#include "Calc.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "StdBaseForm"
#pragma resource "*.dfm"
TfrmWageItemF *frmWageItemF;
//---------------------------------------------------------------------------
__fastcall TfrmWageItemF::TfrmWageItemF(TComponent* Owner,AnsiString WageItemFC,AnsiString WageItemFN )
        : TStdBaseForm(Owner)
{
    m_WageItemFResultName="";
    m_WageItemFResultCode="";
    TComResultSet *RsQuery;
    AnsiString ItemStr,sSql;
    sSql="select WageItemCode,WageItemName,WageItemFormula from kswageitem order by wageitemcode";  //取Head查询的SQL语句
    RsQuery=new  TComResultSet(Handle,g_ClientHandle);
    RsQuery->Open(sSql,"");
    RsQuery->MoveFirst();
    fi_count = RsQuery->RecordCount ;
    Name_n="";
    for (i=0;i<fi_count;i++)
    {
      m_WItem[i].Code=RsQuery->FieldByName("WageItemCode");
      ItemStr=RsQuery->FieldByName("WageItemName");
      m_WItem[i].Name=ItemStr ;
      Name_n=Name_n+ItemStr+",";
      ListItem->Items->Add(ItemStr);
      RsQuery->MoveNext();
    }

    RsQuery->Close();
    delete RsQuery;
/*    m_FiItem[0].Name="原值";
    m_FiItem[1].Name="总工作量";
    m_FiItem[2].Name="本期工作量";
    m_FiItem[3].Name="使用期限";
    m_FiItem[4].Name="累计使用期限";
    m_FiItem[5].Name="预计净残值";
    m_FiItem[6].Name="清理费用";
    m_FiItem[7].Name="入帐前累计折旧";
    m_FiItem[8].Name="入帐前累计工作量";
    m_FiItem[9].Name="入帐前累计使用期限";     */
//    for(int i=0;i<=30;i++)
//    {
//     m_FiItem[i].Code="";
//     ListItem->Items->Strings[i]=m_FiItem[i].Name;
//     ListItem->Items->Add(m_FiItem[i].Name);
//    }
    memFormula->Text=WageItemFN;
    memFormulaCode->Text=WageItemFC;
}
//---------------------------------------------------------------------------
void __fastcall TfrmWageItemF::btOkClick(TObject *Sender)
{
   Expression = new TExpression();
   Expression->OnIsVariable = IsVariable;
   Expression->OnGetValue = GetValue;
   double r;
   int i=Expression->ChangeExpression(memFormula->Text);
   if(i!=-1 && memFormula->Text!="")
   {
    m_WageItemFSure=false;
    throw Exception("公式定义错误,请重新定义!");
   }
   else
   {
    m_WageItemFSure=true;
    m_WageItemFResultCode=memFormulaCode->Text;
    m_WageItemFResultName=memFormula->Text;
   }
   delete Expression;
}
//---------------------------------------------------------------------------
void __fastcall TfrmWageItemF::btCacelClick(TObject *Sender)
{
   m_WageItemFSure=false;
}
//---------------------------------------------------------------------------

void __fastcall TfrmWageItemF::ListItemDblClick(TObject *Sender)
{
   AnsiString ItemStr;
   ItemStr=ListItem->Items->Strings[ListItem->ItemIndex];
   seTempUse->Text=ItemStr;
   for (i=0;i<fi_count;i++)
   {
      if (m_WItem[i].Name==ItemStr)  break;
   }
   seTempUse->SelectAll();
   seTempUse->CopyToClipboard();
   memFormula->PasteFromClipboard();

   seTempUse->Text=m_WItem[i].Code;
   seTempUse->SelectAll();
   seTempUse->CopyToClipboard();
   memFormulaCode->PasteFromClipboard();

   memFormula->SetFocus();
}
//---------------------------------------------------------------------------
void __fastcall TfrmWageItemF::btReSetClick(TObject *Sender)
{
    memFormula->Text="";
    memFormulaCode->Text="";
}
//---------------------------------------------------------------------------
void __fastcall TfrmWageItemF::SpeedButtonClick(TObject *Sender)
{
    TSpeedButton *SpeedButton;
    SpeedButton=(TSpeedButton*)Sender;
    seTempUse->Text=SpeedButton->Caption;
    seTempUse->SelectAll();
    seTempUse->CopyToClipboard();
    memFormula->PasteFromClipboard();
    memFormulaCode->PasteFromClipboard();
    memFormula->SetFocus();
}
//---------------------------------------------------------------------------
bool __fastcall TfrmWageItemF::IsVariable(AnsiString Variable)
{
     if(Name_n.Pos(Variable)>0)
       return true;
     else
       return false;
}
//---------------------------------------------------------------------------
double __fastcall TfrmWageItemF::GetValue(AnsiString Variable)
{
/*    for(int i=0;i<=6;i++)
    {
     if(m_FiItem[i].Name==Variable)
      return m_FiItem[i].Code;
    }*/
    return 0.00;

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

⌨️ 快捷键说明

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