Автор работы: Пользователь скрыл имя, 10 Ноября 2013 в 13:17, контрольная работа
Создать программу для работы с базой данных учёта рождаемости, сформированной в виде файла записей. В каждой записи определить поля:
Населённый пункт, национальность, вес, рост, дата рождения, фамилия, имя, отчество. (Я добавил поле ПОЛ). Необходимо реализовать следующие операции: создание и удаление записи, сохранение и считывание файла записи с диска, редактирование, поиск и сортировку данных по населённым пунктам, просмотр записей и навигацию по базе.
{//Кнопка Предыдущая запись
StatusBar1->Panels->Items[0]->
if (ComboBox1->ItemIndex==0)
{
BitBtn1->Enabled=false;
}
if(ComboBox1->ItemIndex>0)
{ComboBox1->ItemIndex=
ComboBox1Change(Sender);
BitBtn2->Enabled=true;
}
}
//----------------------------
void __fastcall TPagesDlg::BitBtn2Click(
{ //Кнопка следующая запись
StatusBar1->Panels->Items[0]->
BitBtn1->Enabled=true;
if(ComboBox1->ItemIndex<
{
ComboBox1->ItemIndex=
ComboBox1Change(Sender);
{
if (ComboBox1->ItemIndex<
BitBtn2->Enabled=true;
else
BitBtn2->Enabled=false;
}
}
}
//----------------------------
void __fastcall TPagesDlg::BitBtn3Click(
{//Удаление всех записей из базы
StatusBar1->Panels->Items[0]->
Beep(1000,100); //Звуковое предупреждение
if (ComboBox1->ItemIndex==-1)//
ShowMessage("В базе нет запией для удалния");
else
if (MessageBox(0,"Сохранить содержимое? ",
"Подтвердите сохранение",MB_
{
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]->
}
//----------------------------
void __fastcall TPagesDlg::BitBtn4Click(
//Кнопка Удаление записи из формы
{Beep(1000,100); //Звуковое предупреждение
int N=ComboBox1->ItemIndex;
N++;
N--;
if (ComboBox1->ItemIndex==-1)//
ShowMessage("Удаление
else
if (MessageBox(0,"Вы
"Предупреждение!",MB_YESNO)==
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(
{//Кнопка дублирование сохранения в файл
N2Click(Sender);
}
//----------------------------
void __fastcall TPagesDlg::SpeedButton3Click(
{//Кнопка о программе
N12Click(Sender);
}
//----------------------------
void __fastcall TPagesDlg::SpeedButton4Click(
{//Кнопка печати
21 страница Приложение 1 (Файл-модуль Unit1.cpp)
N4Click(Sender);
}
//----------------------------
void __fastcall TPagesDlg::SpeedButton2Click(
{// Кнопка Запись в файл
N3Click(Sender);
}
//----------------------------
void __fastcall TPagesDlg::N4Click(TObject *Sender)
{//Пункт меню Вывод содержимого на принтер
StatusBar1->Panels->Items[0]->
PrinterSetupDialog1->Execute()
StatusBar1->Panels->Items[0]->
}
//----------------------------
void __fastcall TPagesDlg::Timer1Timer(TObject *Sender)
{//Таймер для часов
Label11->Caption=Time().
Timer1->Interval=1;
Label12->Caption=Date();
int i = DayOfWeek(Date());//
switch(i)
{
case 1: Label13->Caption="Воскресенье"
case 2: Label13->Caption="Понедельник"
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(
//Кнопка запуска почтового клиента
{
N14Click(Sender);}
//----------------------------
void __fastcall TPagesDlg::SpeedButton6Click(
{// Кнопка запуска браузера
N13Click(Sender);
}
//----------------------------
void __fastcall TPagesDlg::FormCloseQuery(
//Закрытие базы
{ StatusBar1->Panels->Items[0]->
Beep(1000,100);
if(MessageDlg("Закрыть базу?", mtConfirmation,
TMsgDlgButtons()<<mbYes<<mbNo,
CanClose=true;
else CanClose=false;
TRect r1,r2; //закрытие в середину
r1 = Rect(Left+Width/2,Top+Height/
r2 = BoundsRect;
DrawAnimatedRects(Handle,
StatusBar1->Panels->Items[0]->
}
//----------------------------
void __fastcall TPagesDlg::BitBtn5Click(
{// Кнопка Очистка формы
StatusBar1->Panels->Items[0]->
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]->
}
//----------------------------
void __fastcall TPagesDlg::BitBtn6Click(
{//Кнопка Сохранение изменённой записи
StatusBar1->Panels->Items[0]->
Beep(1000,100); //Звуковое предупреждение
if (ComboBox1->ItemIndex==-1)//
ShowMessage("Редактирование возможно только для выбранных записей");
else
if (MessageBox(0,"Вы действительно хотите изменить запись?",
"Предупреждение!",MB_YESNO)==
else
{
Abort();
}
int N=ComboBox1->ItemIndex; N++;
if (N)
{StringGrid1->Cells[0][N]=
StringGrid1->Cells[1][N]=
StringGrid1->Cells[2][N]=
StringGrid1->Cells[3][N]=
StringGrid1->Cells[4][N]=
StringGrid1->Cells[5][N]=
StringGrid1->Cells[6][N]=
StringGrid1->Cells[7][N]=
StringGrid1->Cells[8][N]=
N--;
ComboBox1->Items->Delete(N);
ComboBox1->Items->Insert(N,
ComboBox1->ItemIndex=0;
ComboBox1Change(Sender);
}
StatusBar1->Panels->Items[0]->
if (ComboBox1->ItemIndex==-1)
Abort();
else
{ShowMessage("Запись успешно сохранена");
}
}
//----------------------------
void __fastcall TPagesDlg::N12Click(TObject *Sender)
{//Пункт меню О программе
StatusBar1->Panels->Items[0]->
AboutBox->ShowModal();
StatusBar1->Panels->Items[0]->
//----------------------------
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,"
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.
}
//----------------------------
void __fastcall TPagesDlg::SpeedButton7Click(
{//Кнопка на панели дублирует канкулятор
N15Click(Sender);}
//----------------------------
void __fastcall TPagesDlg::N17Click(TObject *Sender)
{ //Запуск игры Косыека для Windows
ShellExecute(Handle, 0, "C:\\windows\\system32\\sol.
//----------------------------
void __fastcall TPagesDlg::N18Click(TObject *Sender)
{//Запуск игры Солитёр для Windows
ShellExecute(Handle, 0, "C:\\windows\\system32\\
}
//----------------------------
void __fastcall TPagesDlg::N19Click(TObject *Sender)
{//Пункт меню Вывод календаря
AboutBox1->ShowModal();
}
//----------------------------
void __fastcall TPagesDlg::N10Click(TObject *Sender)
{//Пункт меню Сохрание изменений
StatusBar1->Panels->Items[0]->
Beep(1000,100); //Звуковое предупреждение
if (ComboBox1->ItemIndex==-1)//
ShowMessage("Редактирование возможно только для выбранных записей");
else
if (MessageBox(0,"Вы действительно хотите изменить запись?",
"Предупреждение!",MB_YESNO)==
else
{
Abort();
}
int N=ComboBox1->ItemIndex; N++;
if (N)
{StringGrid1->Cells[0][N]=
StringGrid1->Cells[1][N]=
StringGrid1->Cells[2][N]=
StringGrid1->Cells[3][N]=
StringGrid1->Cells[4][N]=
StringGrid1->Cells[5][N]=
StringGrid1->Cells[6][N]=
StringGrid1->Cells[7][N]=
StringGrid1->Cells[8][N]=
N--;
ComboBox1->Items->Delete(N);
ComboBox1->Items->Insert(N,
ComboBox1->ItemIndex=0;
ComboBox1Change(Sender);
}
StatusBar1->Panels->Items[0]->
if (ComboBox1->ItemIndex==-1)
Abort();
else
{ShowMessage("Запись успешно сохранена");
} }
//----------------------------
void __fastcall TPagesDlg::N8Click(TObject *Sender)
{//Пункт меню Сортировка
StatusBar1->Panels->Items[0]->
ComboBox1->Sorted=true;
ComboBox1->ItemIndex=0;
ComboBox1Change(Sender);
StatusBar1->Panels->Items[0]->
}
//----------------------------
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(
{// Кнопка Добавление записи в базу
int N=1,i=0;
while(i==0)
{
if(StringGrid1->Cells[0][N]=="
{
StringGrid1->Cells[0][N]=
StringGrid1->Cells[1][N]=
StringGrid1->Cells[2][N]=
StringGrid1->Cells[3][N]=
StringGrid1->Cells[4][N]=
StringGrid1->Cells[5][N]=
StringGrid1->Cells[6][N]=
StringGrid1->Cells[7][N]=
StringGrid1->Cells[8][N]=
i++;
}
N++;
}
}
//----------------------------
void __fastcall TPagesDlg::Edit4KeyPress(
{// Запрет ввода букв в Edit4 (Вес)
if ((Key >= '0') && (Key <= '9')) {} // цифры
else if (Key == 8) {} // <-
else if ((Key == '.') || (Key == ',')) // запятая
{
if (((TEdit*)Sender)->Text.Pos(
Key = 0;
else // если ещё нет
Key = DecimalSeparator;
}
else Key = 0; // не цифра
if (Key == 0)//Вывод сообщения, если была попытка ввода не цифр
ShowMessage("В данное поле возможен ввод только цифр");
}
//----------------------------
void __fastcall TPagesDlg::Edit5KeyPress(
{// Запрет ввода букв в Edit5 (Рост)
if ((Key >= '0') && (Key <= '9')) {} // цифры
else if (Key == 8) {} // <-
else if ((Key == '.') || (Key == ',')) // запятая
{
if (((TEdit*)Sender)->Text.Pos(
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(
TShiftState Shift, int X, int Y)
{//Смена цвета текста при наведении мыши на розовый на кнопке Следующая
BitBtn2->Font->Color = clFuchsia;
}
//----------------------------
void __fastcall TPagesDlg::BitBtn1MouseMove(
TShiftState Shift, int X, int Y)
{//Смена цвета текста при наведении мыши на розовый на кнопке Предыдущая
BitBtn1->Font->Color = clFuchsia;
}
//----------------------------
void __fastcall TPagesDlg::TabSheet2MouseMove(
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(
TShiftState Shift, int X, int Y)
{//Смена цвета текста при наведении мыши на красный на кнопке Улалить все записи из базы
BitBtn3->Font->Color = clRed;}
//----------------------------
void __fastcall TPagesDlg::BitBtn4MouseMove(
TShiftState Shift, int X, int Y)
{//Смена цвета текста при наведении мыши на красный на кнопке Улалить запись из формы
BitBtn4->Font->Color = clRed;
}
//----------------------------
void __fastcall TPagesDlg::BitBtn5MouseMove(
TShiftState Shift, int X, int Y)
{//Смена цвета текста при наведении мыши на красный на кнопке Очистить
BitBtn5->Font->Color = clRed;
}
//----------------------------
Информация о работе Создание программы для работы с базой данных учёта рождаемости