📄 unit1.cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
#include "CtoolBox.hpp"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TDModule *DModule;
//---------------------------------------------------------------------------
__fastcall TDModule::TDModule(TComponent* Owner)
: TDataModule(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TDModule::Table1CalcFields(TDataSet *DataSet)
{
// Table1->DisableControls();
// Table1->First();
// while(!Table1->Eof)
// {
float a1=Table1QimaA->AsFloat;
float a2=Table1QimaB->AsFloat;
float a3=Table1QimaC->AsFloat;
float b1=Table1ZhimaA->AsFloat;
float b2=Table1ZhimaB->AsFloat;
float b3=Table1ZhimaC->AsFloat;
float bl=Table1BeiLv->AsFloat;
Table1MaCha->AsFloat=CalMacha(a3,b3)+CalMacha(a2,b2)+CalMacha(a1,b1);
ReadPara();
// Table1->Edit();
Table1YongDianLiang->AsFloat=Table1MaCha->AsFloat*bl;
Table1TongSun->AsFloat=Table1YongDianLiang->AsFloat*ParaTs;
Table1BianSunHeJi->AsFloat=Table1TongSun->AsFloat+Table1TieSun->AsFloat;
Table1GaoSun->AsFloat=(Table1YongDianLiang->AsFloat+Table1TieSun->AsFloat+Table1TongSun->AsFloat)*ParaGs;
Table1GongDianLiang->AsFloat=Table1YongDianLiang->AsFloat+Table1TieSun->AsFloat+Table1TongSun->AsFloat+Table1GaoSun->AsFloat;
/*
float dl=0;
Table4->DisableControls();
Table4->First();
while(!Table4->Eof)
{
if(Table1Danwei->AsString==Table4DANWEI->AsString)
dl=dl+Table4YDL->AsFloat;
Table4->Next();
}
Table4->EnableControls();
Table1ShiChaoDianLiang->AsFloat=dl;
Table1DiYaXianSun->AsFloat=dl/(Table1GongDianLiang->AsFloat+0.00000001);
if(!Table1GaiZaoFou->AsBoolean)
{
Table1SDianLiang->AsFloat=Table1GongDianLiang->AsFloat*ParaSd;
Table1SDanJia->AsFloat=ParaSDanJia;
Table1SJinE->AsFloat=ParaSDanJia*Table1SDianLiang->AsFloat;
Table1FDianLiang->AsFloat=Table1GongDianLiang->AsFloat*ParaFd;
Table1FDanJia->AsFloat=ParaFDanJia;
Table1FJinE->AsFloat=ParaFDanJia*Table1FDianLiang->AsFloat;
Table1NDianLiang->AsFloat=Table1GongDianLiang->AsFloat*ParaNd;
Table1NDanJia->AsFloat=ParaNDanJia;
Table1NJinE->AsFloat=ParaNDanJia*Table1NDianLiang->AsFloat;
Table1FSDianliang->AsFloat=Table1GongDianLiang->AsFloat*ParaFSd;
Table1FSDanJia->AsFloat=ParaFSDanJia;
Table1FSJinE->AsFloat=ParaFSDanJia*Table1FSDianliang->AsFloat;
}
else
{
float dltemp1,dltemp2,dltemp3,dltemp4;
dltemp1=dltemp2=dltemp3=dltemp4=0;
Table4->DisableControls();
Table4->First();
while(!Table4->Eof)
{
if(Table1Danwei->AsString==Table4DANWEI->AsString)
{
switch(Table4FENLEI->AsInteger)
{
case 0:
dltemp1=dltemp1+Table4YDL->AsFloat;
break;
case 1:
dltemp2=dltemp2+Table4YDL->AsFloat;
break;
case 2:
dltemp3=dltemp3+Table4YDL->AsFloat;
break;
case 3:
dltemp4=dltemp4+Table4YDL->AsFloat;
break;
}
}
Table4->Next();
}
Table4->EnableControls();
Table1SDianLiang->AsFloat=dltemp1;
Table1SDanJia->AsFloat=0.71895;
Table1SJinE->AsFloat=0.71895*Table1SDianLiang->AsFloat;
Table1FDianLiang->AsFloat=dltemp2;
Table1FDanJia->AsFloat=0.82595;
Table1FJinE->AsFloat=0.82595*Table1FDianLiang->AsFloat;
Table1NDianLiang->AsFloat=dltemp3 ;
Table1NDanJia->AsFloat=0.622;
Table1NJinE->AsFloat=0.622*Table1NDianLiang->AsFloat;
Table1FSDianliang->AsFloat=dltemp4;
Table1FSDanJia->AsFloat=0.90795;
Table1FSJinE->AsFloat=0.90795*Table1FSDianliang->AsFloat;
}
Table1DianFeiZongE->AsFloat=Table1SJinE->AsFloat+Table1FJinE->AsFloat+Table1NJinE->AsFloat+Table1FSJinE->AsFloat;
Table1GuanLiFei->AsFloat=Table1GongDianLiang->AsFloat*ParaGl;
Table1HeJi->AsFloat=Table1GuanLiFei->AsFloat+Table1DianFeiZongE->AsFloat;
*/
// Table1->Next();
// Table1->EnableControls();
// Table1->Post();
}
//---------------------------------------------------------------------------
void TDModule::ReadPara()
{
// ParaTs,ParaGs,ParaSd,ParaSDanJia,ParaFd,ParaFDanJia,ParaNd,ParaNDanJia,ParaFSd,ParaFSDanJia,ParaGl;
Table2->Active=true;
Table2->First();
ParaTs=Table2P1->AsFloat;
ParaGs=Table2P2->AsFloat;
ParaSd=Table2P3->AsFloat;
ParaSDanJia=Table2P4->AsFloat;
ParaFd=Table2P5->AsFloat;
ParaFDanJia=Table2P6->AsFloat;
ParaNd=Table2P7->AsFloat;
ParaNDanJia=Table2P8->AsFloat;
ParaFSd=Table2P9->AsFloat;
ParaFSDanJia=Table2Pa->AsFloat;
ParaGl = Table2Pb->AsFloat;
ysjia=Table2Gp1->AsFloat ;
yfsjia=Table2Gp3->AsFloat ;
yfpjia=Table2Gp2->AsFloat ;
ynjia= Table2Gp4->AsFloat ;
Table2->Active=false;
}
void __fastcall TDModule::Table4CalcFields(TDataSet *DataSet)
{
float macha1,macha2,macha3;
// Table4->Edit();
ReadPara();
Table4QIMA->AsFloat=Table4QIMA1->AsFloat+Table4QIMA2->AsFloat;
Table4ZHIMA->AsFloat=Table4ZHIMA1->AsFloat+Table4ZHIMA2->AsFloat;
if(Table4YDF->AsBoolean)
Table4XIANSUN->AsFloat=1;
else
Table4XIANSUN->AsFloat=0;
if(Table4ZHIMA1->AsFloat<Table4QIMA1->AsFloat)
macha1=10000+Table4ZHIMA1->AsFloat-Table4QIMA1->AsFloat;
else
macha1=Table4ZHIMA1->AsFloat-Table4QIMA1->AsFloat;
if(Table4ZHIMA2->AsFloat<Table4QIMA2->AsFloat)
macha2=10000+Table4ZHIMA2->AsFloat-Table4QIMA2->AsFloat;
else
macha2=Table4ZHIMA2->AsFloat-Table4QIMA2->AsFloat;
if(Table4ZHIMA3->AsFloat<Table4QIMA3->AsFloat)
macha3=10000+Table4ZHIMA3->AsFloat-Table4QIMA3->AsFloat;
else
macha3=Table4ZHIMA3->AsFloat-Table4QIMA3->AsFloat;
Table4MACHA->AsFloat =macha1+macha2+macha3;
if(Table4YDF->AsBoolean)
Table4YDL->AsFloat=(macha1+macha2+macha3)*Table4BL->AsFloat+1;
else
Table4YDL->AsFloat=(macha1+macha2+macha3)*Table4BL->AsFloat;
if(Table1->Active)
{
// Table1ShiChaoDianLiang->AsFloat=dl;
if(Table1GaiZaoFou->AsBoolean)
{
switch(Table4FENLEI->AsInteger)
{
case 0:
Table4DANJIA->AsFloat=ynjia;
break;
case 1:
Table4DANJIA->AsFloat=yfpjia;
break;
case 2:
Table4DANJIA->AsFloat=ysjia;
break;
case 3:
Table4DANJIA->AsFloat=yfsjia;
break;
}
}
else
{
// if(Table1->Active)
Table4DANJIA->AsFloat=Table1HeJi->AsFloat/(Table1ShiChaoDianLiang->AsFloat+0.00000001);
}
}
Table4DIANFEI->AsFloat=Table4DANJIA->AsFloat*Table4YDL->AsFloat;
Table4SHISHOU->AsInteger=Table4DIANFEI->AsFloat+Table4JSY->AsFloat;
Table4ZXY->AsFloat=Table4DIANFEI->AsFloat+Table4JSY->AsFloat-Table4SHISHOU->AsInteger;
Table4RMB->AsString=Num2BCNum((float)Table4SHISHOU->AsInteger)+"元整";
}
//---------------------------------------------------------------------------
float TDModule::CalMacha(float f1,float f2)
{
if(f2<f1)
return f2+10000-f1;
else
return f2-f1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -