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

📄 bossmanage.cpp

📁 用C++ Builder编写的个人财务管理软件
💻 CPP
📖 第 1 页 / 共 2 页
字号:
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "bossmanage.h"
#include <jpeg.hpp>
//#include "stdlib.h"
#include "AddDelete.h"
#include "ZoneDelete.h"
#include "QueryData.h"
#include "FormPrint1.h"
#include "WeiZhangDatOutDLg.h"
#include "WeiZhangDatInDLg.h"
#include "SetForm.h"
#include "InformationBrowAll.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TMainForm *MainForm;
bool DingWeiFlag=false;
//---------------------------------------------------------------------------
__fastcall TMainForm::TMainForm(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::EnterRecordClick(TObject *Sender)
{
 SaveRec->Enabled=true;
 CancelSave->Enabled=true;
 EnterRecord->Enabled=false;
 BrowseRecord->Enabled=true;
 enterrecord=true;
browserecord=false;
 if( !CheckUpdate ( ))
 return;
EnterStatus->Caption="状态提醒:请您输入需要入库的记录";
Timer1->Enabled=true;
ClearInfo(false);
EnterDate->Text=Now().CurrentDate();
TableSpdCarInfo->Active=false;

ButtonStatus( );
DingWeiFlag = false;////
SetJLForm->QueryDingWei->Close();////
CashIn->Text="0.00";
 CashOut->Text="0.00";
 CashNet->Text="0.00"; 
}
//---------------------------------------------------------------------------

void __fastcall TMainForm::BrowseRecordClick(TObject *Sender)
{
EnterStatus->Caption="状态提醒:请您浏览财务记录";
Timer1->Enabled=false;
SaveRec->Enabled=false;
 CancelSave->Enabled=false;
 EnterRecord->Enabled=true;
 BrowseRecord->Enabled=false;
if(!TableSpdCarInfo->Active)
{
TableSpdCarInfo->Open();
}
TableSpdCarInfo->Last();
DisplayRecord( );
HaveModified = false;
browserecord=true;
enterrecord=false;
ButtonStatus( );
}
//---------------------------------------------------------------------------

void __fastcall TMainForm::SaveRecClick(TObject *Sender)
{
CountBitBtnClick(NULL);

 if(ComboBoxCity->Text.Trim()=="")
{
ShowMessage("地区/城市名不能为空,请重新输入!");
     ComboBoxCity->SetFocus() ;
     return ;
}
 if(CashIn->Text.Trim()=="")
{
ShowMessage("资金收入不能为空,请重新输入!");
     CashIn->SetFocus() ;
     return ;
}
if(CashOut->Text.Trim()=="")
{
ShowMessage("资金支出不能为空,请重新输入!");
     CashOut->SetFocus() ;
     return;
}
if(AbstractEdit->Text.Trim()=="")
{
ShowMessage("财务记录摘要不能为空,请重新输入!");
     AbstractEdit->SetFocus() ;
     return;
}
if(EnterDate->Text.Trim()=="")
{
ShowMessage("入录日期不能为空,请重新输入!");
     EnterDate->SetFocus() ;
     return;
}
DateRecord=EnterDateTimePicker->Date;
DataEnterRecord= DateToStr(DateRecord);
bool Result;
Result=Add_Record();

 StatusBarMain->Panels->Items[2]->Text = "第 " + String (TableSpdCarInfo->RecNo) + " / " + String(TableSpdCarInfo->RecordCount) + "个 记录";

 if( Result )
    {
    //  ButtonStatus();
     // SnoEdit->Text = GenSno();
      ClearInfo(false);
      //HaveModified = false ;
   }
  CashIn->Text="0.00";
 CashOut->Text="0.00";
 CashNet->Text="0.00"; 
}
//---------------------------------------------------------------------------
bool __fastcall  TMainForm::Add_Record()
{
  if( !TableSpdCarInfo->Active )
            TableSpdCarInfo->Open();
     TableSpdCarInfo->Append() ;
     TableSpdCarInfo->Edit();
    //TableSpdCarInfo->Append() ;
    TableSpdCarInfo->RecNo;
    Update_Spd_Record();

    return true;
 }
//---------------------------------------------------------------------------

bool __fastcall  TMainForm::Update_Spd_Record()
{
  if(DingWeiFlag)
{
   SetJLForm->QueryDingWei->Edit();
       SetJLForm->QueryDingWei->FieldByName("DiShi")->AsString = ComboBoxCity->Text.Trim() ;
    SetJLForm->QueryDingWei->FieldByName("RiQi")->AsString = EnterDate->Text.Trim();
    SetJLForm->QueryDingWei->FieldByName("ShiJian")->AsString = EnterTime->Text.Trim() ;

    SetJLForm->QueryDingWei->FieldByName("ShouRu")->AsString = CashIn->Text;
    SetJLForm->QueryDingWei->FieldByName("ZhiChu")->AsString = CashOut->Text.Trim() ;
    SetJLForm->QueryDingWei->FieldByName("YuE")->AsString = CashNet->Text.Trim() ;
    SetJLForm->QueryDingWei->FieldByName("ZhaiYao")->AsString = AbstractEdit->Text.Trim() ;

    SetJLForm->QueryDingWei->Post();
    return true;
 }
/*   if(DingWeiFlag)
{
   SetJLForm->QueryDingWei->Edit();

    SetJLForm->QueryDingWei->FieldByName("Skey")->AsString = String(RecCRC);


    SetJLForm->QueryDingWei->FieldByName("JiaShiYuan")->AsString = JiaShiYuanEdit->Text.Trim() ;
    SetJLForm->QueryDingWei->FieldByName("ZhengJianHao")->AsString = ZhengJianEdit->Text.Trim() ;
    SetJLForm->QueryDingWei->FieldByName("DanWei")->AsString = DanwiEdit->Text.Trim() ;

    SetJLForm->QueryDingWei->FieldByName("Cph")->AsString = cphEdit->Text;
    SetJLForm->QueryDingWei->FieldByName("Scllx")->AsString = cllxComboBox->Text.Trim() ;
    SetJLForm->QueryDingWei->FieldByName("Spd")->AsString = SpdEdit->Text.Trim() ;
    SetJLForm->QueryDingWei->FieldByName("LimitSpd")->AsString = LimitSpdEdit->Text.Trim() ;
    SetJLForm->QueryDingWei->FieldByName("Wzrq")->AsString = wzrqEdit->Text;
    SetJLForm->QueryDingWei->FieldByName("Sj")->AsString = sjEdit->Text;

    SetJLForm->QueryDingWei->FieldByName("Dd")->AsString = ddComboBox->Text.Trim() ;
    SetJLForm->QueryDingWei->FieldByName("Xw")->AsString = xwComboBox->Text.Trim() ;
    SetJLForm->QueryDingWei->FieldByName("Xw2")->AsString = xw2ComboBox->Text.Trim() ;
    SetJLForm->QueryDingWei->FieldByName("Xw3")->AsString = xw3ComboBox->Text.Trim() ;

    SetJLForm->QueryDingWei->FieldByName("WeiFaYiJv")->AsString = WeiFaYiJvComboBox->Text.Trim() ;
    SetJLForm->QueryDingWei->FieldByName("ChuFaYiJv")->AsString = ChuFaYiJvComboBox->Text.Trim() ;
     SetJLForm->QueryDingWei->Post();
    return true;
}  */
else
{
       if(!TableSpdCarInfo->Active)
       TableSpdCarInfo->Active=true;
       TableSpdCarInfo->Edit();
    //TableSpdCarInfo->FieldByName("Skey")->AsString = String(RecCRC);


    TableSpdCarInfo->FieldByName("DiShi")->AsString = ComboBoxCity->Text.Trim() ;
    TableSpdCarInfo->FieldByName("RiQi")->AsString = EnterDate->Text.Trim();
    TableSpdCarInfo->FieldByName("ShiJian")->AsString = EnterTime->Text.Trim() ;

    TableSpdCarInfo->FieldByName("ShouRu")->AsString = CashIn->Text;
    TableSpdCarInfo->FieldByName("ZhiChu")->AsString = CashOut->Text.Trim() ;
    TableSpdCarInfo->FieldByName("YuE")->AsString = CashNet->Text.Trim() ;
    TableSpdCarInfo->FieldByName("ZhaiYao")->AsString = AbstractEdit->Text.Trim() ;

     TableSpdCarInfo->Post() ;
     //TableSpdCarInfo->Active=false;
   return true;
}

}
//---------------------------------------------------------------------------
void __fastcall  TMainForm::ClearInfo(bool Restore)
{
    
    //ComboBoxCity->Text = "";
    //EnterDateTimePicker->Text = "";
    //EnterTime->Text = "";

    CashIn->Text = "";
    CashOut->Text = "";

    CashNet->Text = "";
    AbstractEdit->Text = "";
//  HaveModified = false ;
}
//---------------------------------------------------------------------------

void __fastcall TMainForm::Timer1Timer(TObject *Sender)
{
 EnterTime->Text=Now().CurrentTime();
  TDateTime CurrentDate = Now();

  AnsiString s1 = CurrentDate.FormatString("yyyy'年'mm'月'dd'日  'hh'时'nn'分'ss'秒'");

  StatusBarMain->Panels->Items[3]->Text =  s1;
       
}
//---------------------------------------------------------------------------

void __fastcall TMainForm::CancelSaveClick(TObject *Sender)
{
ClearInfo(false);
CashIn->Text="0.00";
 CashOut->Text="0.00";
 CashNet->Text="0.00"; 
}
//---------------------------------------------------------------------------

void __fastcall TMainForm::FormShow(TObject *Sender)
{
  ResetParame();
 //Timer1->Enabled=false;
 EnterDate->Text=Now().CurrentDate();
 MakerNameComboBox->Text="";
 ClearInfo(false);
 //enterrecord=false;
 if(!TableSpdCarInfo->Active)
 {
 TableSpdCarInfo->Active=true;
 TableSpdCarInfo->Last();
 StatusBarMain->Panels->Items[2]->Text = "第 " + String (TableSpdCarInfo->RecNo) + " / " + String(TableSpdCarInfo->RecordCount) + "个 记录";
 }
 TableSpdCarInfo->Active=false;
 CashIn->Text="0.00";
 CashOut->Text="0.00";
 CashNet->Text="0.00";
}
//---------------------------------------------------------------------------
void __fastcall  TMainForm::DisplayRecord( )
{
try
{
 if( !TableSpdCarInfo->Active )
            TableSpdCarInfo->Open();
    if( TableSpdCarInfo->RecordCount <=0 )
        {
        StatusBarMain->Panels->Items[2]->Text = "第 0 / 0 个 记录";
          ClearInfo(false);
          EnterRecordClick(NULL);
          return;
        }

    mDisplayRecord = true;
    StatusBarMain->Panels->Items[2]->Text = "第 " + String (TableSpdCarInfo->RecNo) + " / " + String(TableSpdCarInfo->RecordCount) + "个 记录";

   ComboBoxCity->Text = TableSpdCarInfo->FieldByName("DiShi")->AsString.Trim();
  EnterDate->Text = TableSpdCarInfo->FieldByName("RiQi")->AsString.Trim();
  EnterTime->Text = TableSpdCarInfo->FieldByName("ShiJian")->AsString.Trim();
  CashIn->Text =  TableSpdCarInfo->FieldByName("ShouRu")->AsString.Trim();
  CashOut->Text  = TableSpdCarInfo->FieldByName("ZhiChu")->AsString.Trim();
  CashNet->Text  = TableSpdCarInfo->FieldByName("YuE")->AsString.Trim() ;
  AbstractEdit->Text = TableSpdCarInfo->FieldByName("ZhaiYao")->AsString.Trim() ;
}
    __finally
  {

   HaveModified = false;
   UpdateRecord->Enabled = false;
   mDisplayRecord = false;
   };
}
//---------------------------------------------------------------------------

void __fastcall TMainForm::CountBitBtnClick(TObject *Sender)
{
AnsiString  cashin,cashout;
double cashin1,cashout1,cashnet;
cashin=CashIn->Text.Trim();
cashout=CashOut->Text.Trim();
cashin1=StrToFloat(cashin);
cashout1=StrToFloat(cashout);

cashnet=cashin1-cashout1;
CashNet->Text=FloatToStr(cashnet);
AnsiString  MiddleName;
MiddleName=CashNet->Text;
int index;
index=MiddleName.LastDelimiter("\.");
if(index>0)
{
MiddleName=MiddleName.SubString(1,index+2);
CashNet->Text=MiddleName;
}
else
{
 CashNet->Text=MiddleName;
}
}
//---------------------------------------------------------------------------
bool __fastcall TMainForm::CheckUpdate ( )
{
 if( HaveModified )
   { int ret = Application->MessageBox("当前记录已被修改,是否更新到数据库中?", "确认", MB_YESNOCANCEL  );
     if ( ret == IDYES )
     {// 更新当前记录
      // 1. 保存Skey, 产生新Skey,2.更新spdinfo ,3删除原spdpic中旧skey记录 4. 插入新spdpi记录
      if(!TableSpdCarInfo->Active)
      TableSpdCarInfo->Active=true;
     // AnsiString Skey =  TableSpdCarInfo->FieldByName("Skey")->AsString;
     // long  RecCrc = Rec_CRC();

      Update_Spd_Record();
   return true;
     }
    else if( ret == IDNO  )
       return true;
    else if(ret == IDCANCEL )
       return false;
  }
  return true;


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

void __fastcall TMainForm::FormCreate(TObject *Sender)
{
mDisplayRecord = false;
 HaveModified = false ;
 browserecord=false;
 enterrecord=false;

   AnsiString selfPath    = ExtractFilePath( Application->ExeName );
   AnsiString xianshi=selfPath+"\\"+"Boss.jpg";
   if( xianshi.IsEmpty() )
     return;
  Graphics::TBitmap *pBitmap   = new Graphics::TBitmap();
 TJPEGImage *pJpg = new  TJPEGImage();
  try
  {
      if(FileExists (xianshi) )
      {
         pJpg->LoadFromFile(xianshi);
         pBitmap->Assign(pJpg);

         ImagePic->Canvas->StretchDraw(ImagePic->ClientRect , pBitmap);

      }
  }
   __finally
  {
      delete  pBitmap;
      delete  pJpg;
  }
}
//---------------------------------------------------------------------------

void __fastcall TMainForm::ComboBoxCityChange(TObject *Sender)
{
if( mDisplayRecord )
     return;
 HaveModified = true ;
 if( browserecord)
    UpdateRecord->Enabled = true;
}
//---------------------------------------------------------------------------



void __fastcall TMainForm::UpdateRecordClick(TObject *Sender)
{
if( HaveModified )
{
 if(DingWeiFlag)
{
    Update_Spd_Record();

     HaveModified = false;
      UpdateRecord->Enabled = false;
      return;
}
else
{
 // 更新当前记录
 Update_Spd_Record();

     HaveModified = false;
      UpdateRecord->Enabled = false;
      return;
 }
}        
}
//---------------------------------------------------------------------------

void __fastcall TMainForm::ComboBoxCityKeyDown(TObject *Sender, WORD &Key,
      TShiftState Shift)
{

TComboBox *Combox0;
if (Sender->ClassNameIs("TComboBox") )
    Combox0 = (TComboBox *)Sender;
else
    return;
AnsiString s1 =  Combox0->Text;
 if(Key == 0xd)
  {
   if(    Combox0->Items->IndexOf(s1) == -1)
     Combox0->Items->Add( s1 );

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

void __fastcall TMainForm::FormClose(TObject *Sender, TCloseAction &Action)
{
 if(enterrecord&&HaveModified )
  {
     int ret = Application->MessageBox(AnsiString( "已经录入的数据还没有保存!是否保存?").c_str(), "确认", MB_YESNOCANCEL  );
     if ( ret == IDYES )
     {
       SaveRecClick(Sender);
     }
    else if(ret == IDNO	 )
     {
   }
    else if( ret == IDCANCEL  )
    { Action = caNone;
      return;
    }

  }
else  if(browserecord )
      {  if( !CheckUpdate ( ))
             { Action = caNone;
               return;
              }
      }   

  try
{
  SaveParame();
 }
  catch(...)
  {}
  TableSpdCarInfo->Close() ;
}
//---------------------------------------------------------------------------
//保存卡的当前属性,以备下次连接时重新设回
void __fastcall TMainForm::SaveCombox(TIniFile *ini, TComboBox *mBox )
{
    AnsiString sval, sSection = mBox->Name;
    try{
       ini->WriteInteger( sSection , "Count" , mBox->Items->Count );
       ini->WriteString( sSection , "Txt" , mBox->Text );
       for ( int i = 0; i < mBox->Items->Count ; i++ )
          {
          sval = mBox->Items->Strings[i];
          ini->WriteString(sSection , "Item" + IntToStr(i), sval);
          }
       }
    catch(...)
    {
    }

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

⌨️ 快捷键说明

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