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

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

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

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

Файлы: 1 файл

Readme.doc

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

                              Федеральное агентство по образованию 

                               ФГОУ СПО УРТТ имени А.С.  Попова

 

 

                      

 

                               Выполнение заданий практики

             по объектно-ориентированному программированию

                                   в среде Borland C++Builder

                                             

 

 

 

                                             Вариант № 11

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

 

 

 

 

 

 

 

 

 

                                                           

 

 

 

 

 

 

                                                           Выполнил:

 

                                                            Проверил: 

 

 

 

 

 

 

 

 

 

                                                                 2010 год

 

                                     Описание задания

Создать программу для  работы с базой данных учёта рождаемости, сформированной в виде файла записей. В каждой записи определить поля:

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

         Компонент многостраничная панель PageControl

   Описание компонента: Находиться на особом виде формы Tabbed pages. Форму создают командами меню File => New =>Other… В открывшемся окне необходимо выбрать вкладку Forms => Tabbed pages => OK. Так же данный компонент можно найти на вкладке Win 32 панели Component. Компонент позволяет экономить пространство окна приложения, размещая на одном и том же месте страницы разного содержания. На страницах можно размещать любые управляющие компоненты, окна редактирования и т.п.

   Основные события: OnChanging и OnChange. Первое из них происходит непосредственно перед переключением на другую страницу после щелчка пользователя на новой закладке. При этом в обработчике события передаётся по ссылке параметр AllowChange – разрешение переключения. Если в обработчике задать значение false, то переключения не произойдёт. Событие OnChange  происходит сразу после переключения.

    Ход работы: Загружаемся в среду визуального программирования C++ Builder 6. Создаём новое приложение при помощи команд меню File => New =>Application… Удаляем из проекта форму Form1.

Для этого используем команды меню Project => Remove from Projects…

В открывшемся окне Remove From Project выделяем строку со значением Form1 в столбце Form и нажимаем кнопку OK. В окне запроса на сохранение изменений Confirm нажимаем кнопку NO.

Создаём новую форму  при помощи  команд меню File => New =>Other… => Вкладка  => Forms =>  Tabbed pages => OK. 

Выделяем и удаляем  клавишей Delete панель (Panel2) с кнопками OK, Cancel, Help в нижней части этой формы.

Меняем заголовок формы  на «База данных по учёту новорожденных граждан», для этого в окне инспектора объектов в раскрывающимся списке выбрать имя формы PageDlg. На вкладке Свойства в левом столбце найти Caption и для этого свойства в правом столбце набрать текст заголовка.

В левом столбце окна инспектора объектов выбираем свойство BorderStyle и в открывшемся списке правого столбца выбираем значение bsSizeable. Оно позволит форме изменять размеры во время выполнения приложения.

В окне Object TreeView выбираем объект TabSheet3 и нажимаем  Delete

У нас должно остаться  две страницы. Выделим в окне Object TreeView первую страницу TabShet1 и в окне инспектора объектов в свойстве Caption введём новый заголовок «Список всех записей». Аналогично установим заголовок для второй страницы «Редактирование и поиск записей».

Дополнительно мною на форму были добавлены:

01. Кнопки дублирующие некоторые из пунктов меню.

02. Часы с указанием системного времени, даты, дня недели. Для часов и даты мною использовались компоненты Label11, Label12 и компонент Timer1 находящийся на вкладке System панели Component. Для вывода дня недели использовался компонент Label13 и функция DayOfWeek с использованием оператора выбора switch. Функция возвращает значение дня недели по цифрам, начиная с воскресенья 1, далее понедельник 2 и т.д. Код см. в Приложении 1 //Таймер для часов Стр. 22

03. Бегущая строка в  заголовке. Для этого мною был использован компонент Timer2 в обработчике которого цифра 9 означает скорость прокрутки. Фрагмент кода:    if(!Caption.Length())

Caption = InitialCaption; // Запускает процесс «перемещения» заголовка заново. Код см. в Приложении 1 //Бегущая строка в заголовке. Стр. 27

04. Открытие формы из середины.  Для этого в инспекторе объектов на вкладке Events на вкладке OnCreate в обработчике добавлен код. Код см. в Приложении 1 //открытие формы из середины. Стр. 18

05. Закрытие формы в  середину, а так же при закрытии подача звукового сигнала  Beep(1000,100), где используется WinAPI-функция Beep. Она имеет два параметра (впрочем, функцию можно вызывать и без них): 
первый - частота в герцах, второй - длительность в миллисекундах.. Вывод на экран сообщения «Закрыть Базу». Если пользователь нажмёт Yes база закроется, если NO, то база останется открытой. При выводе этого сообщения пользователь ничего не сможет сделать, пока не нажмет одну из кнопок. Для этого в инспекторе объектов на вкладке Events на вкладке OnCloseQuery в обработчике добавлен код.

 

                  Компонент  MainMenu (Главное меню).

Данный компонент можно  найти на вкладке Standard панели Component.

Помещаем его на нашу форму, дважды щелкнув по компоненту, и введём названия пунктов меню.

Подменю пункта можно  при помощи клавиш Ctrl+Стрелка вправо или через контекстное меню этого пункта. Удаление ненужной команды выполняется при помощи клавиши Delete.

     Для того чтобы присвоить команде сочетания клавиш необходимо в   

     инспекторе объектов на левой вкладке найти свойство ShortCut, а на  

     правой вкладке напротив этого свойства, выбрать необходимое из

     предложенного списка.

В нашей базе будет  находиться 5 (пять) пунктов меню.

Первой пункт - Файл будет содержать следующие команды :

Прочитать из файла F3

Открывает диалог с предложением открыть файл. Диалог вызывается при помощи  компонента OpenDialog  находящегося на вкладке Dialogs.

     Записать в файл F4

Открывает диалог с предложением записи в файл Диалог вызывается при  помощи  компонента SaveDialog  находящегося на вкладке Dialogs.

    Печать F4

     Windows представляет в наше распоряжение стандартные диалоговые  

     окна PrintDialog и PrinterSetupDialog.  Диалоговое окно PrintDialog

     используется непосредственно перед началом печати, а окно

     PrinterSetupDialog служит для настройки принтера. Чтобы вызвать любое

     из этих диалоговых окон, необходимо добавить один  из этих 

     компонентов, находящихся на вкладке Dialog, на форму. Оба этих

     компонента содержат только метод Execute() и не имеют событий.

     В своей работе я использовал компонент PrinterSetupDialog.

     Код обработчика: PrinterSetupDialog1->Execute();

     Выход  F10

     Выход из  базы.

     Второй пункт – Правка содержит следующие команды:

     Сортировать => А-Я

     Сортировка по алфавиту. Выполняется при помощи команды Sorted.

     Для того чтобы сортировка осуществлялась необходимо команде Sorted 

     присвоить значение true.

     Сохранить изменения  F10

     Сохранение изменений. При выборе этой команды пользователю в одном 

     из 2-х случае  будет  выведено предупреждающее  окно. Первое - Если на 

     странице  «Редактирование и поиск записей» в поле выбора    

     населённого пункта  будет пусто, появится сообщение Редактирование

     возможно только для выбранных записей.

     Если на  странице  «Редактирование и поиск записей» в поле выбора    

     населённого пункта  запись будет выбрана, появится сообщение Вы 

     действительно хотите изменить  запись? ДА или НЕТ. Если   

     пользователь нажмёт ДА то запись сохранится, если  НЕТ то естественно

     сохранения  не произойдёт 

Третий  пункт  – Разное содержит следующие команды:

Запуск браузера Сtrl-A

Если пользователь выберет  эту команду, браузер его компьютера попытается открыть в сети Интернет страничку google.ru. Код обраб.:

ShellExecute(Handle, "open", "http://google.ru/", 0, 0, SW_SHOWNORMAL);

//WinAPI-функция

Запуск почтового  клиента  Сtrl-B

Если пользователь выберет эту команду, откроется почтовая программа с предложением написать электронное письмо. Email в данном случае я указал свой. Код обработчика:

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

NULL,NULL,SW_SHOWNORMAL); //WinAPI-функция

ShellExecute переводится примерно как: Выполнить команду

Открыть CD-дисковод  Сtrl-C.

Если пользователь выберет  эту команду, откроется крышка CD-дисковода. Код обработчика:

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

//WinAPI-функция

Закрыть CD-дисковод  Сtrl-D.

Если пользователь выберет  эту команду, закроется крышка CD-дисковода. Код обработчика:

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

//WinAPI-функция

Калькулятор   Сtrl-E.

Если пользователь выберет  эту команду, запуститься стандартный калькулятор Windows. Код обработчика:

ShellExecute(Handle, 0, "C:\\windows\\system32\\Calc.exe", NULL,NULL,SW_SHOWNORMAL); Частично заимствован из Delphi.

Не работает в Windows 2000, если системная папка WINNT

Не работает, если ОС установлена на др. локальный диск. (D.E и т.д)

Календарь Сtrl-F.

Если пользователь выберет эту команду откроется диалоговое окно AboutBox1 с календарём.

Screen Save Сtrl-F 

Запуск активной на компьютере заставки. Код обработчика:

SendMessage(Handle, WM_SYSCOMMAND, SC_SCREENSAVE, 0);

Четвёртый пункт  – О программе

Если пользователь выберет эту команду откроется диалоговое окно AboutBox с названием программы, авторе и ссылке для связи с ним.

Пятый пункт  – Досуг

Пасьянс «Косынка» Shift-F1

Если пользователь выберет  эту команду, запуститься стандартный  пасьянс «Косынка» для  Windows. Код обработчика:

ShellExecute(Handle, 0, "C:\\windows\\system32\\sol.exe", NULL,NULL,SW_SHOWNORMAL); Частично заимствован из Delphi.

Не работает в Windows 2000, если системная папка WINNT

Не работает, если ОС установлена  на др. локальный диск. (D.E и т.д)

Пасьянс «Солитёр» Shift-F2

Если пользователь выберет эту  команду, запуститься стандартный  пасьянс «Солитёр» для  Windows. Код обработчика:

ShellExecute(Handle, 0, "C:\\windows\\system32\\freecell.exe", NULL,NULL,SW_SHOWNORMAL); Частично заимствован из Delphi.

Не работает в Windows 2000, если системная папка WINNT

Не работает, если ОС установлена  на др. локальный диск. (D.E и т.д)

 

                                  Компонент  StatusBar

Компонент StatusBar создает строку панелей состояния для отображения статусной информации. Он находится на вкладке Win 32 панели Component. Добавляем его на нашу форму. В инспекторе объектов находим вкладку Panels и нажимаем напротив кнопку с многоточием.

Перед нами открылся редактор. Щелкаем по желтому значку, и в редакторе появился  0 – TstatusPanel. Оставляем все параметры такими какие они есть. Теперь для каждого компонента в обработчике можно написать код: StatusBar1->Panels->Items[0]->Text="Печать";

Теперь при нажатии кнопки Печать внизу формы, слева отобразиться надпись Печать. Для других компонентов вместо слова Печать в обработчике необходимо написать, то действие, которое они вызывают.

Для того, чтобы надпись  исчезла в конце кода обработчика следует ввести: StatusBar1->Panels->Items[0]->Text="";

Для того чтобы внизу надпись появлялась при наведении мыши, необходимо включить в заголовочный файл Unit1.h объявление для собственного события OnHint:

void __fastcall OnHint(TObject *Sender);

Далее добавим функцию  в модуль исходного кода главной формы

void __fastcall TPagesDlg::OnHint(TObject *Sender)

{

StatusBar1->SimpleText =  Application->Hint;

}

В обработчике события OnCreate (Создание) главной формы укажем свою собственную функцию OnHint в качестве обработчика события

Application->OnHint = &OnHint;

Далее необходимо в инспекторе объектов для свойства ShowHint

объекта Application установить значение true и свойствах Hint ввести текст. Теперь название элемента будет выводиться внизу и над

объектом в качестве краткой подсказки. Текст должен совпадать если, если мы используем код: 

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

 

                                       Компонент AboutBox

Добавим к проекту  новую форму File => New =>Other…=>Вкладка Forms=>Aboutbox=>OK. Поменяем тексты и заголовок формы, указав необходимые данные (Инициалы, название программы  и т.д.). 

     Изображение в  компоненте ProgramIcon можно изменить при помощи         

     свойства Picture, используя редактор загрузки изображений Picture

     Editor. Изображение должно иметь расширение .bmp.

Напишем код обработчика  события нажатия кнопки OK в данной форме.

Для этого дважды щёлкнем  по кнопке OK. Теперь у нас создана заготовка обработчика:

void __fastcall TAboutBox::OKButtonClick(TObject *Sender)

{

}

Между фигурными скобками наберём Close();  Вызов этой функции закрывает активную форму. Сделаем активной главную форму. Для этого нажмём комбинацию клавиш Shift+F12 и в открывшемся окне из списка выберем имя формы PagesDlg. Нажмём комбинацию клавиш Alt+F11 и выберем в окне Use Unit предложенное имя Unit2 и нажмём OK. В исходном тексте модуля появилась строка  #include "Unit2.h". Это необходимо, чтобы из главной формы вызвать форму О программе.

Щёлкнем по пункту меню О программе и у нас будет создана заготовка обработчика выбора пункта меню. Обработчик должен быть следующий:

     void __fastcall TPagesDlg::N12Click(TObject *Sender)

{

AboutBox->ShowModal();

    }

Оператор отображает его как модальную диалоговую панель (диалог, который не позволит обратиться к другим формам приложения, если его не закрыть).

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