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

📄 umain.cpp

📁 可实现科研信息管理系统的功能,有项目管理,教师管理,科研项目管理等多项内容
💻 CPP
字号:
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop
#include <Inifiles.hpp>

#include "UMain.h"
//启动画面的头文件
#include "ULoading.h"
//自定义的消息框所需的头文件
#include "UMsgBox.h"
//自定义的数据类型
//=========================
#include "UProject.h"
#include "UTeacher.h"
#include "UDepartment.h"
#include "UAchievement.h"
#include "USalary.h"
#include "USQuery.h"
#include "UConfig.h"
#include "UMQuery.h"
#include "UDM.h"
//=========================
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TFormMain *FormMain;
TFormLoading *FormLoading;
TFormProject *FormProject;
TFormTeacher *FormTeacher;
TFormAchievement *FormAchievement;
TFormSalary *FormSalary;
TFormSQuery *FormSQuery;
TFormConfig *FormConfig;
TFormMQuery *FormMQuery;
TIniFile *ini;
AnsiString Str;
TFormMsgBox *MsgBox;
//---------------------------------------------------------------------------
__fastcall TFormMain::TFormMain(TComponent* Owner)
        : TFormTemplate(Owner)
{       //窗体构造函数
        //LabelCaption->Caption="科研人事管理系统";
        SBtnMax->Enabled=true;
}
//---------------------------------------------------------------------------
void __fastcall TFormMain::FormCreate(TObject *Sender)
{
        //创建程序启动画面;
        FormLoading=new TFormLoading(Application);
        FormLoading->Show();
        FormLoading->Update();
        Sleep(1000);
        //标实当前弹出的是启动画面,使窗口不响应任何操作;
        FormLoading->isloading=true;
        if(FileExists("Picture\\Main.bmp"))
                ImageMain->Picture->LoadFromFile("Picture\\Main.bmp");
}
//---------------------------------------------------------------------------
void __fastcall TFormMain::FormShow(TObject *Sender)
{
        //删除程序启动画面;
        if(FormLoading->isloading)
        {
                FormLoading->Close();
                delete FormLoading;
                FormLoading->isloading=false;
        }
        if(!FileExists("Database.mdb"))
        {
                MsgBox=new TFormMsgBox(Application);
                MsgBox->MsgBox("警告","系统没有检测到数据库文件DataBase.mdb\n\n建议从备份份点还原或手动还原。",MBOKONLY,MBWARNING);
                delete MsgBox;
        }
}
//---------------------------------------------------------------------------
void __fastcall TFormMain::Label1MouseDown(TObject *Sender,
      TMouseButton Button, TShiftState Shift, int X, int Y)
{
        if(Button == mbLeft)//判断是否按了鼠标左键
        {
                ReleaseCapture();//释放鼠标操作
                SendMessage(Handle, WM_NCLBUTTONDOWN,HTCAPTION,0);
        }
}
//---------------------------------------------------------------------------





void __fastcall TFormMain::FormCloseQuery(TObject *Sender, bool &CanClose)
{
        MsgBox=new TFormMsgBox(Application);
        MsgBox->MsgBox("提示","    是否退出程序?",MBOKCANCEL,MBINFORMATION);
        if(MsgBox->Id==IDYES)
        {
                Update();
                ini = new TIniFile(ChangeFileExt( Application->ExeName, ".dat" ) );
                bool AutoBackup=ini->ReadBool("Backupcfg", "AutoBackup",false);
                Str=ini->ReadString("Backupcfg", "FileName","");
                if(AutoBackup)
                {
                        LabelBackup->Visible=true;
                        Update();
                        Sleep(500);
                        CopyFile("DataBase.mdb",Str.c_str(),0);
                        LabelBackup->Caption="备份完毕,正在退出系统...";
                        Update();Sleep(1000);
                        
                }
        Application->Terminate();
        }
        else
        {
                delete MsgBox;
                Abort();
        }
}
//---------------------------------------------------------------------------
void __fastcall TFormMain::SBtnCloseClick(TObject *Sender)
{
        bool Can;
        FormCloseQuery(Sender, Can);
}
void __fastcall TFormMain::A2Click(TObject *Sender)
{
        //TFormMsgBox *MsgBox=new TFormMsgBox(Application);
        //MsgBox->MsgBox("关于","科研人事管理系统\n\n界面设计与制作:袁军 2004.5",MBOKONLY,MBINFORMATION);
        //delete MsgBox;
        TFormLoading *FormAbout=new TFormLoading(Application);
        //标实当前弹出的是关于窗口,使窗口响应鼠标和键盘操作;
        FormAbout->isloading=false;
        FormAbout->ShowModal();
        delete FormAbout;        
}
//---------------------------------------------------------------------------


void __fastcall TFormMain::N3Click(TObject *Sender)
{
        FormProject=new TFormProject(Application);
        DM->ADOQProject->Active=true;
      DM->ADOQAttender->Active=true;
        FormProject->ShowModal();
        delete FormProject;
}
//---------------------------------------------------------------------------

void __fastcall TFormMain::T1Click(TObject *Sender)
{
        FormTeacher=new TFormTeacher(Application);
        DM->ADOQTeacher->Active=true;
        DM->ADOQSalary->Active=true;
        DM->ADOQDepartment->Active=true;
        FormTeacher->ShowModal();
        delete FormTeacher;        
}
//---------------------------------------------------------------------------

void __fastcall TFormMain::D1Click(TObject *Sender)
{
        TFormDepartment *FormDepartment=new TFormDepartment(Application);
        DM->ADOQDepartment->Active=true;
        FormDepartment->ShowModal();
        delete FormDepartment;
}
//---------------------------------------------------------------------------

void __fastcall TFormMain::FormResize(TObject *Sender)
{
        ImageMain->Width=FormMain->ClientWidth-2;
        ImageMain->Height=FormMain->ClientHeight-20;
        Shape1->Width=FormMain->ClientWidth;       
}
//---------------------------------------------------------------------------

void __fastcall TFormMain::A3Click(TObject *Sender)
{
        FormAchievement=new TFormAchievement(Application);
        DM->ADOQAchievement->Active=true;
        DM->ADOQProject->Active=true;
        DM->ADOQAttender->Active=true;
        DM->ADOQReward->Active=true;
        FormAchievement->ShowModal();
        delete FormAchievement;
}
//---------------------------------------------------------------------------


void __fastcall TFormMain::N4Click(TObject *Sender)
{
        FormSalary=new TFormSalary(Application);
        DM->ADOQSalary->Active=true;
        FormSalary->ShowModal();
        delete FormSalary;        
}
//---------------------------------------------------------------------------


void __fastcall TFormMain::N7Click(TObject *Sender)
{
        FormSQuery=new TFormSQuery(Application);
        FormSQuery->ShowModal();
        delete FormSQuery;
}
//---------------------------------------------------------------------------

void __fastcall TFormMain::C2Click(TObject *Sender)
{
        FormConfig=new TFormConfig(Application);
        FormConfig->ShowModal();
        delete FormConfig;
}
//---------------------------------------------------------------------------

void __fastcall TFormMain::N1Click(TObject *Sender)
{
        ini = new TIniFile(ChangeFileExt( Application->ExeName, ".dat" ) );
        Str=ini->ReadString("Backupcfg", "FileName","");
        if(Str!="")
        {
                CopyFile("DataBase.mdb",Str.c_str(),0);
                MsgBox=new TFormMsgBox(Application);
                MsgBox->MsgBox("恭喜","数据库备份到\n\n"+Str+" 成功!",MBOKONLY,MBINFORMATION);
                delete MsgBox;
                delete ini;
        }
        else
        {
                MsgBox=new TFormMsgBox(Application);
                MsgBox->MsgBox("错误","   请在备份设置中设置备份路径!",MBOKONLY,MBERROR);
                delete MsgBox;
                C2Click(Sender);
        }
}
//---------------------------------------------------------------------------

void __fastcall TFormMain::N10Click(TObject *Sender)
{
        ini = new TIniFile(ChangeFileExt( Application->ExeName, ".dat" ) );
        Str=ini->ReadString("Backupcfg", "FileName","");
        if(Str!="")
        {
                MsgBox=new TFormMsgBox(Application);
                MsgBox->MsgBox("还原数据库","还原数据库可能导致最近的数据丢失,\n\n\确定还原数据库吗?",MBOKCANCEL,MBINFORMATION);
                if(MsgBox->Id==IDYES)
                {
                        CopyFile(Str.c_str(),"DataBase.mdb",0);
                        MsgBox->MsgBox("恭喜","数据库从\n\n"+Str+" 还原成功!",MBOKONLY,MBINFORMATION);
                        delete MsgBox;
                }
        }
        else
        {
                MsgBox=new TFormMsgBox(Application);
                MsgBox->MsgBox("错误","没找到配置文件!无法还原数据库!",MBOKONLY,MBERROR);
                delete MsgBox;
        }
}
//---------------------------------------------------------------------------

void __fastcall TFormMain::N8Click(TObject *Sender)
{
        FormMQuery=new TFormMQuery(Application);
        FormMQuery->ShowModal();
        delete FormMQuery;
}
//---------------------------------------------------------------------------


⌨️ 快捷键说明

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