📄 mainwin.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 + -