Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
КУРСОВА РОБОТА
з дисципліни:
«Конструювання програмного забезпечення»
НА ТЕМУ
«Електронний Записник»
Зміст
Анотація…………………………………………………………...………3
Вступ………………………………………………………………. ..…….4
Загальні відомості про програмний засіб……………………………..…5
Технічне завдання…………………………………………………….….6
Пояснювальна записка……………………………………………….…...9
Керівництво системного програміста…………………..……….……...19
Керівництво програміста…………………..………………….….……...21
Керівництво користувача………………………………………………..23
Висновок…………………………………………………………….…….28
Перелік використаної літератури……………………………………….29
Анотація
Програмний продукт має назву «Електронний Записник». Основною задачею є робота з базою даних Електронний записник , а також для збереження в ньому певної інформації про певні записи.
Основні функції:
А) Додавання записів;
Б) Сортування за будь яким критерієм;
В) Пошук за будь яким критерієм;
Г) Редагування;
Д) Перегляд Календаря на поточний рік;
Е) Виведення повідомлення про День народження ;
Оскільки «Електронний Записник» не потребує дуже швидкодіючого компютера і великих навичок в роботі з ним, то у користувачів не буде виникати проблем з роботою, в звязку з чим вона буде широко використовуватись в даній сфері праці.
Пояснювальна записка вміщує такі додатки: Додаток 1 і Додаток 2.
В загальному обєм пояснювальної записки складає 42 сторінок.
Вступ
У не професійних розробників програмних продуктів існує думка, що можна розробити якийсь один універсальний метод, який забезпечить розробку програмного забезпечення як найпростіше. Практики в області професійної розробки програмного забезпечення знають, що ніяких універсальних методів не існує.
З кожним роком програмне забезпечення стає все більш складним, обємним та вимагає більших капітальних затрат. Програмне забезпечення, як правило, створюється великими командами професіоналів, які представляють різні сфери інтересів часто далекі від компютерних наук.
Під час розробки програмного забезпечення виникають наступні питання:
Рішення всіх цих питань приводить до успішної розробки програмного забезпечення.
Даний програмний продукт розроблений з метою швидкого доступу до інформації занесеної в Базу даних в минулому. Програма вміщує в себе всі необхідні і головні дії які необхідні при роботі записника.
1.1 Дана програма буде містити такі можливості: швидке додавання записів в базу даних за допомогою форми, перегляд їх по черзі за допомогою форми та всіх відразу за допомогою таблиці з записами, редагування, збереження, та видалення, (при цьому всі записи будуть зберігатись в базі даних протягом невизначеного часу, чому сприятиме їх збереження в файлі .mdb). Програма включатиме в себе наступні процедури: сортування записів по будь якому вибраному полю, пошук записів по заданому критерію. Також програма вміщуватиме в собі функцію повідомлення користувача про те, що в даний календарний день святкує свій день народження хтось із друзів, інформація про якого буде занесена в базу даних Записника. Всі ці можливості в подальшому значно полегшать роботу користувача, а також забезпечать високу продуктивність, та бажаний результат праці.
2. Технічне завдання
Підстава для розробки
«Електронний записник».
Назва розробки
Програма «Електронний записник» призначена для чіткого збереження інформації про певних осіб, які вже користувач визначає сам.
Технічні вимоги
Склад виконуваних функцій:
Організація вхідних і вихідних даних.
Відомості про записи будуть заноситись до програми за допомогою клавіатури і будуть зберігаються в базі даних в форматі mdb. Користувач працюватиме із зручним інтерфейсом, що забезпечую точність і зручність введення даних.
Дані зберігаються в базі даних, що є надійним способом зберігання даних. Це дає можливість зберігати дуже багато записів, і мати швидкий доступ до будь якого з них.
Для чіткої роботи користувач який буде працювати з додатком повинен мати базові навики роботи з додатками.
Вимого що до технічних параметрів:
Так як дані з додатку зберігаються в базі даних в форматі (mdb), потрібна наявність на ПК додаткової програми Microsoft Access.
Вимоги до інформаційної і програмної взаємоповязаності.
Додаток повинен працювати на платформах Windows XP/98/2000/Windows 7.
Додаток доставляється на компакт диску. Програмна документація поставляється в електронному вигляді.
Вимоги до програмної документації.
Даний програмний продукт повинен супроводжуватись наступними документами: пояснювальна записка, керівництво системного програміста, керівництво програміста, керівництво користувача.
Техніко-економічні показники
Ефективність програми визначається зручністю використання додатку користувачами .
Стадії та етапи розробки
Стадії та етапи створення програмного засобу приведені в наступній таблиці( згідно ГОСТ 34.60190):
Етапи роботи |
Проміжок часу |
Зміст роботи |
Основи для розробки ПЗ |
01.03.2012 |
- постановка задачі - збір початкових матеріалів |
Науково-дослідні роботи |
02.03.2012 -05.03.2012 |
- визначення структури вхідних і вихідних даних - вибір методів вирішення задачі - визначення вимог до технічних засобів |
Розробка та затвердження технічного завдання |
06.03.2012 10.03.2012 |
- визначення вимог до програми - визначення стадій, етапів і строків розробки - вибір мови програмування |
Розробка ескізного проекту |
11.03.2012 -13.03.2012 |
- уточнення методів вирішення задач - розробка загального алгоритму |
Затвердження ескізного проекту |
14.03.2012 - 17.03.2012 |
- розробка пояснювальної записки - утвердження ескізного проекту |
Розробка програми |
18.03.2012- 23.03.2012 |
- програмування і відлагодження програми |
Розробка програмної документації |
24.03.2012 27.03.2012 |
- розробка програмних документів |
Випробування програми |
28.03.2012 |
- редагування помилок |
Підготовка і передача програми |
29.03.2012 30.03.2012 |
- оформлення акту передачі |
3.Пояснювальна записка
3.1 Декомпозиція поставленої задачі
Даний програмний засіб можна розбити на підсистеми:
3.2 Загальна архітектура ПЗ зображена на Рис.1
Рис.1 Структурна схема ПЗ
3.2.1 Функціональна схема ПЗ зображена на Рис.2
Рис.2 Функціональна схема ПЗ
3.2.2 Головна діаграма потоків даних зображена на Рис.3
Рис.3 Головна діаграма потоків даних
3.3 Розробка алгоритму розвязку задачі
3.3.1 Діаграма прецедентів зображена на Рис.4
Рис.4 Діаграма прецедентів
3.3.2 Варіанти використання.
Код |
Основной актор |
Назва |
Пояснення |
M1 |
Користувач |
Додати |
Цей варіант дозволяє користувачу додавати нові дані в базу даних |
M2 |
Користувач |
Видалити |
Користувач має можливість видалити будь-який запис з бази даних |
M3 |
Користувач |
Знайти |
При вимозі знайти будь який запис викликається функція пошуку за критерієм |
M4 |
Користувач |
Змінити |
При вимозі відредагувати будь який запис викликається функція редагування запису |
М5 |
Користувач |
Сортувати |
Якщо виникне потреба відсортувати записи буде задіяна функція сортування |
М6 |
Користувач |
Визначити вік |
Дана функція дає можливість отримати повідомлення про наявність іменинника в даний календарний день |
М7 |
Користувач |
Вихід |
Функція виходу із програми |
3.3.3 Пояснення варіантів використання.
Функція додавання.
M1 |
Користувач |
Додати |
Цей варіант дозволяє користувачу додавати нові дані в базу даних |
Основное діюче обличчя: Користувач.
Інші участники прецедента: відсутні.
Звязки з іншими варіантами використання: відсутні.
Короткий опис: Дана функція дає можливість користувачу додавати нові записи в базу даних, які в подальшому будуть доступні для використання.
Функція видалення записів з базі даних.
M2 |
Користувач |
Видалити |
Користувач має можливість видалити будь-який запис з базі даних |
Основное діюче обличчя: Користувач.
Інші учасники прецеденту: відсутні.
Звязки з іншими варіантами використання: відсутні.
Короткий опис: Дана функція дає можливість користувачу видаляти записи з базу даних.
Функція пошуку записів в базі даних.
M3 |
Користувач |
Знайти |
При вимозі знайти будь який запис викликається функція пошуку за критерієм |
Основне діюче обличчя: Користувач.
Інші учасники прецеденту: відсутні.
Звязки з іншими варіантами використання: відсутні.
Короткий опис: Дана функція дає можливість знайти в базі даних будь який запис за певним критерієм.
Функція редагування записів в базі даних.
M4 |
Користувач |
Змінити |
При вимозі відредагувати будь який запис викликається функція редагування запису |
Основне діюче обличчя: Користувач.
Інші учасники прецеденту: відсутні.
Звязки з іншими варіантами використання: відсутні.
Короткий опис: Дана функція дає можливість внести зміни до записів які були раніше внесені в базу .
Функція сортування записів в базі даних.
М5 |
Користувач |
Сортувати |
Якщо виникне потреба відсортувати записи буде задіяна функція сортування |
Основне діюче обличчя: Користувач.
Інші учасники прецеденту: відсутні.
Звязки з іншими варіантами використання: відсутні.
Короткий опис: Дана функція дає можливість сортувати записи які були раніше внесені в базу .
Функція визначення іменинника.
М6 |
Користувач |
Визначити вік |
Дана функція дає можливість отримати повідомлення про наявність іменинника в даний календарний день |
Основне діюче обличчя: Користувач.
Інші учасники прецеденту: відсутні.
Звязки з іншими варіантами використання: відсутні.
Короткий опис: Дана функція дає повідомити користувача про те, що сьогодні день народження в когось із друзів.
Функція вихід з програми.
М7 |
Користувач |
Вихід |
Функція виходу із програми |
Основне діюче обличчя: Користувач.
Інші учасники прецеденту: відсутні.
Звязки з іншими варіантами використання: відсутні.
Короткий опис: Дана функція призначена для виходу із програми.
3.3.4 Алгоритм роботи програми зображено на Рис.5
Рис.5 Алгоритм роботи програми
3.4 Структура організації даних
В даному ПЗ задіяні файл інтерфейсу і файл бази даних. Вони повязані між собою за допомогою спеціальних функцій обробки подій, що дає можливість працювати з файлом інтерфейсу а зберігати дані в файлі бази даних. Схема сутності звязку зображено на Рис.6
Рис.6 Схема сутності звязку
class Zapis |
Private: |
Public: void Button2Click(); void RadioButton1Click(); void RadioButton2Click(); void RadioButton3Click(); void Activate(); void Close(); void denrogdenya(); void poiscFamiliya(); void poiscAdress(); void poiscTelefon(); void poiscRobotaUchoba(); void poiscDataRogdeniya(); void sortFamiliya(); void sortAdress(); void sortTelefon(); void sortRobotaUchoba(); void sortDataRogdeniya(); |
3.4.1 Розробка інтерфейсу ПЗ
Якщо говорити про структуру розробленого інтерфейсу, то можна побачити, що даний програмний продукт простий у використанні та має такі особливості інтерфейсу.
При запуску програми користувач спостерігає інтерфейс програми. На якому бачить головне меню продукту. Меню вміщує в собі такі компоненти:
Показати форму відкривається форма для перегляду записів, можна переглянути лише по одному запису.
Показати таблицю відкривається таблиця для перегляду всіх записів в базі даних.
Показати форму і таблицю разом відкривається форма і таблиця для перегляду записів.
Показати календар в окремій формі відкривається календар.
Відкрити меню сортування відкривається меню з можливими варіантами сортування. Потрібно вибрати той за яким потрібно відсортувати записи. (записи в базі по умовчанню відсортовані по фамілії.)
Відкрити меню пошуку відкривається меню з можливими варіантами пошуку. Потрібно вибрати потрібний критерій пошуку, після чого відкриється нова форма в якій потрібно ввести що будемо шукати.
Весь інтерфейс є дуже зручним і дружнім і користувачу буде дуже легко орієнтуватися в вікні програми а також при роботі з нею. Отже можна сказати, що програмний продукт, а саме його інтерфейс створений з дотриманням правил ергономічності.
3.5 Опис структури вихідної інформації
Інформація може бути представлена перед користувачем у вигляді таблиці і форми окремо так разом. Інформація вміщує в собі дані про записи, самі дані поділені на різні критерії. Користувач має змогу доступно переглядати всю необхідну інформацію про кожен окремий запис за допомогою форми так і про всі записи відразу за допомого таблиці, ще існує варіант перегляду відразу за допомогою форми і таблиці одночасно.
Вихідна інформація даної програми зберігається в файлі в папці самої програми. Імя зберігаємого файлу «Електронний Записник.mdb», тобто всі дані зберігаються в файлі бази даних Access, які можна відкрити програмою Microsoft Office Access. Таке збереження інформації є досить надійним і зручним, що не створює проблем з налаштування ПЗ.
4. Керівництво системного програміста
4.1 Загальні відомості про програмний засіб
Даний програмний засіб призначений для застосування на ПК, щоб мати доступ до відомостей про записи які зберігаються в базі даних. Мати можливість швидко знайти дані по конкретному запису, редагувати його, видалити, сортувати і дізнатись про іменинників в даний календарний день.
Основні функції:
А) Додавання записів;
Б) Сортування за будь яким критерієм;
В) Пошук за будь яким критерієм;
Г) Редагування;
Д) Перегляд Календаря на поточний рік;
Е) Виведення повідомлення про День народження ;
4.2 Структура програмного засобу
Програмне забезпечення складається з двох програмних продуктів. В комплект ПЗ входить сама програма (інтерфейс) і файл з розширенням (.mdb) в якому зберігається база даних із записами які були внесені в неї з програми інтерфейсу, а також документація з керівництвом користувача.
4.3 Встановлення програмного засобу.
Для того щоб встановити програму необхідно запустити файл Setup.exe після цього виконати встановлення програми за допомогою майстера встановлення, який є дуже коректним і простим в застосуванні. Після закінчення встановлення програму можна запускати.
4.4 Перевірка програмного засобу
Для того, щоб перевірити коректність роботи програми, необхідно запустити її, спробувати переглянути записи в базі даних, відсортувати, редагувати, знайти будь який запис, пересвідчитись що програма виконує всі ці функції безпомилково.
4.5 Повідомлення системному програмісту
Дана програма не потребує повідомлень системному програмісту, так як, будь-які помилки, які можуть виникнути в процесі роботи з даним ПЗ, можуть бути звязані лише з некоректним введенням даних, або пошкодження файлової структури програми вірусами.
Тобто будь-яких рекомендації з приводу роботи програмного продукту, програма не потребує.
5. Керівництво програміста
5.1 Загальні відомості про програмний засіб
Програмний продукт призначений для роботи з базою даних «Електронний Записник», а також для збереження в ньому певної інформації про знайомих.
Основні функції:
А) Додавання записів;
Б) Сортування за будь яким критерієм;
В) Пошук за будь яким критерієм;
Г) Редагування;
Д) Перегляд Календаря на поточний рік;
Е) Виведення повідомлення про День народження ;
5.2 Характеристика програмного засобу
Програма має широкий вибір функцій і при цьому використовує не велику кількість ресурсів ПК. Під програмний засіб необхідно виділити 10 Мб памяті на жорсткому диску та всього декілька кілобайт оперативної памяті. Для управління програмним засобом необхідно мати клавіатуру та мишу. База даних не обладнана засобами контролю, а лише спирається на засоби контролю вбудовані в Windows та C++ Builder 6.
5.3 Робота з програмним засобом
Після запуску програмного продукту висвітлюється головне меню яке зображено на малюнку.
5.4 Вхідні та вихідні дані
Вхідними даними для програми являються дані введені користувачем з клавіатури, які потім зберігаються у файл. Вихідними даними є збережені у файл записи, які при необхідності виводяться на екран у вигляді таблиці або форми.
5.4 Повідомлення програмісту
Дана програма не потребує повідомлень системному програмісту, так як, будь-які помилки, які можуть виникнути в процесі роботи з даним ПЗ, можуть бути звязані лише з некоректним введенням даних, або пошкодження файлової структури програми вірусами.
Тобто будь-яких рекомендації з приводу роботи програмного продукту, програма не потребує.
6. Керівництво користувача
6.1 Призначення програмного засобу
Даний програмний засіб призначений для застосування на ПК, щоб мати коротку інформацію про певні записи і мати можливість отримати дані за потребою. Основні функції:
А) Додавання записів;
Б) Сортування за будь яким критерієм;
В) Пошук за будь яким критерієм;
Г) Редагування;
Д) Перегляд Календаря на поточний рік;
Е) Виведення повідомлення про День народження ;
6.2 Умови виконання програмного засобу.
Головною умовою нормального функціонування програми є наявність встановленої додаткової програми C++ Builder 6, за допомогою якої відкривається файл новоствореної програми. Необхідно також наявність технічних засобів перелічених вище. Відповідною операційною системою є Windows XP.
6.3 Експлуатація програмного засобу
Головне меню:
Для того, щоб почати працювати з програмою спершу необхідно визначитись,що потрібно зробити. Є такі варіанти: відкрити форму, відкрити таблицю, відкрити календар, показати форму і таблицю, вибрати варіант сортування, вибрати варіант пошуку.
Перегляд записів по одному, додавання, редагування, видалення записів:
Для того, щоб переглянути записи по одному потрібно відкрити в головному меню форму. На якій за допомогою панелі керування можна переглядати записи, редагувати, додавати та видаляти.
Перегляд всіх записів за допомогою таблиці:
Потрібно активувати таблицю в головному меню, за допомогою миші поставити точку напроти форми.
Перегляд записів за допомогою форми і таблиці:
Перегляд календаря:
Потрібно активувати календар в головному меню.
Сортування записів по критеріям:
Вибрати в розгортаючомуся вікні потрібний варіант сортування.
Пошук записів:
На головному меню потрібно в розгортаючомуся меню вибрати критерій пошуку, після чого відкриється нова форма в якій потрібно ввести запит для пошуку.
Вивід повідомлення про наявність іменинника:
Дане повідомлення зявляється при запуску програми, якщо в даний календарний день у когось зі записів день народження.
6.5 Повідомлення користувачу
Даний програмний продукт розроблений для користувачів з базовими навиками роботи на компютері. В процесі роботи можуть виникнути питання що до введення даних. В такому випадку в програмі передбачені перевірки що до коректності вхідних даних, так що коли користувач введе в поле де потрібно вводити цифри , букви то, висвітлиться повідомлення, що дані введені не коректно і потрібно відредагувати внесені дані. Так само коли в поле де потрібно вводити букви ввести цифри.
Висновок
В ході виконання курсового проекту були виконані всі вимоги що до функціональних вимог програми. Даний програмний продукт має такі можливості: Перегляд відомостей про особу (в режимі форми і в режимі таблиці), дані про яку заздалегідь були занесені в базу даних ; Мати можливість додавати, видалення і редагування дані; Можливість сортування записів по: прізвищу, адресі, телефону, місцю роботи, даті народження.
Можливість пошуку записів по: прізвищу, адресі, телефону, місцю роботи, даті народження.
Перегляд календаря., повідомлення про наявність іменинника в даний календарний день;
Були побудовані детальні алгоритми роботи програми, побудовані схеми для зображення руху даних в процесі програми, схеми виконання функцій даної програми, сформоване детальне технічне завдання яке детально описує хід розробки програми. В керівництву користувача, керівництву програмісту детально описано роботу програми, всі потрібні дії що до встановлення та експлуатації програми.
Перелік використаної літератури.
Додаток
Початок додатку 1
3.4.1 Розробка алгоритмів функцій, що реалізують окремі можливості ПП.
Продовження додатку 1.
Завершення додатку 1.
Початок додатку 2.
Лістинг програми:
Unit1.cpp
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include <math.h>
#include <string.h>
#include <stdio.h>
#include "Unit1.h"
#include "Unit2.h"
#include "Unit3.h"
#include "oleauto.hpp"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
class Zapis
{
public:
void Button2Click();
void RadioButton1Click();
void RadioButton2Click();
void RadioButton3Click();
void Activate();
void Close();
void denrogdenya();
void poiscFamiliya();
void poiscAdress();
void poiscTelefon();
void poiscRobotaUchoba();
void poiscDataRogdeniya();
void sortFamiliya();
void sortAdress();
void sortTelefon();
void sortRobotaUchoba();
void sortDataRogdeniya();
};
Zapis spisoc;
void Zapis::Activate()
{
{
Продовження додатку 2.
try{
Form1->ADOConnection1->Open();
Form1->ADODataSet1->Active=true;}
catch (Oleauto::EOleException &e){
MessageDlg("Ошибка доступа к БД. \n"+e.Message, mtError, TMsgDlgButtons()<<mbOK,0);
Form1->DBGrid1->Enabled=false;}}}
void Zapis::Close()
{
if(Form1->DBGrid1->EditorMode){
Form1->ADODataSet1->UpdateBatch(arCurrent);};
}
void Zapis::Button2Click(){
Form1->Label6->Visible=false;
Form1->RadioButton1->Checked=false;
Form1->RadioButton2->Checked=false;
Form1->RadioButton3->Checked=false;
Form1->Panel1->Visible=true;
Form1->DBGrid1->Visible=true;
Form1->DBEdit1->Visible=true;
Form1->DBEdit2->Visible=true;
Form1->DBEdit3->Visible=true;
Form1->DBEdit4->Visible=true;
Form1->DBEdit5->Visible=true;
Form1->Label1->Visible=true;
Form1->Label2->Visible=true;
Form1->Label3->Visible=true;
Form1->Label4->Visible=true;
Form1->Label5->Visible=true;
Form1->DBNavigator1->Visible=true;
Form1->DBNavigator1->Visible=true;
Form1->ADODataSet1->Close();
Form1->ADODataSet1->CommandText="SELECT * FROM Студент ORDER BY Familiya";
Form1->ADODataSet1->Open();
Form1->DBGrid1->Visible=true;}
void Zapis::RadioButton1Click(){
Form1->Label6->Visible=false;
if(Form1->RadioButton1->Checked==true){
Form1->ADODataSet1->Close();
Form1->ADODataSet1->CommandText="SELECT * FROM Студент ORDER BY Familiya";
Form1->ADODataSet1->Open();
Form1->DBGrid1->Visible=true;
Form1->Panel1->Visible=false;
Form1->DBNavigator1->Visible=false;
}
else
{
Form1->DBNavigator1->Visible=true;
Form1->DBGrid1->Visible=false;
Продовження додатку 2.
Form1->Panel1->Visible=true;
}
}
void Zapis::RadioButton2Click()
{
Form1->Label6->Visible=false;
if(Form1->RadioButton2->Checked==true){
Form1->ADODataSet1->Close();
Form1->ADODataSet1->CommandText="SELECT * FROM Студент ORDER BY Familiya";
Form1->ADODataSet1->Open();
Form1->Panel1->Visible=true;
Form1->DBGrid1->Visible=false;
Form1->DBEdit1->Visible=true;
Form1->DBEdit2->Visible=true;
Form1->DBEdit3->Visible=true;
Form1->DBEdit4->Visible=true;
Form1->DBEdit5->Visible=true;
Form1->Label1->Visible=true;
Form1->Label2->Visible=true;
Form1->Label3->Visible=true;
Form1->Label4->Visible=true;
Form1->Label5->Visible=true;
Form1->DBNavigator1->Visible=true;
Form1->RadioButton1->Action;
}
else
{
Form1->Panel1->Visible=false;
Form1->DBGrid1->Visible=true;
Form1->DBEdit1->Visible=false;
Form1->DBEdit2->Visible=false;
Form1->DBEdit3->Visible=false;
Form1->DBEdit4->Visible=false;
Form1->DBEdit5->Visible=false;
Form1->Label1->Visible=false;
Form1->Label2->Visible=false;
Form1->Label3->Visible=false;
Form1->Label4->Visible=false;
Form1->Label5->Visible=false;
Form1->DBNavigator1->Visible=false;
}
}
void Zapis::RadioButton3Click(){
Form1->Label6->Visible=false;
if(Form1->RadioButton3->Checked==true){
Form3->ShowModal();
if(Form3->ModalResult==mrOk){
Form3->Calendar->Visible=true;
Form1->RadioButton3->SetFocus();
}
}
}
Продовження додатку 2.
void Zapis::sortFamiliya()
{
Form1->Label6->Visible=false;
if(Form1->ComboBox1->ItemIndex==0){
Form1->ADODataSet1->Close();
Form1->ADODataSet1->CommandText="SELECT * FROM Студент ORDER BY `Familiya`";
Form1->ADODataSet1->Open();
Form1->DBGrid1->Visible=true;}}
void Zapis::sortAdress()
{
Form1->Label6->Visible=false;
if(Form1->ComboBox1->ItemIndex==1){
Form1->ADODataSet1->Close();
Form1->ADODataSet1->CommandText="SELECT * FROM Студент ORDER BY `Adress`";
Form1->ADODataSet1->Open();
Form1->DBGrid1->Visible=true;}}
void Zapis::sortTelefon()
{
Form1->Label6->Visible=false;
if(Form1->ComboBox1->ItemIndex==2){
Form1->ADODataSet1->Close();
Form1->ADODataSet1->CommandText="SELECT * FROM Студент ORDER BY `Telefon`";
Form1->ADODataSet1->Open();
Form1->DBGrid1->Visible=true;}}
void Zapis::sortRobotaUchoba()
{
Form1->Label6->Visible=false;
if(Form1->ComboBox1->ItemIndex==3){
Form1->ADODataSet1->Close();
Form1->ADODataSet1->CommandText="SELECT * FROM Студент ORDER BY `Robota/Uchoba`";
Form1->ADODataSet1->Open();
Form1->DBGrid1->Visible=true;}}
void Zapis::sortDataRogdeniya(){
Form1->Label6->Visible=false;
if(Form1->ComboBox1->ItemIndex==4){
Form1->ADODataSet1->Close();
Form1->ADODataSet1->CommandText="SELECT * FROM Студент ORDER BY `DataRogdeniya`";
Form1->ADODataSet1->Open();
Form1->DBGrid1->Visible=true;}}
void Zapis::poiscFamiliya(){
if(Form1->ComboBox2->ItemIndex==0){
Form1->DBGrid1->Visible=false;
Form1->DBNavigator1->Visible=false;
Form2->ShowModal();
if(Form2->ModalResult==mrOk){
Form1->ADODataSet1->Close();
Form1->ADODataSet1->CommandText="SELECT * FROM Студент WHERE `Familiya` Like \042%"+
Продовження додатку 2.
Form2->Edit1->Text+"%\042";
Form1->DBGrid1->Visible=true;
}
Form1->ADODataSet1->Open();
Form2->Edit1->Clear();
if(Form1->ADODataSet1->RecordCount==0){
Form1->ADODataSet1->Filtered=false;
ShowMessage("В БД нет записей, удовлетворяющих критерию запроса");}}}
void Zapis::poiscAdress()
{
if(Form1->ComboBox2->ItemIndex==1){
Form1->DBGrid1->Visible=false;
Form1->DBNavigator1->Visible=false;
Form2->ShowModal();
if(Form2->ModalResult==mrOk){
Form1->ADODataSet1->Close();
Form1->ADODataSet1->CommandText="SELECT * FROM Студент WHERE `Adress` Like \042%"+
Form2->Edit1->Text+"%\042";
Form1->DBGrid1->Visible=true;
}
Form1->ADODataSet1->Open();
Form2->Edit1->Clear();
if(Form1->ADODataSet1->RecordCount==0){
Form1->ADODataSet1->Filtered=false;
ShowMessage("В БД нет записей, удовлетворяющих критерию запроса");}}}
void Zapis::poiscTelefon(){
if(Form1->ComboBox2->ItemIndex==2){
Form1->DBGrid1->Visible=false;
Form1->DBNavigator1->Visible=false;
Form2->ShowModal();
if(Form2->ModalResult==mrOk){
Form1->ADODataSet1->Close();
Form1->ADODataSet1->CommandText="SELECT * FROM Студент WHERE `Telefon` Like \042%"+
Form2->Edit1->Text+"%\042";
Form1->DBGrid1->Visible=true;
}
Form1->ADODataSet1->Open();
Form2->Edit1->Clear();
if(Form1->ADODataSet1->RecordCount==0){
Form1->ADODataSet1->Filtered=false;
ShowMessage("В БД нет записей, удовлетворяющих критерию запроса");}}}
void Zapis::poiscRobotaUchoba(){
if(Form1->ComboBox2->ItemIndex==3){
Form1->DBGrid1->Visible=false;
Form1->DBNavigator1->Visible=false;
Form2->ShowModal();
if(Form2->ModalResult==mrOk){
Продовження додатку 2.
Form1->ADODataSet1->Close();
Form1->ADODataSet1->CommandText="SELECT * FROM Студент WHERE `Roboya/Uchoba` Like \042%"+
Form2->Edit1->Text+"%\042";
Form1->DBGrid1->Visible=true;
}
Form1->ADODataSet1->Open();
Form2->Edit1->Clear();
if(Form1->ADODataSet1->RecordCount==0){
Form1->ADODataSet1->Filtered=false;
ShowMessage("В БД нет записей, удовлетворяющих критерию запроса");}}}
void Zapis::poiscDataRogdeniya()
{
if(Form1->ComboBox2->ItemIndex==4){
Form1->DBGrid1->Visible=false;
Form1->DBNavigator1->Visible=false;
Form2->ShowModal();
if(Form2->ModalResult==mrOk){
Form1->ADODataSet1->Close();
Form1->ADODataSet1->CommandText="SELECT * FROM Студент WHERE `DataRogdeniya` Like \042%"+
Form2->Edit1->Text+"%\042";
Form1->DBGrid1->Visible=true;
}
Form1->ADODataSet1->Open();
Form2->Edit1->Clear();
if(Form1->ADODataSet1->RecordCount==0){
Form1->ADODataSet1->Filtered=false;
ShowMessage("В БД нет записей, удовлетворяющих критерию запроса");}}}
void Zapis::denrogdenya()
{
Form1->Edit1->Text=Form1->Date->Date.CurrentDate();
Form1->Edit1->Text=Form1->Edit1->Text.SubString(0,5);
Form1->ADODataSet1->Close();
Form1->ADODataSet1->CommandText="SELECT * FROM Студент WHERE `DataRogdeniya` Like \042%"+
Form1->Edit1->Text+"%\042";
Form1->DBGrid1->Visible=true;
Form1->ADODataSet1->Open();
if(Form1->ADODataSet1->RecordCount==0)Form1->DBGrid1->Visible=false;
else Form1->Label6->Visible=true;
}
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormActivate(TObject *Sender)
{
Продовження додатку 2.
spisoc.Activate();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action)
{
spisoc.Close();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
spisoc.Button2Click();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::RadioButton1Click(TObject *Sender)
{
spisoc.RadioButton1Click();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::RadioButton2Click(TObject *Sender)
{
spisoc.RadioButton2Click();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ComboBox1Change(TObject *Sender)
{
spisoc.sortFamiliya();
spisoc.sortAdress();
spisoc.sortTelefon();
spisoc.sortRobotaUchoba();
spisoc.sortDataRogdeniya();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ComboBox2Change(TObject *Sender)
{
spisoc.poiscFamiliya();
spisoc.poiscAdress();
spisoc.poiscTelefon();
spisoc.poiscRobotaUchoba();
spisoc.poiscDataRogdeniya();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
spisoc.denrogdenya();
}
//---------------------------------------------------------------------------
Продовження додатку 2.
void __fastcall TForm1::RadioButton3Click(TObject *Sender)
{
spisoc.RadioButton3Click();
}
//---------------------------------------------------------------------------
Unit2.cpp
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit2.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm2 *Form2;
class Unit2
{
public:
void FormActivate();
void Edit1Change();
};
Unit2 unit;
void Unit2::FormActivate()
{
Form2->Edit1->Clear();
Form2->Edit1->SetFocus();
}
void Unit2::Edit1Change(){
if(Form2->Edit1->Text.Length()>0)
Form2->Button1->Enabled=true;
else
Form2->Button1->Enabled=false;
}
//---------------------------------------------------------------------------
__fastcall TForm2::TForm2(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm2::FormActivate(TObject *Sender)
{
unit.FormActivate();
}
//---------------------------------------------------------------------------
void __fastcall TForm2::Edit1Change(TObject *Sender)
Завершення додатку 2.
{
unit.Edit1Change();
}
//---------------------------------------------------------------------------
void __fastcall TForm2::Edit1KeyPress(TObject *Sender, char &Key)
{
if((Key==VK_RETURN)&&(Edit1->Text.Length()>0))
Button1->SetFocus();
}
Unit3.cpp
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
#include "Unit3.h"
#include "Unit3.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm3 *Form3;
//---------------------------------------------------------------------------
__fastcall TForm3::TForm3(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------