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

📄 mainwin.cpp

📁 停车场用
💻 CPP
字号:

//===============================================
//   项目名称:Rec_mark——停车场管理系统
//   开发日期:2002-01-15
//===============================================
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "MainWin.h"
#include "About.h"
#include "Account.h"
#include "UserData.h"
#include "roadway.h"
#include "controler.h"
#include "card.h"
#include "price.h"
#include "option.h"
#include "LoginSys.h"
#include "source.h"
#include "status.h"
#include "ParkSpace.h"
#include "Total.h"
#include "PauseCR.h"
#include "barr.h"
#include "right.h"

//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "Monitor"
#pragma link "Total"

#pragma resource "*.dfm"

#define MAIN_MONITOR  1  //监控模式
#define MAIN_TOTAL    2  //统计模式

//设置显示模式
static int SetMainDispMode(TMainForm *pForm,int nMode);
//获取显示模式
static int GetMainDispMode(TMainForm *pForm);

TMainForm *MainForm;
//---------------------------------------------------------------------------
__fastcall TMainForm::TMainForm(TComponent* Owner)
        : TForm(Owner)
{
 m_nDispMode=-1;
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::FormCreate(TObject *Sender)
{
 int rc;

 SetMainStatus(m_MainStatus);//设置主状态栏
 SetBounds(0,0,Screen->Width,Screen->Height);
 rc=InitStart(this);
 if(!rc) Application->Terminate();
 SetMainDispMode(this,MAIN_MONITOR);
}
void __fastcall TMainForm::FormDestroy(TObject *Sender)
{
  CloseWork();
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::m_AboutMenuClick(TObject *Sender)
{
 DoAbout(this);
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::m_QuitMenuClick(TObject *Sender)
{
  Close();
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::m_LoginMenuClick(TObject *Sender)
 {
  DoLogin(this);//登录
 }
void __fastcall TMainForm::m_LogoutMenuClick(TObject *Sender)
{
 SetCurAccToNone(); //设置当前帐号为无(自定义,且无任何权限)
 DispOperator(GetCurAccName());//显示操作员
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::m_SetAccountMenuClick(TObject *Sender)
 {
  int rc;

  //"用户帐号密码管理"
  rc= CheckAccountRight(DONE_EDITACCOUNT,RIGHT_MANAGE,2,0);
  if(rc)rc=SetAccount(this);//设置帐号
  if(rc)SaveOneLogToFile(DONE_EDITACCOUNT);
 }
//---------------------------------------------------------------------------
void __fastcall TMainForm::m_SysPasswordMenuClick(TObject *Sender)
{
  int rc;

//验证用户级别和密码(nPass<0忽略密码,nMost=0 管理员用户可忽略密码)
 rc=CheckAccountRight(DONE_EDITSYSPASSWORD,RIGHT_POWER,-1,0);
 if(rc)rc=ReworkSomeSysPassword(this);//设置系统密码
 if(rc)SaveOneLogToFile(DONE_EDITSYSPASSWORD);
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::m_SetCardButClick(TObject *Sender)
{
 int rc; //设置卡片

//验证用户级别和密码(nPass<0忽略密码,nMost=0 管理员用户可忽略密码)
 rc=CheckAccountRight(DONE_EDITCARD,RIGHT_POWER,2,0);
 if(rc)rc=SetCardData(this);
 if(rc)SaveOneLogToFile(DONE_EDITCARD);
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::FormCloseQuery(TObject *Sender,
      bool &CanClose)
{
  static char pszText[]="是否真的退出\n停车场管理系统?";
  int rc;

  rc=Application->MessageBox(pszText,GetMainTitle(),
      MB_YESNO|MB_ICONQUESTION|MB_DEFBUTTON2|MB_APPLMODAL);
  if(rc==IDYES) rc=TRUE;
  else rc=FALSE;

  CanClose=rc;
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::m_SetParkMenuClick(TObject *Sender)
{
 int rc;

//验证用户级别和密码(nPass<0忽略密码,nMost=0 管理员用户可忽略密码)
 rc=CheckAccountRight(DONE_EDITPARK,RIGHT_POWER,2,0);
 if(rc)rc=SetParkData(this);//设置停车场
 if(rc)SaveOneLogToFile(DONE_EDITPARK);
}
//---------------------------------------------------------------------------

void __fastcall TMainForm::m_ReadTimerTimer(TObject *Sender)
{
 ReadDataSource();
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::m_SetRoadwayMenuClick(TObject *Sender)
{
  int rc;
//验证用户级别和密码(nPass<0忽略密码,nMost=0 管理员用户可忽略密码)
  rc=CheckAccountRight(DONE_EDITROADWAY,RIGHT_POWER,2,0);
  if(rc)rc=SetRoadway(this);//设置进出车道
  if(rc)SaveOneLogToFile(DONE_EDITROADWAY);
}
//---------------------------------------------------------------------------

void __fastcall TMainForm::m_SetControlerMenuClick(TObject *Sender)
{
 int rc;

 //验证用户级别和密码(nPass<0忽略密码,nMost=0 管理员用户可忽略密码)
 rc=CheckAccountRight(DONE_EDITCONTROLER,RIGHT_POWER,2,0);
 if(rc)rc=SetControler(this); //设置控制器
 if(rc)SaveOneLogToFile(DONE_EDITCONTROLER);
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::m_SetUserMenuClick(TObject *Sender)
 {
  int rc;

 //验证用户级别和密码(nPass<0忽略密码,nMost=0 管理员用户可忽略密码)
  rc=CheckAccountRight(DONE_EDITUSER,RIGHT_POWER,2,0);
  if(rc)rc=SetUserData(this); //打开车主信息窗口
  if(rc)SaveOneLogToFile(DONE_EDITUSER);
 }
//---------------------------------------------------------------------------

void __fastcall TMainForm::m_SetPriceMenuClick(TObject *Sender)
 {
  int rc;

 //验证用户级别和密码(nPass<0忽略密码,nMost=0 管理员用户可忽略密码)
  rc=CheckAccountRight(DONE_EDITPRICE,RIGHT_POWER,2,0);
  if(rc)rc=SetPrice(this);   //打开收费设置窗口
  if(rc)SaveOneLogToFile(DONE_EDITPRICE);
 }
//---------------------------------------------------------------------------
void __fastcall TMainForm::m_RoadBarrMenuClick(TObject *Sender)
{
 int rc;

 //验证用户级别和密码(nPass<0忽略密码,nMost=0 管理员用户可忽略密码)
  rc=CheckAccountRight(DONE_MANAULBARR,RIGHT_USER,-1,0);
  if(rc)rc=SetRoadBarrState(this);//监控进出车道道闸
  if(rc)SaveOneLogToFile(DONE_MANAULBARR);
}

void __fastcall TMainForm::m_RoadWarnMenuClick(TObject *Sender)
{
 int rc;

 SetRoadWarnState(this);//监控进出车道报警
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::m_MainTimerTimer(TObject *Sender)
{
 CheckManaulParkrec(m_MoniFrame);//检查人工比对记录
 DispDateAndTime();
}
//---------------------------------------------------------------------------

void __fastcall TMainForm::m_MainStatusDrawPanel(TStatusBar *StatusBar,
      TStatusPanel *Panel, const TRect &Rect)
{
  //自画主窗口状态栏
  OwnerDrawMainStatus(StatusBar,Panel, Rect);
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::m_TodayParkMenuClick(TObject *Sender)
{
 SetMonitorTodayParkrec(m_MoniFrame);//设置监视当天停车记录
}
void __fastcall TMainForm::m_MonitorParkrecMenuClick(TObject *Sender)
{
   //打开车辆进出记录窗口:
 SetMonitorAllParkrec(m_MoniFrame);//设置监视所有停车记录
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::m_MonitorParkinMenuClick(TObject *Sender)
{
 SetMonitorAllParkin(m_MoniFrame);//设置监视所有场内车辆
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::m_InqCardMenuClick(TObject *Sender)
{
 InquireCardData(this);//查询感应卡片
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::m_InqParkrecMenuClick(TObject *Sender)
{
 int rc;
 InquireParkrec(m_MoniFrame);//多条件查询停车记录
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::m_InqParkinMenuClick(TObject *Sender)
{
 InquireParkin(m_MoniFrame);////多条件查询入场记录
}
//设置显示模式
int SetMainDispMode(TMainForm *pForm,int nMode)
 {
  int n;

  n=pForm->m_nDispMode;
  if(nMode!=n && nMode>0){
    pForm->m_nDispMode=nMode;
    pForm->m_MoniFrame->Hide();
    pForm->m_TotalFrame->Hide();
    if(nMode==MAIN_MONITOR) //监控
       pForm->m_MoniFrame->Show();
    else if(nMode==MAIN_TOTAL)//统计
       pForm->m_TotalFrame->Show();
   }
  return(n);
 }
//获取显示模式
int GetMainDispMode(TMainForm *pForm)
 {
  int n;

  n=pForm->m_nDispMode;
  return(n);
 }

void __fastcall TMainForm::FormResize(TObject *Sender)
{
 m_MoniFrame->Align=alClient;
 m_TotalFrame->Align=alClient;
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::m_InDayMenuClick(TObject *Sender)
{
 int rc;
 rc=TotalInparkFlux(m_TotalFrame,TOTAL_DAY);//日统计入场流量
 if(rc)SetMainDispMode(this,MAIN_TOTAL);
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::m_InMonthMenuClick(TObject *Sender)
{
 int rc;
 rc=TotalInparkFlux(m_TotalFrame,TOTAL_MONTH);//月统计入场流量
 if(rc)SetMainDispMode(this,MAIN_TOTAL);
}
//---------------------------------------------------------------------------

void __fastcall TMainForm::m_InYearMenuClick(TObject *Sender)
{
 int rc;
 rc=TotalInparkFlux(m_TotalFrame,TOTAL_YEAR);//年统计入场流量
 if(rc)SetMainDispMode(this,MAIN_TOTAL);
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::m_MonitorOutMenuClick(TObject *Sender)
{
 SetMainDispMode(this,MAIN_MONITOR);
 SetMonitorOut(m_MoniFrame);//设置监视外出车辆
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::m_OutDayMenuClick(TObject *Sender)
{
 int rc;
 rc=TotalOutparkFlux(m_TotalFrame,TOTAL_DAY);//日统计停车收费
 if(rc)SetMainDispMode(this,MAIN_TOTAL);
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::m_OutMonthMenuClick(TObject *Sender)
{
 int rc;
 rc=TotalOutparkFlux(m_TotalFrame,TOTAL_MONTH);//月统计停车收费
 if(rc)SetMainDispMode(this,MAIN_TOTAL);
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::m_OutYearMenuClick(TObject *Sender)
{
 int rc;
 rc=TotalOutparkFlux(m_TotalFrame,TOTAL_YEAR);//年统计停车收费
 if(rc)SetMainDispMode(this,MAIN_TOTAL);
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::m_InComeDayMenuClick(TObject *Sender)
{
 int rc;
 rc=TotalParkPrice(m_TotalFrame,TOTAL_DAY);//日统计停车收费
 if(rc)SetMainDispMode(this,MAIN_TOTAL);
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::m_IncomeMonthMenuClick(TObject *Sender)
{
 int rc;
 rc=TotalParkPrice(m_TotalFrame,TOTAL_MONTH);//月统计停车收费
 if(rc)SetMainDispMode(this,MAIN_TOTAL);
}
//---------------------------------------------------------------------------

void __fastcall TMainForm::m_IncomeYearMenuClick(TObject *Sender)
{
 int rc;
 rc=TotalParkPrice(m_TotalFrame,TOTAL_YEAR);//年统计停车收费
 if(rc)SetMainDispMode(this,MAIN_TOTAL);
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::m_PaidDayMenuClick(TObject *Sender)
{
 int rc;
 rc=TotalUserPaid(m_TotalFrame,TOTAL_DAY);//日统计用户交费
 if(rc)SetMainDispMode(this,MAIN_TOTAL);
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::m_PaidMonthMenuClick(TObject *Sender)
{
 int rc;
 rc=TotalUserPaid(m_TotalFrame,TOTAL_MONTH);//月统计用户交费
 if(rc)SetMainDispMode(this,MAIN_TOTAL);
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::m_PaidYearMenuClick(TObject *Sender)
{
 int rc;
 rc=TotalUserPaid(m_TotalFrame,TOTAL_YEAR);//年统计用户交费
 if(rc)SetMainDispMode(this,MAIN_TOTAL);
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::m_PauseCRMenuClick(TObject *Sender)
{
 int rc;

//验证用户级别和密码(nMost=0 管理员用户可忽略密码)
 rc=CheckAccountRight(DONE_PAUSECR,RIGHT_USER,3,0);
 if(rc)  rc=SetControlerState(this);//设置控制器状态
 if(rc)SaveOneLogToFile(DONE_PAUSECR);
}

void __fastcall TMainForm::m_DelOneParkinMenuClick(TObject *Sender)
{
 int rc;

 //验证用户级别和密码(nMost=0 管理员用户可忽略密码)
 rc=CheckAccountRight(DONE_DATABASE,RIGHT_MANAGE,0,TRUE);
 if(rc)rc=DeleteParkinRecord(m_MoniFrame,DELETE_ONE);
 if(rc)SaveOneLogToFile(DONE_DATABASE);
}
//---------------------------------------------------------------------------

void __fastcall TMainForm::m_DeleteAllPakinMenuClick(TObject *Sender)
{
 int rc;

 //验证用户级别和密码(nMost=0 管理员用户可忽略密码)
 rc=CheckAccountRight(DONE_DATABASE,RIGHT_MANAGE,0,TRUE);
 if(rc)rc=DeleteParkinRecord(m_MoniFrame,DELETE_ALL);
 if(rc)SaveOneLogToFile(DONE_DATABASE);
}
//---------------------------------------------------------------------------

void __fastcall TMainForm::m_DeleteOneParkrecMenuClick(TObject *Sender)
{
 int rc;

 //验证用户级别和密码(nMost=0 管理员用户可忽略密码)
 rc=CheckAccountRight(DONE_DATABASE,RIGHT_MANAGE,0,TRUE);
 if(rc)rc=DeleteParkrecRecord(m_MoniFrame,DELETE_ONE);
 if(rc)SaveOneLogToFile(DONE_DATABASE);
}
//---------------------------------------------------------------------------

void __fastcall TMainForm::m_DeleteAllParkrecMenuClick(TObject *Sender)
{
 int rc;

 //验证用户级别和密码(nMost=0 管理员用户可忽略密码)
 rc=CheckAccountRight(DONE_DATABASE,RIGHT_MANAGE,0,TRUE);
 if(rc)rc=DeleteParkrecRecord(m_MoniFrame,DELETE_ALL);
 if(rc)SaveOneLogToFile(DONE_DATABASE);
}
//---------------------------------------------------------------------------


⌨️ 快捷键说明

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