Создание программы для работы с базой данных учёта рождаемости

Автор работы: Пользователь скрыл имя, 10 Ноября 2013 в 13:17, контрольная работа

Описание работы

Создать программу для работы с базой данных учёта рождаемости, сформированной в виде файла записей. В каждой записи определить поля:
Населённый пункт, национальность, вес, рост, дата рождения, фамилия, имя, отчество. (Я добавил поле ПОЛ). Необходимо реализовать следующие операции: создание и удаление записи, сохранение и считывание файла записи с диска, редактирование, поиск и сортировку данных по населённым пунктам, просмотр записей и навигацию по базе.

Файлы: 1 файл

Readme.doc

— 291.50 Кб (Скачать файл)

{//Кнопка Предыдущая запись

StatusBar1->Panels->Items[0]->Text="Предыдущая запись";

if (ComboBox1->ItemIndex==0)

{

BitBtn1->Enabled=false;

}

if(ComboBox1->ItemIndex>0)

{ComboBox1->ItemIndex=ComboBox1->ItemIndex-1;

ComboBox1Change(Sender);

BitBtn2->Enabled=true;

}

}

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

 

void __fastcall TPagesDlg::BitBtn2Click(TObject *Sender)

{ //Кнопка следующая  запись

StatusBar1->Panels->Items[0]->Text="Следующая  запись";

BitBtn1->Enabled=true;

if(ComboBox1->ItemIndex<ComboBox1->Items->Count-1)

{

ComboBox1->ItemIndex=ComboBox1->ItemIndex+1;

ComboBox1Change(Sender);

{

if  (ComboBox1->ItemIndex<ComboBox1->Items->Count-1)

BitBtn2->Enabled=true;

else

BitBtn2->Enabled=false;

}

}

}

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

 

void __fastcall TPagesDlg::BitBtn3Click(TObject *Sender)

{//Удаление всех записей  из базы

StatusBar1->Panels->Items[0]->Text="Сохранить содержимое?";

Beep(1000,100); //Звуковое предупреждение

if (ComboBox1->ItemIndex==-1)//Вывод  сообщения, если записей нет

     ShowMessage("В  базе нет запией для удалния");

     else

if (MessageBox(0,"Сохранить  содержимое? ",

"Подтвердите сохранение",MB_YESNO)==IDYES)

{

SpeedButton2Click(Sender);

}

ComboBox1->Items->Clear();

Edit1->Clear();

Edit2->Clear();

Edit3->Clear();

Edit4->Clear();

Edit5->Clear();

Edit6->Clear();

Edit7->Clear();

Edit8->Clear();

Edit9->Clear();

for(int i = 1; i < StringGrid1->RowCount; i++)

StringGrid1->Rows[i]->Clear();

StatusBar1->Panels->Items[0]->Text="";

}

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

 

void __fastcall TPagesDlg::BitBtn4Click(TObject *Sender)

//Кнопка Удаление записи из  формы

{Beep(1000,100); //Звуковое предупреждение

int N=ComboBox1->ItemIndex;

N++;

N--;

  if (ComboBox1->ItemIndex==-1)//Если записей  в ComboBox1 нет, то вывод данного  собщения

     ShowMessage("Удаление возможно  только для выбранных записей");

     else

   if (MessageBox(0,"Вы действительно  хотите удалить запись из формы?",

"Предупреждение!",MB_YESNO)==IDYES);

        else

        {

           Abort();

        }

ComboBox1->Items->Delete(N);

ComboBox1->ItemIndex=0;

if  (ComboBox1->ItemIndex==-1)

  Edit1->Clear();

Edit2->Clear();

Edit3->Clear();

Edit4->Clear();

Edit5->Clear();

Edit6->Clear();

Edit7->Clear();

Edit8->Clear();

Edit9->Clear();

ComboBox1Change(Sender);

}

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

 

void __fastcall TPagesDlg::SpeedButton1Click(TObject *Sender)

{//Кнопка дублирование  сохранения в файл

N2Click(Sender);

}

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

 

void __fastcall TPagesDlg::SpeedButton3Click(TObject *Sender)

{//Кнопка о программе

N12Click(Sender);

}

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

 

void __fastcall TPagesDlg::SpeedButton4Click(TObject *Sender)

{//Кнопка печати

                21 страница       Приложение 1 (Файл-модуль Unit1.cpp)

 

N4Click(Sender);

}

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

 

 

void __fastcall TPagesDlg::SpeedButton2Click(TObject *Sender)

{// Кнопка Запись в  файл

N3Click(Sender);

}

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

 

 

void __fastcall TPagesDlg::N4Click(TObject *Sender)

{//Пункт меню Вывод  содержимого на принтер

StatusBar1->Panels->Items[0]->Text="Печать";

PrinterSetupDialog1->Execute();

StatusBar1->Panels->Items[0]->Text="";

}

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

 

void __fastcall TPagesDlg::Timer1Timer(TObject *Sender)

{//Таймер для часов

Label11->Caption=Time().FormatString("hh:mm:ss");

Timer1->Interval=1;

Label12->Caption=Date();

int i  = DayOfWeek(Date());//необходимо  для вывода дня недели

switch(i)

{

case 1: Label13->Caption="Воскресенье"; break;

case 2: Label13->Caption="Понедельник"; break;

case 3: Label13->Caption="Вторник"; break;

case 4: Label13->Caption="Среда"; break;

case 5: Label13->Caption="Четверг"; break;

case 6: Label13->Caption="Пятница"; break;

case 7: Label13->Caption="Суббота";  break;

}

}

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

 

void __fastcall TPagesDlg::SpeedButton5Click(TObject *Sender)

//Кнопка запуска почтового  клиента

{

N14Click(Sender);}

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

 

void __fastcall TPagesDlg::SpeedButton6Click(TObject *Sender)

{// Кнопка запуска браузера

N13Click(Sender);

}

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

 

 

void __fastcall TPagesDlg::FormCloseQuery(TObject *Sender, bool &CanClose)

//Закрытие базы

{  StatusBar1->Panels->Items[0]->Text="Закрыть";

Beep(1000,100);

if(MessageDlg("Закрыть базу?", mtConfirmation,

TMsgDlgButtons()<<mbYes<<mbNo,0)==mrYes)

CanClose=true;

else CanClose=false;

TRect r1,r2; //закрытие в середину

r1 = Rect(Left+Width/2,Top+Height/2,Left+Width/2,Top+Height/2);

r2 = BoundsRect;

DrawAnimatedRects(Handle,IDANI_CAPTION,&r2,&r1);

StatusBar1->Panels->Items[0]->Text="";

}

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

 

void __fastcall TPagesDlg::BitBtn5Click(TObject *Sender)

{// Кнопка Очистка формы

StatusBar1->Panels->Items[0]->Text="Очистка формы";

Beep(1000,100); //Звуковое предупреждение

Edit1->Clear();

 Edit2->Clear();

Edit3->Clear();

Edit4->Clear();

Edit5->Clear();

Edit6->Clear();

Edit7->Clear();

Edit8->Clear();

Edit9->Clear();

StatusBar1->Panels->Items[0]->Text="";

}

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

 

void __fastcall TPagesDlg::BitBtn6Click(TObject *Sender)

{//Кнопка Сохранение  изменённой записи

StatusBar1->Panels->Items[0]->Text="Изменение записи";

Beep(1000,100); //Звуковое предупреждение

if (ComboBox1->ItemIndex==-1)//Вывод  сообщения, если записей нет

     ShowMessage("Редактирование  возможно только для выбранных  записей");

     else

   if (MessageBox(0,"Вы  действительно хотите изменить  запись?",

"Предупреждение!",MB_YESNO)==IDYES);

        else

        {

           Abort();

        }

int N=ComboBox1->ItemIndex; N++;

if (N)

{StringGrid1->Cells[0][N]=Edit1->Text;

StringGrid1->Cells[1][N]=Edit2->Text;

StringGrid1->Cells[2][N]=Edit3->Text;

StringGrid1->Cells[3][N]=Edit4->Text;

StringGrid1->Cells[4][N]=Edit5->Text;

StringGrid1->Cells[5][N]=Edit6->Text;

StringGrid1->Cells[6][N]=Edit7->Text;

StringGrid1->Cells[7][N]=Edit8->Text;

StringGrid1->Cells[8][N]=Edit9->Text;

N--;

ComboBox1->Items->Delete(N);

ComboBox1->Items->Insert(N,Edit1->Text);

ComboBox1->ItemIndex=0;

ComboBox1Change(Sender);

}

StatusBar1->Panels->Items[0]->Text="";

if (ComboBox1->ItemIndex==-1)

Abort();

else

{ShowMessage("Запись успешно сохранена");

}

}

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

 

void __fastcall TPagesDlg::N12Click(TObject *Sender)

{//Пункт меню О программе

StatusBar1->Panels->Items[0]->Text="О  программе и авторе";

AboutBox->ShowModal();

StatusBar1->Panels->Items[0]->Text="";}

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

 

void __fastcall TPagesDlg::N13Click(TObject *Sender)

{//Пункт меню Запуск браузера

ShellExecute(Handle, "open", "http://google.ru/",

0, 0, SW_SHOWNORMAL);

}

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

 

void __fastcall TPagesDlg::N14Click(TObject *Sender)

{//Пункт меню Запуск  почтового клиента

ShellExecute(Handle,NULL,"mailto:Ls244@yandex.ru?subject=Tema",

NULL,NULL,SW_SHOWNORMAL);

}

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

 

void __fastcall TPagesDlg::CD1Click(TObject *Sender)

{//Пункт меню Открытие CD-привода

mciSendString("Set cdaudio door open wait", NULL, 0, Handle);

}

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

 

void __fastcall TPagesDlg::CD2Click(TObject *Sender)

{//Пункт меню Закрытие CD-привода

mciSendString("Set cdaudio door closed wait", NULL, 0, Handle);

}

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

 

void __fastcall TPagesDlg::N15Click(TObject *Sender)

{//Запуск стандартного канкулятора для Windows

ShellExecute(Handle, 0, "C:\\windows\\system32\\Calc.exe", NULL,NULL,SW_SHOWNORMAL);

}

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

 

void __fastcall TPagesDlg::SpeedButton7Click(TObject *Sender)

{//Кнопка на панели  дублирует канкулятор

N15Click(Sender);}

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

 

void __fastcall TPagesDlg::N17Click(TObject *Sender)

{ //Запуск игры Косыека для Windows

ShellExecute(Handle, 0, "C:\\windows\\system32\\sol.exe", NULL,NULL,SW_SHOWNORMAL);}

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

 

void __fastcall TPagesDlg::N18Click(TObject *Sender)

{//Запуск игры Солитёр для Windows

ShellExecute(Handle, 0, "C:\\windows\\system32\\freecell.exe", NULL,NULL,SW_SHOWNORMAL);

}

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

 

void __fastcall TPagesDlg::N19Click(TObject *Sender)

{//Пункт меню Вывод календаря

AboutBox1->ShowModal();

}

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

 

void __fastcall TPagesDlg::N10Click(TObject *Sender)

{//Пункт меню Сохрание  изменений

StatusBar1->Panels->Items[0]->Text="Сохранить  изменения ?";

Beep(1000,100); //Звуковое предупреждение

if (ComboBox1->ItemIndex==-1)//Вывод  сообщения, если записей нет

     ShowMessage("Редактирование  возможно только для выбранных  записей");

     else

   if (MessageBox(0,"Вы  действительно хотите изменить  запись?",

"Предупреждение!",MB_YESNO)==IDYES);

        else

        {

        Abort();

        }

int N=ComboBox1->ItemIndex; N++;

if (N)

{StringGrid1->Cells[0][N]=Edit1->Text;

StringGrid1->Cells[1][N]=Edit2->Text;

StringGrid1->Cells[2][N]=Edit3->Text;

StringGrid1->Cells[3][N]=Edit4->Text;

StringGrid1->Cells[4][N]=Edit5->Text;

StringGrid1->Cells[5][N]=Edit6->Text;

StringGrid1->Cells[6][N]=Edit7->Text;

StringGrid1->Cells[7][N]=Edit8->Text;

StringGrid1->Cells[8][N]=Edit9->Text;

N--;

ComboBox1->Items->Delete(N);

ComboBox1->Items->Insert(N,Edit1->Text);

ComboBox1->ItemIndex=0;

ComboBox1Change(Sender);

}

StatusBar1->Panels->Items[0]->Text="";

if (ComboBox1->ItemIndex==-1)

Abort();

else

{ShowMessage("Запись успешно сохранена");

} }

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

 

void __fastcall TPagesDlg::N8Click(TObject *Sender)

{//Пункт меню Сортировка

StatusBar1->Panels->Items[0]->Text="Сортировка по алфавиту";

ComboBox1->Sorted=true;

ComboBox1->ItemIndex=0;

ComboBox1Change(Sender);

StatusBar1->Panels->Items[0]->Text="";

}

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

 

void __fastcall TPagesDlg::N21Click(TObject *Sender)

{//Пункт меню Запуск заставки

SendMessage(Handle, WM_SYSCOMMAND, SC_SCREENSAVE, 0);

}

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

 

void __fastcall TPagesDlg::Timer2Timer(TObject *Sender)

{//Бегущая строка в заголовке

static String InitialCaption = Caption;

Caption = Caption.SubString(9, (Caption.Length() - 1));

if(!Caption.Length())

Caption = InitialCaption;

}

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

 

void __fastcall TPagesDlg::BitBtn7Click(TObject *Sender)

{// Кнопка Добавление  записи в базу

int N=1,i=0;

while(i==0)

{

if(StringGrid1->Cells[0][N]=="")

{

StringGrid1->Cells[0][N]=Edit1->Text;

StringGrid1->Cells[1][N]=Edit2->Text;

StringGrid1->Cells[2][N]=Edit3->Text;

StringGrid1->Cells[3][N]=Edit4->Text;

StringGrid1->Cells[4][N]=Edit5->Text;

StringGrid1->Cells[5][N]=Edit6->Text;

StringGrid1->Cells[6][N]=Edit7->Text;

StringGrid1->Cells[7][N]=Edit8->Text;

StringGrid1->Cells[8][N]=Edit9->Text;

i++;

}

N++;

}

}

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

 

void __fastcall TPagesDlg::Edit4KeyPress(TObject *Sender, char &Key)

{// Запрет ввода букв  в  Edit4 (Вес)

if ((Key >= '0') && (Key <= '9')) {}  // цифры

else if (Key == 8) {}  // <-

else if ((Key == '.') || (Key == ',')) // запятая

{

if (((TEdit*)Sender)->Text.Pos(DecimalSeparator)!=0) // если запятая уже есть

Key = 0;

else // если ещё нет

Key = DecimalSeparator;

}

else Key = 0; // не цифра

if (Key == 0)//Вывод сообщения, если была попытка ввода не цифр

ShowMessage("В данное  поле возможен ввод только  цифр");

}

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

 

void __fastcall TPagesDlg::Edit5KeyPress(TObject *Sender, char &Key)

{// Запрет ввода букв  в Edit5 (Рост)

if ((Key >= '0') && (Key <= '9')) {}  // цифры

else if (Key == 8) {}  // <-

else if ((Key == '.') || (Key == ',')) // запятая

{

if (((TEdit*)Sender)->Text.Pos(DecimalSeparator)!=0) // если запятая уже есть

Key = 0;

else // если ещё нет

Key = DecimalSeparator;

}

else Key = 0; // не цифра

if (Key == 0)//Вывод сообщения,  попытка была попытка ввода  не цифр

ShowMessage("В данное  поле возможен ввод только  цифр");

}

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

void __fastcall TPagesDlg::OnHint(TObject *Sender)

{//Необходимо для отрображения  информации в строке состояния

StatusBar1->SimpleText =  Application->Hint;

}

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

 

void __fastcall TPagesDlg::BitBtn2MouseMove(TObject *Sender,

      TShiftState Shift, int X, int Y)

{//Смена цвета текста  при наведении мыши на розовый  на кнопке Следующая

BitBtn2->Font->Color = clFuchsia;

}

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

 

void __fastcall TPagesDlg::BitBtn1MouseMove(TObject *Sender,

      TShiftState Shift, int X, int Y)

{//Смена цвета текста  при наведении мыши на розовый  на кнопке Предыдущая

BitBtn1->Font->Color = clFuchsia;

}

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

 

void __fastcall TPagesDlg::TabSheet2MouseMove(TObject *Sender,

      TShiftState Shift, int X, int Y)

{//возврат обычного цветка кнопок

BitBtn1->Font->Color = clBlack;

BitBtn2->Font->Color = clBlack;

BitBtn3->Font->Color = clBlack;

BitBtn4->Font->Color = clBlack;

BitBtn5->Font->Color = clBlack;

BitBtn6->Font->Color = clBlack;

BitBtn7->Font->Color = clBlack;

BitBtn8->Font->Color = clBlack;

}

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

 

void __fastcall TPagesDlg::BitBtn3MouseMove(TObject *Sender,

      TShiftState Shift, int X, int Y)

{//Смена цвета текста  при наведении мыши на красный  на кнопке Улалить все записи  из базы

BitBtn3->Font->Color = clRed;}

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

 

void __fastcall TPagesDlg::BitBtn4MouseMove(TObject *Sender,

      TShiftState Shift, int X, int Y)

{//Смена цвета текста  при наведении мыши на красный  на кнопке Улалить запись из  формы

BitBtn4->Font->Color = clRed;

}

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

 

void __fastcall TPagesDlg::BitBtn5MouseMove(TObject *Sender,

      TShiftState Shift, int X, int Y)

{//Смена цвета текста  при наведении мыши на красный на кнопке Очистить

BitBtn5->Font->Color = clRed;

}

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

Информация о работе Создание программы для работы с базой данных учёта рождаемости