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

📄 uproject.cpp

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

#include <vcl.h>
#pragma hdrstop

#include "UProject.h"
#include "UDM.h"
#include "UMsgBox.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "UTemplate"
#pragma resource "*.dfm"
bool isadding,ismodify;
//---------------------------------------------------------------------------
__fastcall TFormProject::TFormProject(TComponent* Owner)
        : TFormTemplate(Owner)
{
        //LabelCaption->Caption="工程管理";
        //SBtnMax->Enabled=false;
}
//---------------------------------------------------------------------------
void __fastcall TFormProject::FormCloseQuery(TObject *Sender,
      bool &CanClose)
{
/*        TFormMsgBox *MsgBox=new TFormMsgBox(Application);
        MsgBox->MsgBox("提示","    是否关闭窗口?",MBOKCANCEL,MBINFORMATION);
        if(MsgBox->Id==IDYES)
        {*/
                DM->ADOQProject->Active=false;
                DM->ADOQAttender->SQL->Clear();
                DM->ADOQAttender->SQL->Add("select * from attender order by pno");
                DM->ADOQAttender->Active=false;
                DM->ADOQTeacher->Active=false;
                Close();
        /*}
        else
        {
                delete MsgBox;
                Abort();
        }*/        
}
//---------------------------------------------------------------------------


void __fastcall TFormProject::SBtnNextClick(TObject *Sender)
{
        DM->ADOQProject->Next();
}
//---------------------------------------------------------------------------
void __fastcall TFormProject::DBEPNoChange(TObject *Sender)
{
        DisplayAttender();
}
//---------------------------------------------------------------------------


void __fastcall TFormProject::FormShow(TObject *Sender)
{
        //显示主要参加表;
        DM->ADOQAttender->Close();
        DM->ADOQAttender->SQL->Clear();
        DM->ADOQAttender->SQL->Add("select tname from teacher where tno in(select tno from Attender where pno='"+DBEPNo->Text+"')");
        DM->ADOQAttender->Open();
        //显示一般参加表;
        //建立教师姓名选择下拉框,防止添加工程时输入非法数据;
        DM->ADOQTeacher->Active=true;
        while(!DM->ADOQTeacher->Eof)
        {
                CBTName->AddItem(DM->ADOQTeacher->FieldByName("TName")->AsString,0);
                DM->ADOQTeacher->Next();
        }
        DM->ADOQTeacher->Prior();
        DM->ADOQTeacher->Active=false;
        CBTName->ItemIndex=0;
        CBTName1->Items=CBTName->Items;
        CBTName2->Items=CBTName->Items;
        CBTName3->Items=CBTName->Items;
        CBTName4->Items=CBTName->Items;
        CBTName5->Items=CBTName->Items;
        CBTName6->Items=CBTName->Items;
}
//---------------------------------------------------------------------------

void __fastcall TFormProject::SBtnPriClick(TObject *Sender)
{
        DM->ADOQProject->Prior();        
}
//---------------------------------------------------------------------------

void __fastcall TFormProject::SBtnAddClick(TObject *Sender)
{
        isadding=true;
        ismodify=false;
        DataControlState(false);
        DM->ADOQProject->Append();
        DBEManager->Text=CBTName->Text;
        //DM->ADOQMainAttender->Append();
        //DM->ADOQNormalAttender->Append();


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



void __fastcall TFormProject::DataControlState(bool ReadOnly)
{
        DBCBProject->Enabled=!ReadOnly;
        DBEManager->ReadOnly=ReadOnly;
        DBEPName->ReadOnly=ReadOnly;
        DBEPNo->ReadOnly=ReadOnly;
        DBETime->ReadOnly=ReadOnly;
        DBETreasure->ReadOnly=ReadOnly;
        DBGrid->Enabled=ReadOnly;
        DBGrid->Refresh();
        EMA1->ReadOnly=ReadOnly;
        EMA2->ReadOnly=ReadOnly;
        EMA3->ReadOnly=ReadOnly;
        ENA1->ReadOnly=ReadOnly;
        ENA2->ReadOnly=ReadOnly;
        ENA3->ReadOnly=ReadOnly;
        CBTName->Visible=!ReadOnly;
        CBTName1->Visible=!ReadOnly;
        CBTName2->Visible=!ReadOnly;
        CBTName3->Visible=!ReadOnly;
        CBTName4->Visible=!ReadOnly;
        CBTName5->Visible=!ReadOnly;
        CBTName6->Visible=!ReadOnly;
        SBtnPri->Enabled=ReadOnly;
        SBtnNext->Enabled=ReadOnly;
        SBtnAdd->Enabled=ReadOnly;
        SBtnModify->Enabled=ReadOnly;
        SBtnDelete->Enabled=ReadOnly;
        SBtnCommit->Enabled=!ReadOnly;
}
void __fastcall TFormProject::SBtnCommitClick(TObject *Sender)
{
        try
        {
                DM->ADOQProject->Post();
                DataControlState(true);
                //依次添加参加者信息;
                if(isadding)
                {
                        if(CBTName1->Text!="")
                        {
                                DM->ADOQAttender->SQL->Clear();
                                DM->ADOQAttender->SQL->Add("insert into attender values('"+DBEPNo->Text+"','"+CBTName1->Text+"','主要参加')");
                                DM->ADOQAttender->ExecSQL();
                        }
                        if(CBTName2->Text!=""&&CBTName2->Text!=CBTName1->Text)
                        {
                                DM->ADOQAttender->SQL->Clear();
                                DM->ADOQAttender->SQL->Add("insert into attender values('"+DBEPNo->Text+"','"+CBTName2->Text+"','主要参加')");
                                DM->ADOQAttender->ExecSQL();
                        }
                        if(CBTName3->Text!=""&&CBTName3->Text!=CBTName1->Text&&CBTName3->Text!=CBTName2->Text)
                        {
                                DM->ADOQAttender->SQL->Clear();
                                DM->ADOQAttender->SQL->Add("insert into attender values('"+DBEPNo->Text+"','"+CBTName3->Text+"','主要参加')");
                                DM->ADOQAttender->ExecSQL();
                        }
                        if(CBTName4->Text!="")
                        {
                                DM->ADOQAttender->SQL->Clear();
                                DM->ADOQAttender->SQL->Add("insert into attender values('"+DBEPNo->Text+"','"+CBTName4->Text+"','一般参加')");
                                DM->ADOQAttender->ExecSQL();
                        }
                        if(CBTName5->Text!=""&&CBTName5->Text!=CBTName4->Text)
                        {
                                DM->ADOQAttender->SQL->Clear();
                                DM->ADOQAttender->SQL->Add("insert into attender values('"+DBEPNo->Text+"','"+CBTName5->Text+"','一般参加')");
                                DM->ADOQAttender->ExecSQL();
                        }
                        if(CBTName6->Text!=""&&CBTName6->Text!=CBTName4->Text&&CBTName6->Text!=CBTName5->Text)
                        {
                                DM->ADOQAttender->SQL->Clear();
                                DM->ADOQAttender->SQL->Add("insert into attender values('"+DBEPNo->Text+"','"+CBTName6->Text+"','一般参加')");
                                DM->ADOQAttender->ExecSQL();
                        }

                }
                //依次修改参加者信息;
                if(ismodify)
                {
                        DM->ADOQAttender->SQL->Clear();
                        DM->ADOQAttender->SQL->Add("delete * from attender where pno='"+DBEPNo->Text+"'");
                        DM->ADOQAttender->ExecSQL();
                        if(CBTName1->Text!="")
                        {
                                DM->ADOQAttender->SQL->Clear();
                                DM->ADOQAttender->SQL->Add("insert into attender values('"+DBEPNo->Text+"','"+CBTName1->Text+"','主要参加')");
                                DM->ADOQAttender->ExecSQL();
                        }
                        if(CBTName2->Text!=""&&CBTName2->Text!=CBTName1->Text)
                        {
                                DM->ADOQAttender->SQL->Clear();
                                DM->ADOQAttender->SQL->Add("insert into attender values('"+DBEPNo->Text+"','"+CBTName2->Text+"','主要参加')");
                                DM->ADOQAttender->ExecSQL();
                        }
                        if(CBTName3->Text!=""&&CBTName3->Text!=CBTName1->Text&&CBTName3->Text!=CBTName2->Text)
                        {
                                DM->ADOQAttender->SQL->Clear();
                                DM->ADOQAttender->SQL->Add("insert into attender values('"+DBEPNo->Text+"','"+CBTName3->Text+"','主要参加')");
                                DM->ADOQAttender->ExecSQL();
                        }
                        if(CBTName4->Text!="")
                        {
                                DM->ADOQAttender->SQL->Clear();
                                DM->ADOQAttender->SQL->Add("insert into attender values('"+DBEPNo->Text+"','"+CBTName4->Text+"','一般参加')");
                                DM->ADOQAttender->ExecSQL();
                        }
                        if(CBTName5->Text!=""&&CBTName5->Text!=CBTName4->Text)
                        {
                                DM->ADOQAttender->SQL->Clear();
                                DM->ADOQAttender->SQL->Add("insert into attender values('"+DBEPNo->Text+"','"+CBTName5->Text+"','一般参加')");
                                DM->ADOQAttender->ExecSQL();
                        }
                        if(CBTName6->Text!=""&&CBTName6->Text!=CBTName4->Text&&CBTName6->Text!=CBTName5->Text)
                        {
                                DM->ADOQAttender->SQL->Clear();
                                DM->ADOQAttender->SQL->Add("insert into attender values('"+DBEPNo->Text+"','"+CBTName6->Text+"','一般参加')");
                                DM->ADOQAttender->ExecSQL();
                        }
                }
                DisplayAttender();
        }
        catch(...)
        {
        }

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

void __fastcall TFormProject::Button1Click(TObject *Sender)
{
        DataControlState(true);        
}
//---------------------------------------------------------------------------


void __fastcall TFormProject::DisplayAttender()
{
        //TODO: Add your source code here
        EMA1->Text="";
        EMA2->Text="";
        EMA3->Text="";
        ENA1->Text="";
        ENA2->Text="";
        ENA3->Text="";
        //查找主要参加者
        DM->ADOQAttender->Close();
        DM->ADOQAttender->SQL->Clear();
        DM->ADOQAttender->SQL->Add("select tname from Attender where pno='"+DBEPNo->Text+"' and charactor='主要参加'");
        DM->ADOQAttender->Open();
        //依次显示主要参加者表中的人员名单
        if(DM->ADOQAttender->Eof);
        else
        {
                EMA1->Text=DM->ADOQAttender->FieldByName("Tname")->AsString;
                DM->ADOQAttender->Next();
        }
        if(DM->ADOQAttender->Eof);
        else
        {
                EMA2->Text=DM->ADOQAttender->FieldByName("Tname")->AsString;
                DM->ADOQAttender->Next();
        }
        if(DM->ADOQAttender->Eof);
        else
                EMA3->Text=DM->ADOQAttender->FieldByName("Tname")->AsString;
        //查找一般参加者
        DM->ADOQAttender->Close();
        DM->ADOQAttender->SQL->Clear();
        DM->ADOQAttender->SQL->Add("select tname from Attender where pno='"+DBEPNo->Text+"' and charactor='一般参加'");
        DM->ADOQAttender->Open();
        //依次显示一般参加者表中的人员名单
        if(DM->ADOQAttender->Eof);
        else
        {
                ENA1->Text=DM->ADOQAttender->FieldByName("Tname")->AsString;
                DM->ADOQAttender->Next();
        }
        if(DM->ADOQAttender->Eof);
        else
        {
                ENA2->Text=DM->ADOQAttender->FieldByName("Tname")->AsString;
                DM->ADOQAttender->Next();
        }
        if(DM->ADOQAttender->Eof);
        else
                ENA3->Text=DM->ADOQAttender->FieldByName("Tname")->AsString;
}
void __fastcall TFormProject::CBTNameChange(TObject *Sender)
{
        DBEManager->Text=CBTName->Text;        
}
//---------------------------------------------------------------------------

void __fastcall TFormProject::SBtnDeleteClick(TObject *Sender)
{
        DM->ADOQProject->Delete();
}
//---------------------------------------------------------------------------


void __fastcall TFormProject::SBtnModifyClick(TObject *Sender)
{
        isadding=false;
        ismodify=true;
        DataControlState(false);
        DM->ADOQProject->Edit();
}
//---------------------------------------------------------------------------


⌨️ 快捷键说明

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