Информационная система ДЕКАНАТ для автоматизации работы деканата факультета вуза

Автор работы: Пользователь скрыл имя, 16 Октября 2011 в 12:52, курсовая работа

Описание

Пусть максимальное число кафедр на факультете равно 10, кафедры готовят студентов по 12 специальностям.

Работа состоит из  1 файл

Пояснительная записка.doc

— 194.50 Кб (Скачать документ)

               Spec -> Post ();

               Spec -> Active = False;

               Spec -> Active = True;

          }

     }

     }

} 

//--------------------------------------------------------------------------- 

void __fastcall TPlans::Edit_SpecNumKeyPress(TObject *Sender, char &Key)

{

     if (Key == 13)

     {

        Plans -> ActiveControl = Edit_Spec;

     }

}

//--------------------------------------------------------------------------- 

void __fastcall TPlans::Chg_SpecClick(TObject *Sender)

{

     FindSpec -> Active = False;

     FindSpec -> ParamByName ("SpecNum") -> Value = Edit_SpecNum -> Text;

     FindSpec -> Active = True;

     if ((FindSpec -> FieldByName ("NUMBER") -> Value !=0)&&(Spec -> FieldByName ("№ специальности") -> Value != Edit_SpecNum -> Text) && (Spec -> FieldByName ("Название") -> Value == Edit_Spec -> Text)) MessageBox (NULL, "Специальности не могут иметь одинаковые номера", NULL, MB_OK);

     else

     {

               if (Edit_Spec -> Text == "") MessageBox (NULL, "Необходимо ввести название специальности", NULL, MB_OK);

               else

               {

               Spec -> Edit ();

               Spec -> FieldByName ("Название") -> Value = Edit_Spec -> Text;

               Spec -> FieldByName ("№ специальности") -> Value = Edit_SpecNum -> Text;

               Spec -> Post ();

               }

     } 

}

//--------------------------------------------------------------------------- 

void __fastcall TPlans::Del_SpecClick(TObject *Sender)

{

     if (MessageBox (NULL, "Удалить специальность.  Вы уверены?", "Удаление", MB_OKCANCEL) == 1)

     {

          Stud -> First();

          while (!Stud->Eof)

          {

               if (Stud -> FieldByName ("Код специальности") -> Value  == Spec -> FieldByName ("Код специальности") -> Value)

               {

                    Otm -> First ();

                    while (!Otm -> Eof)

                    {

                         if (Stud -> FieldByName ("Код студента") -> Value  == Otm-> FieldByName ("Код студента") -> Value) Otm -> Delete ();

                         Otm -> Next ();

                    }

                    if (Stud -> FieldByName ("Код студента") -> Value  == Otm-> FieldByName ("Код студента") -> Value) Otm -> Delete (); 

               }

               Stud -> Delete ();

               Stud -> Next ();

          }

          if (Stud -> FieldByName ("Код специальности") -> Value  == Spec -> FieldByName ("Код специальности") -> Value) Stud -> Delete ();

     }

     Spec -> Delete ();

  Plan -> Active = False;

  Plan -> Active = True;

}

//--------------------------------------------------------------------------- 
 

void __fastcall TPlans::Grid_KafCellClick(TColumn *Column)

{

      Plan -> Active = False;

      Plan -> ParamByName ("Kod_Spec") -> Value = Spec -> FieldByName ("Код специальности") -> Value;

      int value = Semestr -> ItemIndex;

      value++;

      Plan -> ParamByName ("Sem_Num") -> Value = value;

      Plan -> Active = True;

      if (Kaf -> FieldByName ("Код кафедры")!=0) Edit_Kaf -> Text = Kaf -> FieldByName ("Название") -> Value;

}

//--------------------------------------------------------------------------- 

void __fastcall TPlans::SemestrChange(TObject *Sender)

{

       Plan -> Active = False;

       Plan -> ParamByName ("Kod_Spec") -> Value = Spec -> FieldByName ("Код специальности") -> Value;

       int value = Semestr -> ItemIndex;

       value++;

       Plan -> ParamByName ("Sem_Num") -> Value = value;

       Plan -> Active = True;

}

//--------------------------------------------------------------------------- 

void __fastcall TPlans::GridSpecCellClick(TColumn *Column)

{

       Plan -> Active = False;

       Plan -> ParamByName ("Kod_Spec") -> Value = Spec -> FieldByName ("Код специальности") -> Value;

       int value = Semestr -> ItemIndex;

       value++;

       Plan -> ParamByName ("Sem_Num") -> Value = value;

       Plan -> Active = True;

       if (Spec -> FieldByName ("Код специальности")!=0)

       {

            Edit_SpecNum -> Text = Spec -> FieldByName ("№ специальности")-> Value;

            Edit_Spec -> Text = Spec -> FieldByName ("Название")-> Value;

       }

} 
 

//--------------------------------------------------------------------------- 

void __fastcall TPlans::Add_PredmClick(TObject *Sender)

{

      if (Semestr -> ItemIndex == -1)  MessageBox (NULL, "Необходимо выбрать семестр", NULL, MB_OK);

      else

      {

      if (ComboPredm -> Text == "")  MessageBox (NULL, "Необходимо выбрать предмет", NULL, MB_OK);

      else

      {

      int value;

      FindPlan -> Active = False;

      FindPlan -> ParamByName ("NamePredm") -> Value = ComboPredm-> Text;

      FindPlan -> ParamByName ("SpecNum") -> Value = Spec -> FieldByName ("Код специальности")->Value;;

      FindPlan -> ParamByName ("SemNum") -> Value = Semestr -> Text;

      FindPlan -> Active = True;

      FindPredm -> Active = False;

      FindPredm -> ParamByName ("NamePredm") -> Value = ComboPredm-> Text;

      FindPredm -> Active = True;

      if (FindPlan -> FieldByName ("NUMBER") -> Value !=0)

      {

          Plan_All -> Edit ();

          Plan_All -> FieldByName ("Наличие экзамена") -> Value = Examen -> ItemIndex;

          Plan_All -> FieldByName ("Наличие курсовика") -> Value = Kursovik -> ItemIndex;

          Plan_All -> FieldByName ("Лабораторных часов")-> Value = EditLab -> Text;

          Plan_All -> FieldByName ("Лекционных часов") -> Value= EditLekt -> Text;

          Plan_All -> FieldByName ("Практических часов") ->Value = EditPrakt -> Text;

      }

      else

      {

          if (Plan_All -> FindLast() == False) value = 0;

          else value = Plan_All -> FieldByName ("Код") -> Value;

          value++;

          Plan_All -> Append ();

          Plan_All -> FieldByName ("Код") -> Value = value;

          Plan_All -> FieldByName ("Код специальности") -> Value = Spec -> FieldByName ("Код специальности") -> Value;

          Plan_All -> FieldByName ("Код предмета") -> Value = FindPredm -> FieldByName ("Код предмета") -> Value;

          Plan_All -> FieldByName ("№ семестра") -> Value = Semestr-> Text;

          Plan_All -> FieldByName ("Наличие экзамена") -> Value = Examen -> ItemIndex;

          Plan_All -> FieldByName ("Наличие курсовика") -> Value = Kursovik -> ItemIndex;

          Plan_All -> FieldByName ("Лабораторных часов")-> Value = EditLab -> Text;

          Plan_All -> FieldByName ("Лекционных часов") -> Value= EditLekt -> Text;

          Plan_All -> FieldByName ("Практических часов") ->Value = EditPrakt -> Text;

     }

     Plan_All -> Post ();

     Plan -> Active = False;

     Plan -> Active = True;

     }

     }

}

//--------------------------------------------------------------------------- 

void __fastcall TPlans::Del_PredmClick(TObject *Sender)

{

  if (MessageBox (NULL, "Удалить запись. Вы уверены?", "Удаление", MB_OKCANCEL) == 1)

  while (!Plan_All-> Eof)

  {

     if (Plan_All -> FieldByName ("Код") -> Value == Plan  -> FieldByName ("Код") -> Value) Plan_All -> Delete();

     Plan_All -> Next();

  }

  Plan -> Active = False;

  Plan -> Active = True;

}

//--------------------------------------------------------------------------- 

//---------------Форма "Учебные карточки"------------------------ 

#include <vcl.h>

#pragma hdrstop 

#include "Unit2.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TStudents *Students;

//---------------------------------------------------------------------------

__fastcall TStudents::TStudents(TComponent* Owner)

     : TForm(Owner)

{

} 

void __fastcall TStudents::SemestrChange(TObject *Sender)

{

       Otm -> Active = False;

       int value = Semestr -> ItemIndex;

       value++;

       Otm -> ParamByName ("SemNum") -> Value = value;

       Otm -> ParamByName ("StudNum") -> Value = Stud->FieldByName ("Код студента")->Value;

       Otm -> Active = True;

       Predm -> Active = False;

      Predm -> ParamByName ("SemNum") -> Value = value;

       Predm -> ParamByName ("SpecNum") -> Value = Spec->FieldByName ("Код специальности")->Value;

       Predm -> Active = True;

} 

//--------------------------------------------------------------------------- 

void __fastcall TStudents::DBGrid1CellClick(TColumn *Column)

{

       Otm -> Active = False;

       int value = Semestr -> ItemIndex;

       value++;

       Otm -> ParamByName ("SemNum") -> Value = value;

       Otm -> ParamByName ("StudNum") -> Value = Stud->FieldByName ("Код студента")->Value;

       Otm -> Active = True;

}

//--------------------------------------------------------------------------- 

void __fastcall TStudents::DBGrid2CellClick(TColumn *Column)

{

       Otm -> Active = False;

       int value = Semestr -> ItemIndex;

       value++;

       Otm -> ParamByName ("SemNum") -> Value = value;

       Otm -> ParamByName ("StudNum") -> Value = Stud->FieldByName ("Код студента")->Value;

       Otm -> Active = True;

}

//--------------------------------------------------------------------------- 

void __fastcall TStudents::Add_StudClick(TObject *Sender)

{

         Edit_Stud -> Visible = True;

         Edit_Stud -> Text = "";

         LStud -> Visible = True;

         BStud_OK -> Visible = True;

         Students -> ActiveControl = Edit_Stud;

Информация о работе Информационная система ДЕКАНАТ для автоматизации работы деканата факультета вуза