Автор работы: Пользователь скрыл имя, 16 Октября 2011 в 12:52, курсовая работа
Пусть максимальное число кафедр на факультете равно 10, кафедры готовят студентов по 12 специальностям.
Spec -> Post ();
Spec -> Active = False;
Spec -> Active = True;
}
}
}
}
//----------------------------
void __fastcall TPlans::Edit_SpecNumKeyPress(
{
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(
{
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(
{
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(
: TForm(Owner)
{
}
void __fastcall TStudents::SemestrChange(
{
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(
{
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(
{
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(
{
Edit_Stud -> Visible = True;
Edit_Stud -> Text = "";
LStud -> Visible = True;
BStud_OK -> Visible = True;
Students -> ActiveControl = Edit_Stud;
Информация о работе Информационная система ДЕКАНАТ для автоматизации работы деканата факультета вуза