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

📄 plan.cpp

📁 使用改进的遗传算法实现简单的高校排课
💻 CPP
字号:
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "plan.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TPlanForm *PlanForm;
//---------------------------------------------------------------------------
__fastcall TPlanForm::TPlanForm(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TPlanForm::FormClose(TObject *Sender, TCloseAction &Action)
{
    Action = caFree;
}
//---------------------------------------------------------------------------
void __fastcall TPlanForm::Button1Click(TObject *Sender)
{
    DBNavigator1->BtnClick(nbFirst);        
}
//---------------------------------------------------------------------------
void __fastcall TPlanForm::Button3Click(TObject *Sender)
{
    DBNavigator1->BtnClick(nbPrior);
}
//---------------------------------------------------------------------------
void __fastcall TPlanForm::Button4Click(TObject *Sender)
{
    DBNavigator1->BtnClick(nbDelete);        
}
//---------------------------------------------------------------------------
void __fastcall TPlanForm::Button2Click(TObject *Sender)
{
     DBNavigator1->BtnClick(nbInsert);
}
//---------------------------------------------------------------------------

void __fastcall TPlanForm::Button5Click(TObject *Sender)
{
     DBNavigator1->BtnClick(nbNext);
}
//---------------------------------------------------------------------------

void __fastcall TPlanForm::Button6Click(TObject *Sender)
{
    DBNavigator1->BtnClick(nbEdit);
}
//---------------------------------------------------------------------------

void __fastcall TPlanForm::Button7Click(TObject *Sender)
{
   DBNavigator1->BtnClick(nbLast);
}
//---------------------------------------------------------------------------

void __fastcall TPlanForm::Button8Click(TObject *Sender)
{
    DBNavigator1->BtnClick(nbCancel);
}
//---------------------------------------------------------------------------
void __fastcall TPlanForm::ComboBox1Change(TObject *Sender)
{
    AnsiString temp, tmp;

    ListBox1->Clear();
    if (ComboBox1->Text == "1 年级")
    {
         grade = 1;
    }
    else if (ComboBox1->Text == "2 年级")
    {
         grade = 2;
    }
    else if (ComboBox1->Text == "3 年级")
    {
         grade = 3;
    }
    else if (ComboBox1->Text == "4 年级")
    {
         grade = 4;
    }

    ADOQuery1->Close();
    ADOQuery1->SQL->Clear();
    ADOQuery1->SQL->Add("select * From Class");
    ADOQuery1->SQL->Add("where Grade = :Grade");
    ADOQuery1->Parameters->ParamByName("Grade")->Value=grade;
    ADOQuery1->Open();
    if(ADOQuery1->RecordCount!=0)
    {
        ADOQuery1->First();
        while(!ADOQuery1->Eof)
        {
            tmp = ADOQuery1->FieldByName("Name")->AsString;
            ListBox1->AddItem(tmp, this);
            ADOQuery1->Next();
         }
    }
}
//---------------------------------------------------------------------------



void __fastcall TPlanForm::ListBox1Click(TObject *Sender)
{
    int  find = 0;
    int  total_curse = 0;
    AnsiString temp;
    int  ins = ListBox1->ItemIndex;

    ADOTable1->Active = false;
    ADOQuery1->Close();
    ADOQuery1->SQL->Clear();
    ADOQuery1->SQL->Add("select * From Class");
    ADOQuery1->SQL->Add("where Grade = :Grade");
    ADOQuery1->Parameters->ParamByName("Grade")->Value=grade;
    ADOQuery1->Open();
    if(ADOQuery1->RecordCount!=0)
    {
        ADOQuery1->First();
        while(!ADOQuery1->Eof)
        {
            temp = ADOQuery1->FieldByName("Name")->AsString;
            if (find == ins)
               break;
            ADOQuery1->Next();
            find ++;
         }
    }
    Edit1->Text = temp;
    ADOTable1->Filtered = true;
    ADOTable1->Filter = "班级 = '" + temp + "'";
    ADOTable1->Active = true;

    ADOQuery1->Close();
    ADOQuery1->SQL->Clear();
    ADOQuery1->SQL->Add("select * From plans");
    ADOQuery1->SQL->Add("where 班级 = :Grade");
    ADOQuery1->Parameters->ParamByName("Grade")->Value=temp;
    ADOQuery1->Open();
    if(ADOQuery1->RecordCount!=0)
    {
        ADOQuery1->First();
        while(!ADOQuery1->Eof)
        {
            total_curse += ADOQuery1->FieldByName("周课时")->AsInteger;
            ADOQuery1->Next();
         }
    }
    Edit2->Text = IntToStr(total_curse);
} 
//---------------------------------------------------------------------------

⌨️ 快捷键说明

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