Міністерство освіти і науки України
Бердичівський коледж промисловості, економікита права
Курсовий проект з дисципліни
«Технологія розробки програмного забезпечення»
спеціальності 5.05010301
«Розробка програмного забезпечення»
Тема
Автоматизована система
«Облік паспортних даних»
Бердичів 2009р.
Анотація
Курсовий проект, 67 с., 35 мал., 17 табл., 2 джерела, 3додатки.
Дисципліна:«ТЕХНОЛОГІЯ РОЗРОБКИ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ»
Тема:Автоматизована система «Облік паспортних даних»
Уроботі описані процес і результати проектування автоматизованої системи «Облікпаспортних даних», призначеної для автоматизації обліку паспортних даних.
Результат розробки оформлений у видіпрограмного пакету і комплекту супроводжувальної документації.
Подальшийрозвиток роботи можливий у бік поліпшення зовнішнього інтерфейсу ї адаптаціїпрограми до більшої області потенційного застосування.
Роботамає навчальний характер і її впровадження для конкретного підприємства невиконувався.
Вступ
Автоматизація розрахункова –облікових задач у різних областях практичної діяльності є одним із основнихнапрямків застосування обчислювальної техніки і персональних комп’ютерівзокрема. На основі сукупності апаратних засобів і спеціалізованого прикладногопрограмного забезпечення будуються автоматизовані робочі місця спеціалістіврізного профілю.
Однією із форм обліку для підприємствіз різною формою діяльності є кадровий облік працівників.
Запропонований програмний засіб «АСОблік паспортних даних», призначений саме для автоматизації обліку паспортнихданих на підприємстві, розроблений у відповідності до завдання на курсовепроектування із дисципліни «Технологія розробки програмного забезпечення».
Основною метою даного курсовогопроекту є розробка розгорнутого технічного завдання на основі вивчення тааналізу заданої предметної області, розробка структур та вибір методів обробкиданих, алгоритмів функціонування програмних модулів, забезпечення якісних показниківроботи програми: створення зручного графічного інтерфейсу користувача, розробкаінтегрованої довідкової системи та супроводжувальної документації, засобів длярозгортання програмної системи в інформаційному середовищі користувачів.
Дляреалізації поставленого завдання обрано сучасні інструментальні середовища ізасоби програмування Borland Delphi 6.0, та відповідні засоби підтримки процесурозробки програм.
Незважаючи на те, що проект носить навчальний характер, він має певне практичнезначення і може бути застосований для автоматизації вказаної прикладної задачіна підприємствах.
1.Аналіз предметної області і постановка задачі на розробку програми
У відповідності до технічногозавдання програма «Облік паспортних даних» повинна забезпечувати облік осіб іможливість отримання інформації, вибраної за певними критеріями, а такожформування звітів у вигляді стандартизованих паперових документів.
Якщо вписується нова особа тоу журнал реєстрації операцій вноситься відповідний запис.
При вибутті особи зпаспортного обліку в журналі реєстрації операцій, вказується дата і причина провибуття особи, прізвище та дані особи.
Для кожного нового особи заповнюється картка паспортногообліку, що представляє собою паперовий документ, у якому вказується:
– прізвище;
– ім’я;
– по батькові;
– дата видачі паспорта;
– рік народження;
– стать;
– адреса (вулиця, № будинку,квартира);
– серія та номер паспорта;
– ким виданий паспорт;
– військовозобов’язаний;
– фотографія;
– пенсіонер;
Увідповідності до аналізу предметної області можна зробити висновок, що задача,яка підлягає автоматизації відноситься то складу типових аналітично — обліковихзадач і може бути вирішена з використанням програмних та інструментальнихзасобів, передбачених технічним завданням, а саме з використанням елементівфайл – серверних баз даних.
2.Опис структур та методів обробки даних
2.1 Обґрунтування вибору методів тазасобів обробки даних
Оскільки, у відповідності до технічногозавдання і аналізу предметної області, розробка автоматизованої системипаспортних даних проводиться на основі принципів та елементів систем управліннябазами даних, то логічним є — збереження даних здійснювати у вигляді файлівтаблиць бази даних певного типу, вибір і обробку інформації виконувати наоснові запитів, для введення і відображення даних використовувати діалоговіекранні форми, а вихідні паперові документи формувати у вигляді звітів.
Однієюіз сучасних універсальних інструментальних систем програмування є Borland Delphi 6, яка має розвинені засоби для програмування та обробки баз даних, ів той же час підтримує майже всі відомі формати даних, що при необхідностідозволить перевести створені файли даних на іншу програмну платформу.
Одниміз самих розповсюджених форматів даних є формат таблиць баз даних Paradox, крім того обрана система програмуванняспеціалізована саме під цей формат і надає більше засобів для налаштуваннятаблиць баз даних при їх створенні. Тому саме формат таблиць баз даних Paradox використовується в даній системі.Створення файлів таблиць бази даних та визначення їх структури здійснюється задопомогою утиліти Database Desktop, яка входить до складу програмного комплекту Delphi.
Дляобробки даних на рівні запитів використовується мова SQL92, яка є стандартною мовою для побудови структурованих запитів вопераційній системі Windows. Длястворення звітів використовується генератор звітів QuickReport, компоненти якого представлені окремою вкладинкою програмногосередовища Delphi.
Длязабезпечення прискорення виконання операцій пошуку і вибірки даних, а такожнезалежності від шляху розташування фалів бази даних на дисках комп’ютерівкористувачів, базі даних ставиться у співвідношення псевдонім (загальне ім’ябази даних), який створюється і обробляється за допомогою спеціалізованоїутиліти BDE Administrator.
2.2Опис структур даних
Якбуло зазначено вище основними структурними елементами даних є файли таблицьбази даних у форматі Paradox.Нижче наведено перелік цих файлів із вказівкою назви файлу, структури полів тапояснень, що до призначення файлу. Назва полів певної таблиці даних починаютьсяз літери, яка співпадає з першою літерою назви відповідного файлу. Цезабезпечує виключення того, що в різних таблицях будуть використані однаковіназви полів, і в той же час вказує належність поля до певної таблиці. Длязбереження файлів таблиць використовують каталог:
С:\Program Files\Pasp_st\DATA
Pasp_st.db – файл, який використовується для облікуданих про всіх осіб. Початкові дані заносяться в таблицю при реєстрації новоїособи і можуть при необхідності редагуватися. Структура полів файлу Pasp_st.db наведена у таблиці 1.
Таблиця1 Структура полів файлу Pasp_st.dbНазва поля Тип Інформаційний зміст ID + Код Prizvuge Alpha Прізвище Imia Alpha Ім’я Po_batkovi Alpha По батькові Rik_nar Date Рік народження Vik Number Вік Stat Alpha Стать Adress Alpha Адреса Vylucia Alpha Вулиця Nom_byd Number Номер будинку Nom_kva Number Номер квартири Ser_pasp Alpha Серія паспорта Nom_pasp Number Номер паспорта Data_vud_pasp Date Дата видачі паспорта Kum_vud_pasp Alpha Ким виданий паспорт Viiskovo_zobov Alpha Військовозобов’язаний Photo Graphic Фото Pensioner Alpha Пенсіонер
Таблиця2 Структура полів файлу Vyl_sp.dbНазва поля Тип Інформаційний зміст ID + Код Adress Alpha Адреса Nazva Alpha Назва
Таблиця3 Структура полів файлу Tab_vub.dbНазва поля Тип Інформаційний зміст ID + Код Prizvuge Alpha Прізвище Imia Alpha Ім’я Po_batkovi Alpha По батькові Rik_nar Date Рік народження Vik Number Вік Stat Alpha Стать Adress Alpha Адреса Vylucia Alpha Вулиця Nom_byd Number Номер будинку Nom_kva Number Номер квартири Ser_pasp Alpha Серія паспорта Nom_pasp Number Номер паспорта Data_vud_pasp Date Дата видачі паспорта Kum_vud_pasp Alpha Ким виданий паспорт Viiskovo_zobov Alpha Військовозобов’язаний Photo Graphic Фото Pensioner Alpha Пенсіонер Prucuna_vub Alpha Причина вибуття Data_vub Date Дата вибуття
3.Опис алгоритму функціонування програмного забезпечення
3.1Інформаційна модель системи
/>
Рис.3.1. Інформаційна модель системи
3.2.Модульна структура програмного засобу
Програма складається з набору програмнихмодулів, кожний з яких виконує одну чи декілька функцій. Модульна структурапрограми зображена на рис. 3.2. У таблиці 3.1. наведено призначення програмнихмодулів.
/>
Мал.3.2
Призначенняпрограмних модулів Таблиця 3.1№ Позначення Призначення 1 p_st Головний модуль програми. Містить головну форму і забезпечує перехід з однієї форми на іншу. 2 vyl Модуль довідника вулиць. 3 pasp_st Модуль введення та редагування даних. 4 Unit9 Модуль звіту «Картка паспортних даних». 5 Uni11 Модуль для введення додаткових даних. 6 Uni10 Модуль звіту «Довідка про прописку». 7 Unit12 Модуль, який містить дані про вибувших. 8 Unit7 Модуль, для вилучення вибувших. 9 Unit4 Модуль, для пошуку за прізвищем. 10 Unit5 Модуль, для пошуку за адресою. 11 Unit6 Модуль, для відображення списку пенсіонерів. 12 Unit8 Модуль звіту «Список пенсіонерів» 13 Unit2 Модуль, який містить довідку про розробника.
3.3Опис програмних модулів
3.2.1Модуль “P_st_”
МодульP_st є головним модулем програмичерез який здійснюється зв’язок з іншими програмними модулями. Перехід на іншіпрограмні модулі виконується з використанням системи меню. Екранна форма модуляв режимі виконання програми, з розкритим елементом меню зображена на рис.3.3.
/>
Мал.3.3Екранна форма модуля P_st в режимівиконання програми
Екраннаформа модуля в режимі конструювання зображена на мал. 3.4
/>
Мал.3.4 Екранна форма модуля P_st врежимі конструювання
Програмнаспецифікація модуля P_st наведенау таблиці 3.2
Таблиця3.2 Програмна специфікація модуля P_st Компонент програми Позначення Зміст
Стандартні модулі
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls, Menus; Стандартні модулі, з якими встановлюється зв’язок
Візуальні компоненти MainMenu1: TMainMenu; Програмне меню, яке забезпечує перехід на інші програмні форми
N1: TMenuItem; Пункт меню «Довідники»
N2: TMenuItem; Підпункт «Вулиці» пункту меню Довідники
N3: TMenuItem; Пункт меню «Операції»
N4: TMenuItem; Підпункт «Введення даних» пункту меню Операції
N5: TMenuItem; Пункт меню «Вибірка»
N6: TMenuItem; Підпункт «Вибувші» пункту меню Вибірка
N7: TMenuItem; Підпункт «Дані про вибувших» пункту меню Операції
N8: TMenuItem; Підпункт «Пошук» пункту меню Вибірка
N9: TMenuItem; Підпункт «Прізвище» підпункту Пошук меню Вибірка
N10: TMenuItem; Підпункт «Адреса» підпункту Пошук меню Вибірка
N11: TMenuItem; Підпункт «Пенсіонери» пункту меню Вибірка
N12: TMenuItem; Пункт меню «Довідка»
N13: TMenuItem; Підпункт «Про програму» пункту меню Довідка
N14: TMenuItem; Підпункт «Про автора» пункту меню Довідка
Процедури procedure N1Click(Sender: TObject); Відкриваємо пункт меню «Довідники»
procedure N2Click(Sender: TObject); Переходимо на форму довідника вулиць
procedure N3Click(Sender: TObject); Відкриваємо пункт меню «Операції»
procedure N4Click(Sender: TObject); Переходимо на форму введення даних
procedure N5Click(Sender: TObject); Відкриваємо пункт меню «Вибірка»
procedure N6Click(Sender: TObject); Переходимо на форму вилучення вибувших
procedure N7Click(Sender: TObject Переходимо на форму перегляду даних про вибувших procedure N8Click(Sender: TObject); Відкриваємо підпункт меню «Пошук» procedure N9Click(Sender: TObject); Переходимо на форму для пошуку по прізвищу procedure N10Click(Sender: TObject); Переходимо на форму для пошуку за адресою procedure N11Click(Sender: TObject); Переходимо на форму для відображення пенсіонерів procedure N12Click(Sender: TObject); Відкриваємо пункт меню «Довідка» procedure N13Click(Sender: TObject); Переходимо на форму для перегляду довідки про програму procedure N14Click(Sender: TObject); Переходимо на форму для перегляду довідки про розробника /> /> /> /> />
Програмнийкод модуля P_st наведено у Додатку2.
Модульpasp_stє одним з головних модулів тому що саме він підтримуєвведення нових даних в базу даних та видалення даних з бази даних. Введеннявиконується вручну з деяким використанням автоматизації процесу. Контроль завведенням даних частково лягає на користувача, а частково на комп’ютер. Такожможна за допомогою цього модуля виконувати редагування даних. За допомогою даного модулю можна відобразити звіти «Картка паспортних даних» та «Довідка пропрописку».
Екраннаформа модуля в режимі виконання програми зображена на мал.3.5.
/>
Мал.3.5.Екранна форма модуля pasp_st в режимі виконання програми
Екранна форма модуля pasp_st в режиміконструювання зображена на мал. 3.6.
/>
Мал.3.6 Екранна форма модуля pasp_st в режимі конструювання
Програмнаспецифікація модуля pasp_st наведена у таблиці 3.3
Таблиця3.3 Програмна специфікація модуля pasp_st Компонент програми Позначення Зміст Стандартні модулі
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, DBCtrls, Grids, DBGrids, DBTables, Db, StdCtrls, Mask,DateUtils; Стандартні модулі, з якими встановлюється зв’язок Компоненти
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
Label13: TLabel;
Label14: TLabel;
Label15: TLabel;
Label16: TLabel; Написи на формі
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
DBEdit3: TDBEdit;
DBEdit4: TDBEdit;
DBEdit5: TDBEdit;
DBEdit10: TDBEdit;
DBEdit11: TDBEdit;
DBEdit9: TDBEdit;
DBEdit6: TDBEdit; Поля введення даних DBLookupComboBox1: TDBLookupComboBox; Випливаючі списки даних з яких потрібно вибрати потрібне поле DBNavigator1: TDBNavigator; Навігатор по базі даних DBImage1: TDBImage; Об’єкт завантаження малюнка DBGrid1: TDBGrid; Таблиці відображення вмісту бази данних
BitBtn1: TBitBtn;
BitBtn3: TBitBtn;
BitBtn2: TBitBtn; Кнопки виконання команд
DBComboBox1: TDBComboBox;
DBComboBox2: TDBComboBox;
DBComboBox3: TDBComboBox; Поле даних зі списком Процедури procedure DBEdit4Change(Sender: TObject); Процедура автоматичного розрахунку поля Вік procedure BitBtn1Click(Sender: TObject); Відкриває папку для загрузки фото procedure BitBtn2Click(Sender: TObject); Відкриває звіт паспортних даних procedure FormCreate(Sender: TObject); Активація форматів загрузки фото procedure Edit1Change(Sender: TObject); Пошук по першим літерам прізвища procedure BitBtn3Click(Sender: TObject); Відкриває звіт «Довідка про прописку» procedure FormActivate(Sender: TObject); Курсор на перше поле введення procedure DBNavigator1Click(Sender: TObject; Button: TNavigateBtn); Активація компонентів введення
Програмнийкод модуля Pasp_st наведено уДодатку 2.
МодульVyl –модуль довідника вулиць. За допомогою даного модуля можливо ввести в базувулиць нову, раніше не записану вулицю, або при введенні використовувати вжезанесені адреси.
Екраннаформа модуля в режимі виконання програми зображена на мал.3.7.
/>
Мал.3.7Екранна форма модуля Vyl в режимівиконання програми
Екраннаформа модуля в режимі конструювання зображена на мал. 3.8
/>
Мал.3.8 Екранна форма модуля Vyl врежимі конструювання
Програмнаспецифікація модуля Vyl наведена утаблиці 3.4
Таблиця3.4Компонент програми Позначення Зміст Стандартні модулі
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, DBCtrls, Grids, DBGrids, DBTables, Db, StdCtrls, Mask,DateUtils; Стандартні модулі, з якими встановлюється зв’язок Компоненти
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel; Написи на формі DBEdit1: TDBEdit; Поле для введення даних DBNavigator1: TDBNavigator; Навігатор по базі даних DBImage1: TDBImage; Об’єкт завантаження малюнка DBGrid1: TDBGrid; Таблиці відображення вмісту бази данних DBComboBox1: TDBComboBox; Поле даних зі списком
Програмнийкод модуля Vyl наведено у Додатку2.
МодульUnit4 – модуль пошуку даних запрізвищем. За допомогою даного модуля можливо вручну ввести потрібне прізвище інатиснути кнопку Пошук.
Екраннаформа модуля в режимі виконання програми зображена на мал.3.9.
/>
Мал.3.9.Екранна форма Unit4 режимівиконання
Екраннаформа модуля Unit4 в режиміконструювання зображена на рис. 3.10
/>
Мал.3.10.Екранна форма Unit4 режиміконструювання
Програмнаспецифікація модуля Unit4 наведенау таблиці 3.5
Таблиця3.5Компонент програми Позначення Зміст Стандартні модулі
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, DBCtrls, Grids, DBGrids, DBTables, Db, StdCtrls, Mask,DateUtils; Стандартні модулі, з якими встановлюється зв’язок Компоненти Label1: TLabel; Написи на формі Edit1: TEdit; Поле для введення даних Button1: TButton; Кнопка пошуку DBImage1: TDBImage; Об’єкт завантаження малюнка DBGrid2: TDBGrid; Таблиці відображення вмісту бази даних Процедури procedure Button1Click(Sender: TObject); Процедура пошуку procedure FormCreate(Sender: TObject); Оновлення таблиці
Програмнийкод модуля Unit4 наведено уДодатку 2.
МодульUnit5 – модуль пошуку даних заадресою. За допомогою даного модуля можливо вручну ввести потрібне прізвище інатиснути кнопку Пошук.
Екраннаформа модуля в режимі виконання програми зображена на мал.3.11.
/>
Мал.3.11. Екранна форма Unit5 режимівиконання
Екраннаформа модуля Unit5 в режиміконструювання зображена на рис. 3.12
/>
Мал.3.12. Екранна форма Unit5 режиміконструювання
Програмнаспецифікація модуля Unit5 наведенау таблиці 3.6
Таблиця3.6Компонент програми Позначення Зміст Стандартні модулі
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, DBCtrls, Grids, DBGrids, DBTables, Db, StdCtrls, Mask,DateUtils; Стандартні модулі, з якими встановлюється зв’язок Компоненти Label1: TLabel; Написи на формі Edit1: TEdit; Поле для введення даних Button1: TButton; Кнопка пошуку DBImage1: TDBImage; Об’єкт завантаження малюнка DBGrid1: TDBGrid; Таблиці відображення вмісту бази даних Процедури procedure Button1Click(Sender: TObject); Процедура пошуку procedure FormCreate(Sender: TObject); Оновлення таблиці
Програмнийкод модуля Unit5 наведено уДодатку 2.
МодульUnit6 – модуль пошуку івідображення списку пенсіонерів. За допомогою даного модуля можна визначитисписок пенсіонерів і вивести на принтер їх список.
Екраннаформа модуля в режимі виконання програми зображена на мал.3.13.
/>
Мал.3.13.Екранна форма Unit6 режимівиконання
Екраннаформа модуля Unit6 в режиміконструювання зображена на рис. 3.14
/>
Мал.3.14.Екранна форма Unit6 режиміконструювання
Програмнаспецифікація модуля Unit6 наведенау таблиці 3.7
Таблиця3.7Компонент програми Позначення Зміст Стандартні модулі
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, DBCtrls, Grids, DBGrids, DBTables, Db, StdCtrls, Mask,DateUtils; Стандартні модулі, з якими встановлюється зв’язок Компоненти Label1: TLabel; Написи на формі Edit1: TEdit; Поле для введення даних
Button1: TButton;
BitBtn1: TBitBtn; Кнопка пошуку DBGrid1: TDBGrid; Таблиці відображення вмісту бази даних Процедури procedure Button1Click(Sender: TObject); Друк списку пенсіонерів procedure FormCreate(Sender: TObject); Оновлення таблиці procedure BitBtn1Click(Sender: TObject); Відображення списку пенсіонерів
Програмнийкод модуля Unit6 наведено уДодатку 2.
МодульUnit7 – модуль таблиці вибувших.За допомогою даного модуля можна перемістити людину в окрему таблицю вибувших,попередньо вказавши дату вибуття та причину вибуття.
Екраннаформа модуля в режимі виконання програми зображена на мал.3.15.
/>
Мал.3.15.Екранна форма Unit7 режимівиконання
Екраннаформа модуля Unit7 в режиміконструювання зображена на рис. 3.16
/>
Мал.3.16.Екранна форма Unit7режиміконструювання
Програмнаспецифікація модуля Unit7 наведенау таблиці 3.8
Таблиця3.8Компонент програми Позначення Зміст Стандартні модулі
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, DBCtrls, Grids, DBGrids, DBTables, Db, StdCtrls, Mask,DateUtils; Стандартні модулі, з якими встановлюється зв’язок Компоненти
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel; Написи на формі
DBEdit1: TDBEdit;
DBEdit2: TDBEdit; Поле для введення даних BitBtn1: TBitBtn; Кнопка пошуку
DBGrid1: TDBGrid;
DBGrid2: TDBGrid; Таблиці відображення вмісту бази даних DBNavigator1: TDBNavigator; Навігатор по базі даних Процедури procedure BitBtn1Click(Sender: TObject); Переміщення procedure FormCreate(Sender: TObject); Оновлення таблиці
Програмнийкод модуля Unit6 наведено уДодатку 2.
МодульUnit11 – додатковий модуль таблицівибувших. За допомогою даного модуля можна ввести додаткові дані для створеннядовідки про прописку.
Екраннаформа модуля в режимі виконання програми зображена на мал.3.17.
/>
Мал.3.17.Екранна форма Unit11 режимівиконання
Екраннаформа модуля Unit7 в режиміконструювання зображена на рис. 3.18
/>
Мал.3.19.Екранна форма Unit11 режиміконструювання
Програмнаспецифікація модуля Unit11 наведенау таблиці 3.9
Таблиця3.9Компонент програми Позначення Зміст Стандартні модулі
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, DBCtrls, Grids, DBGrids, DBTables, Db, StdCtrls, Mask,DateUtils; Стандартні модулі, з якими встановлюється зв’язок Компоненти
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel; Написи на формі
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit; Поле для введення даних Button1: TButton; Кнопка пошуку Процедури procedure Button1Click(Sender: TObject); Кнопка присвоєння даних до звіту.
Програмнийкод модуля Unit11 наведено уДодатку 2.
МодульUnit12 – модуль який містить даніпро вибувших. За допомогою даного модуля можна переглянути список вибувших, алене можливо внести зміни.
Екраннаформа модуля в режимі виконання програми зображена на мал.3.20.
/>
Мал.3.20.Екранна форма Unit12 режимі виконання
Екраннаформа модуля Unit12 в режиміконструювання зображена на рис. 3.21
/>
Мал.3.21.Екранна форма Unit12 режиміконструювання
Програмнаспецифікація модуля Unit12 наведенау таблиці 3.10
Таблиця3.10Компонент програми Позначення Зміст Стандартні модулі
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, DBCtrls, Grids, DBGrids, DBTables, Db, StdCtrls, Mask,DateUtils; Стандартні модулі, з якими встановлюється зв’язок Компоненти Label1: TLabel; Написи на формі
DBEdit1: TDBEdit;
DBEdit2: TDBEdit; Поле для введення даних DBImage1: TDBImage; Відображення фото Процедури procedure TForm12.FormCreate(Sender: TObject); Заборона редагування
Програмнийкод модуля Unit12 наведено уДодатку 2.
МодульUnit8 – модуль формує звіт «Списокпенсіонерів». За допомогою даного модуля и можемо роздрукувати списокпенсіонерів.
Екраннаформа модуля в режимі виконання програми зображена на мал.3.22.
/>
Мал.3.22Екранна форма Unit8 режимівиконання
Екраннаформа модуля Unit8 в режиміконструювання зображена на рис. 3.23
/>
Мал.3.23Екранна форма Unit8 режиміконструювання
Програмнаспецифікація модуля Unit8 наведенау таблиці 3.11
Таблиця3.11Компонент програми Позначення Зміст Стандартні модулі
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, DBCtrls, Grids, DBGrids, DBTables, Db, StdCtrls, Mask,DateUtils; Стандартні модулі, з якими встановлюється зв’язок Компоненти
QRLabel1: TQRLabel;
QRLabel2: TQRLabel;
QRLabel3: TQRLabel;
QRLabel4: TQRLabel;
QRLabel5: TQRLabel;
QRLabel6: TQRLabel; Написи звіту
QRDBText1: TQRDBText;
QRDBText2: TQRDBText;
QRDBText3: TQRDBText;
QRDBText4: TQRDBText;
QRDBText5: TQRDBText; Поле виведення даних
Програмнийкод модуля Unit8 наведено уДодатку 2.
МодульUnit9 – модуль формує звіт «Карткапаспортних даних». За допомогою даного модуля и можемо вивести на екран карткупаспортних даних по окремому прізвищу, по необхідності роздрукувати.
Екраннаформа модуля в режимі виконання програми зображена на мал.3.24.
/>
Мал.3.24.Екранна форма Unit9 режимі виконання
Екраннаформа модуля Unit9 в режиміконструювання зображена на мал. 3.25
/>
Мал.3.25.Екранна форма Unit9 режиміконструювання
Програмнаспецифікація модуля Unit9 наведенау таблиці 3.12
Таблиця3.12Компонент програми Позначення Зміст Стандартні модулі
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, DBCtrls, Grids, DBGrids, DBTables, Db, StdCtrls, Mask,DateUtils; Стандартні модулі, з якими встановлюється зв’язок Компоненти
QRLabel1: TQRLabel;
QRLabel2: TQRLabel;
QRLabel3: TQRLabel;
QRLabel4: TQRLabel;
QRLabel5: TQRLabel;
QRLabel6: TQRLabel;
QRLabel7: TQRLabel;
QRLabel8: TQRLabel;
QRLabel9: TQRLabel;
QRLabel10: TQRLabel;
QRLabel11: TQRLabel;
QRLabel12: TQRLabel;
QRLabel13: TQRLabel;
QRLabel14: TQRLabel;
QRLabel15: TQRLabel;
QRLabel16: TQRLabel;
QRLabel17: TQRLabel;
QRLabel18: TQRLabel;
QRLabel19: TQRLabel; Написи звіту
QRDBText1: TQRDBText;
QRDBText2: TQRDBText;
QRDBText3: TQRDBText;
QRDBText4: TQRDBText;
QRDBText5: TQRDBText;
QRDBText6: TQRDBText;
QRDBText7: TQRDBText;
QRDBText8: TQRDBText;
QRDBText9: TQRDBText;
QRDBText10: TQRDBText;
QRDBText11: TQRDBText;
QRDBText12: TQRDBText;
QRDBText13: TQRDBText;
QRDBText14: TQRDBText;
QRDBText15: TQRDBText;
QRDBText16: TQRDBText; Поле виведення даних QRDBImage1: TQRDBImage; Відображено картинку в звіті
Програмнийкод модуля Unit9 наведено уДодатку 2.
МодульUnit10 – модуль формує звіт«Довідка про прописку». За допомогою даного модуля и можемо вивести на екрандовідку про прописку по окремому прізвищу, по необхідності роздрукувати.
Екраннаформа модуля в режимі виконання програми зображена на мал.3.26.
/>
Мал.3.26.Екранна форма Unit10 режимівиконання
Екраннаформа модуля Unit10 в режиміконструювання зображена на рис. 3.27
/>
Мал.3.27.Екранна форма Unit10 режиміконструювання
Програмнаспецифікація модуля Unit10 наведенау таблиці 3.13
Таблиця3.13Компонент програми Позначення Зміст Стандартні модулі
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, DBCtrls, Grids, DBGrids, DBTables, Db, StdCtrls, Mask,DateUtils; Стандартні модулі, з якими встановлюється зв’язок Компоненти
QRLabel1: TQRLabel;
QRLabel2: TQRLabel;
QRLabel3: TQRLabel;
QRLabel4: TQRLabel;
QRLabel5: TQRLabel;
QRLabel6: TQRLabel;
QRLabel7: TQRLabel;
QRLabel8: TQRLabel;
QRLabel9: TQRLabel;
QRLabel10: TQRLabel;
QRLabel11: TQRLabel;
QRLabel12: TQRLabel;
QRLabel13: TQRLabel;
QRLabel14: TQRLabel;
QRLabel15: TQRLabel;
QRLabel16: TQRLabel; Написи звіту
QRDBText1: TQRDBText;
QRDBText2: TQRDBText;
QRDBText3: TQRDBText;
QRDBText4: TQRDBText;
QRDBText5: TQRDBText;
QRDBText6: TQRDBText;
QRDBText7: TQRDBText;
QRDBText8: TQRDBText; Поле виведення даних
Програмнийкод модуля Unit10 наведено уДодатку 2.
5.Висновок
Данийпроект розроблений відповідно одержаного завдання. Подальший розвиток роботиможливий у бік поліпшення зовнішнього інтерфейсу і адаптації програми добільшої області потенційного застосування, за рахунок інтеграції з іншимипрограмними пакетами призначеними для автоматизації різних сфер діяльностіпідприємства. У даній програмі можна покращити цілісність даних, які використовуються,надійність при виконанні певних операцій, контроль за введеною інформацією.
6.Список використаної літератури
1. В.Э.Гофман, А.Д. Хомоненко „Delphi 6”
2. Н.Б. Культин Delphi 6. „Програмирование на Object Pascal”
ДОДАТКИДОДАТОК 17.1 Технічне завдання на розробку програмного засобу
1.ЗАГАЛЬНІ ПОЛОЖЕННЯ
1.2.Найменуванняпрограмного засобу
Повненайменування програмної розробки: Автоматизована система «Облік паспортнихданих», надалі іменована як «програма». Коротка назва програми – «Паспортнийстіл».
1.2Призначення розробки та область застосування
Програма «Паспортний стіл»призначена для автоматизації підприємств призначена для обліку введенняпаспортних даних осіб, внесення змін в особисті дані і формування списківпенсіонерів і звітів у паперовій формі. Програма використовує пошук осіб завказаною адресою, чи прізвищем. Програма може бути застосована у державнихустановах.
1.3 Найменування розроблювача ізамовника
Розроблювач даного програмного продукту- студентка групи П-308 (шифр групи) __________________ (прізвище та ініціали),надалі іменований як «розроблювач».
Замовник програмного продукту – Цикловакомісія «Розробка програмного забезпечення» Бердичівського коледжупромисловості, економіки та права, в особі викладача Тростянського Б.Г..
2. ПІДСТАВА ДЛЯ РОЗРОБКИ
2.1 Документ, на підставі якоговедеться розробка
Робота ведеться на підставі завдання накурсове проектування по дисципліні «Технологія розробки програмногозабезпечення»
2.2 Організація, що затвердила цейдокумент, і дата його затвердження
Завдання затверджене на засіданніциклової комісії «Розробка програмного забезпеченн» Бердичівського коледжупромисловості, економіки та права __________ і видано викладачем ТростянськимБ.Г.
3. ВИМОГИ ДО ПРОГРАМИ
3.1 Вимоги до функціональниххарактеристик
3.1.1 Склад виконуваних функцій
Програма повинна забезпечувативведення, збереження і редагування даних, формувати запити, будувати звіти.
Програма повинна мати можливістьавтозаповнення або підстановки даних у визначені поля для прискорення роботи.
Програма повинна забезпечувати коректневведення та перевірку інформації на відповідність типу.
Програма повинна мати можливістьвикористання фільтру (спеціальна опція, що дозволяє відображати, тільки тідані, які задовольняють заданій умові), параметри якого формуютьсякористувачем.
Програма повинна виконувати типовіоперації з використанням функціональних клавіш, або клавіатурних комбінацій.
Програма повинна мати розгалуженудовідкову систему, з можливістю отримання довідки у різних режимах.
Встановлення програми повинневиконуватися з використанням інсталяційного пакету.
3.1.2 Організація вхідних і вихіднихданих
Організація вхідних і вихідних данихповинна відповідати інформаційній структурі виконуваних операцій, вхідним тавихідним паперовим документам.
Введення оперативних даних повинновиконуватися з використанням діалогових екранних форм, побудованих на основівізуальних компонентів.
Дані, які підлягають збереженню повиннізберігатися у вигляді таблиць баз даних у форматі dBASE, PARADOX або FoxPro.
3.1.3 Часові характеристики і розмірпам’яті, необхідної для роботи програми
Час реакції програми на натисканняклавіш і маніпуляцій мишею не повинен перевищувати 0,25 с.
Реакція на команди меню не повиннаперевищувати 1 с.
Обсяг оперативної пам’яті, необхіднийдля роботи програми не повинний перевищувати 1 Мбайт.
Дисковий простір, необхідний длязбереження програми і файлів даних не повинен перевищувати 4 Мбайт (для 100записів таблиць бази даних).
В архівному вигляді файли початковогокоду програми, баз даних і довідкової системи не повинні перевищувати 1,2Мбайт.
Розмір інсталяційного пакету програми,який включає базову програму і програми для підтримки її роботи не повиненперевищувати 10 Мбайт.
3.2 Вимоги до надійності
3.2.1 Вимоги до надійногофункціонування
Програма повинна нормальнофункціонувати при безперебійній роботі ПК. При виникненні збою в роботіапаратури, відновлення нормальної роботи програми повинне виконуватися після:перезавантаження операційної системи; запуску стартового файлу програми;повторного виконання дій, втрачених до останнього збереження інформації намагнітному диску.
Програма повинна забезпечуватиможливість відновлення накопичених даних при її повторній інсталяції.
Програма повинна забезпечувати архівнезбереження накопичених даних на зовнішніх або мережних носіях інформації.
Програма повинна забезпечувати коректнуобробку виняткових ситуацій.
3.2.2 Контроль вхідної і вихідноїінформації
Програма повинна забезпечуватиправильне введення інформації за рахунок використання, там де це доцільно,шаблонів введення, процедурного блокування введення некоректної інформації,списків та автопідстановки.
Обробка виняткових ситуацій, пов’язанихіз доступом до дисків, пристроїв введення – виведення інформації, повиннаоброблятися програмно з виведенням відповідних інформаційних повідомлень, і непризводити до блокування роботи програми.
3.2.3 Час відновлення після відмови
Час відновлення після відмови, непов’язаною з роботою програми, повинен складатися із: часу перезапускукористувачем операційної системи; часу запуску користувачем файлу програми, щовиконується; часу повторного введення або зчитування з носіїв втрачених даних.
3.3 Умови експлуатації і збереження
Програма повинна зберігатися у видідвох маркірованих дискових копій — еталонної і робочої, на яких вказуєтьсяномер версії програми, дата запису програми на диск і дата її наступногоперезапису. Періодичний перезапис інформації повинен здійснюватися відповіднодо нанесеного маркірування. Умови збереження дисків повинні відповідатизагальним вимогам.
3.4 Вимоги до інформаційної іпрограмної сумісності
3.4.1 Вимоги до інформаційних структурна вході і виході
Вимоги до інформаційних структур навході і виході визначені в п. 3.1.2.
3.4.2 Вимоги до методів рішення і мовпрограмування
Вибір методів рішення здійснюєтьсярозроблювачем без узгодження з замовником. Розробка програми повинна вестися наодній з наступних мов і з використанням засобів програмування:
VisualFoхPro;
Borland Delphi.
3.4.3 Вимоги до системних програмнихзасобів
Програма повинна працювати підуправлінням операційної системи Windows 98, Windows 2000, Windows XP.
Для забезпечення функціонуванняпрограми до складу системного програмного забезпечення повинен входити драйвер принтеравідповідного типу (з урахуванням моделі принтера і встановленої версіїопераційної системи), архіватор ZIP.
3.5 Вимоги до складу і параметрівтехнічних засобів
Вимоги до складу технічних засобів:
– персональний комп’ютер (ПК) у базовій конфігурації;
– пристрій для роботи з компакт дисками, якщопередбачено встановлення програми з CD;
Системні параметри ПК визначаютьсятипом операційної системи, обумовленої у п. 4.3.3. з урахуванням ресурсів,необхідних для підтримки роботи самої програми. Рекомендовані мінімальніхарактеристики технічних засобів, які забезпечують ефективну роботу програми убудь якому із вказаних системних програмних середовищ:
– процесор – Pentium III з тактовоючастотою 750 МГц;
– оперативна пам’ять — 128 Mбайт;
– обсяг дискової пам’яті – 20 Гбайт.
4. ВИМОГИ ДО ПРОГРАМНОЇ ДОКУМЕНТАЦІЇ
Програмна документація повинна включатинаступні документи:
– «Інструкція по інсталяції (встановленню) програми»,складається з опису інсталяційного пакету, переліку етапів інсталяції та їхпослідовності, шляху інсталяції, розміру інсталяційного пакету та програмнихфайлі після інсталяції;
– «Керівництво користувача», складається з описупослідовності завантаження програми, основних режимів роботи, основних екраннихформ та їх структури, переліку виняткових ситуацій та реакції користувача наних, контрольні приклади;
– «Керівництво адміністратора баз даних», складаєтьсяз опису складу таблиць бази даних та доступів до них (список користувачів, їхправа і паролі), опису та послідовності робіт по обслуговуванню бази даних(архівування, резервне ковпіювання, з вказівкою періодичності виконання тазасобів, що для цього використовуються).
5. ТЕХНІКО — ЕКОНОМІЧНІ ПОКАЗНИКИ
Техніко — економічні показникивизначаються замовником без участі виконавця.
6. СТАДІЇ ТА ЕТАПИ РОЗРОБКИ
Стадії та етапи розробки програми, татерміни їх виконання повинні відповідати затвердженому графіку курсовогопроектування.
7. ПОРЯДОК КОНТРОЛЮ І ПРИЙМАННЯ
Основними формами контролю виконанняпроекту є — поточний, проміжковий і підсумковий.
Поточний контроль здійснюєтьсявиконавцем, щляхом систематичної перевірки відповідності стану виконуванихробіт графіку виконання проекту і поточних характеристик проекту вимогамтехнічного завдання.
Проміжковий контроль здійснюється замовникоміз залученням виконавця, у відповідності до графіку проведення контролю, шляхомпервірки поточного стану проекта графіку розробки і відвічності основних етапівта характеристик проекту технічному завданню. Недоліки, виявлені у результатіпроміжкового контролю повинні бути усунені до наступної перевірки.
Підсумковий контроль проводитьсякомісією, яка складається із представників замовника, у присутності виконавця втермін визначений графіком виконання проекту. Підсумковий контроль передбачаєкомплексне тестування всього проекту і окремих модулів на відповідністьфункціональним і якісним характеристикам, перевірку складу та якості програмноїдокументації, комплектність проекту у відповідності до пред’явленого опису ітехнічного завдання.
На основі результатів підсумковогоконтролю комісія робить висновок про приймання або неприймання проекту, зоформленням відповідного акту (рецензії) на виконану роботу.
Додаток 27.2 Коди програмних модулів
unitp_st;
interface
uses
Windows,Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,Menus, StdCtrls, jpeg, ExtCtrls;
type
TForm1= class(TForm)
MainMenu1:TMainMenu;
N1:TMenuItem;
N2:TMenuItem;
N3:TMenuItem;
N4:TMenuItem;
N5:TMenuItem;
N6:TMenuItem;
N7:TMenuItem;
N8:TMenuItem;
N9:TMenuItem;
N10:TMenuItem;
N11:TMenuItem;
N12:TMenuItem;
N13:TMenuItem;
N14:TMenuItem;
Image1:TImage;
Label3:TLabel;
Label1:TLabel;
Label2:TLabel;
Label4:TLabel;
procedureN4Click(Sender: TObject);
procedureN2Click(Sender: TObject);
procedureN9Click(Sender: TObject);
procedureN10Click(Sender: TObject);
procedureN11Click(Sender: TObject);
procedureN6Click(Sender: TObject);
procedureN7Click(Sender: TObject);
procedureN13Click(Sender: TObject);
procedureN14Click(Sender: TObject);
private
{Private declarations }
public
{Public declarations }
end;
var
Form1:TForm1;
implementation
usespasp_st, vyl, Unit4, Unit5, Unit6, Unit7, Unit12, Unit2;
{$R*.dfm}
procedureTForm1.N4Click(Sender: TObject);
begin
form2.show;
end;
procedureTForm1.N2Click(Sender: TObject);
begin
form3.show;
end;
procedureTForm1.N9Click(Sender: TObject);
begin
form4.Show;
end;
procedureTForm1.N10Click(Sender: TObject);
begin
form5.show;
end;
procedureTForm1.N11Click(Sender: TObject);
begin
form6.show;
end;
procedureTForm1.N6Click(Sender: TObject);
begin
form7.show;
end;
procedureTForm1.N7Click(Sender: TObject);
begin
form12.show;
end;
procedureTForm1.N13Click(Sender: TObject);
begin
winhelp(Form1.Handle,’pasp_help.hlp’,HELP_CONTEXT,1);end;
procedureTForm1.N14Click(Sender: TObject);
begin
aboutbox.showmodal;
end;
end.
unitpasp_st;
interface
usesjpeg, DB, DBTables, ExtDlgs, Dialogs, StdCtrls, Buttons, DBCtrls,
Controls,ExtCtrls, Mask, Grids, DBGrids, Classes,
Windows,Messages, SysUtils, Variants, Graphics, Forms, QuickRpt;
type
TForm2= class(TForm)
DBGrid1:TDBGrid;
DBEdit1:TDBEdit;
DBNavigator1:TDBNavigator;
DBLookupComboBox1:TDBLookupComboBox;
DBEdit2:TDBEdit;
DBEdit3:TDBEdit;
DBEdit4:TDBEdit;
DBEdit5:TDBEdit;
Label1:TLabel;
Label2:TLabel;
Label3:TLabel;
Label4:TLabel;
Label5:TLabel;
Label6:TLabel;
Shape1:TShape;
Label7:TLabel;
Label8:TLabel;
Label9:TLabel;
Label10:TLabel;
Label11:TLabel;
DBEdit7:TDBEdit;
DBEdit8:TDBEdit;
Label12:TLabel;
Label13:TLabel;
Label14:TLabel;
Label15:TLabel;
Label16:TLabel;
DBEdit10:TDBEdit;
DBEdit11:TDBEdit;
DBEdit9:TDBEdit;
DBComboBox1:TDBComboBox;
DBComboBox2:TDBComboBox;
DBComboBox3:TDBComboBox;
Label17:TLabel;
DBEdit6:TDBEdit;
OpenPictureDialog1:TOpenPictureDialog;
SavePictureDialog1:TSavePictureDialog;
Table2:TTable;
DataSource2:TDataSource;
Table1:TTable;
DataSource1:TDataSource;
Table1ID:TAutoIncField;
Table1Prizvuge:TStringField;
Table1Imia:TStringField;
Table1Po_batkovi:TStringField;
Table1Rik_nar:TDateField;
Table1Vik:TFloatField;
Table1Stat:TStringField;
Table1Adress:TStringField;
Table1Vylucia:TStringField;
Table1Nom_byd:TFloatField;
Table1Nom_kva:TFloatField;
Table1Ser_pasp:TStringField;
Table1Nom_pasp:TFloatField;
Table1Data_vud_pasp:TDateField;
Table1Kum_vud_pasp:TStringField;
Table1Viiskovo_zobov:TStringField;
Table1Photo:TGraphicField;
Table1Pensioner:TStringField;
Label18:TLabel;
DBComboBox4:TDBComboBox;
Edit1:TEdit;
DBImage1:TDBImage;
Label19:TLabel;
BitBtn1:TBitBtn;
BitBtn3:TBitBtn;
BitBtn2:TBitBtn;
procedureDBEdit4Change(Sender: TObject);
procedureBitBtn1Click(Sender: TObject);
procedureFormCreate(Sender: TObject);
procedureBitBtn2Click(Sender: TObject);
procedureEdit1Change(Sender: TObject);
procedureBitBtn3Click(Sender: TObject);
procedureFormActivate(Sender: TObject);
procedureDBNavigator1Click(Sender: TObject; Button: TNavigateBtn);
private
{Private declarations }
public
{Public declarations }
end;
var
Form2:TForm2;
implementation
usesUnit8, Unit9, Unit10, Unit11;
{$R*.dfm}
functionCalculateAge(Birthday, CurrentDate: TDate): Integer;
var
Month,Day, Year, CurrentYear, CurrentMonth, CurrentDay: Word;
begin
DecodeDate(Birthday,Year, Month, Day);
DecodeDate(CurrentDate,CurrentYear, CurrentMonth, CurrentDay);
if(Year = CurrentYear) and (Month = CurrentMonth) and (Day = CurrentDay) then
begin
Result:= 0;
end
else
begin
Result:= CurrentYear — Year;
if(Month > CurrentMonth) then
Dec(Result)
else
begin
ifMonth = CurrentMonth then
if(Day > CurrentDay) then
Dec(Result);
end;
end;
end;
procedureTForm2.DBEdit4Change(Sender: TObject);
begin
iflength(dbedit4.Text)=10 then
dbedit5.Text:=Format(‘%d’,
[CalculateAge(StrToDate(dbedit4.Text),Date)]);
end;
procedureTForm2.BitBtn1Click(Sender: TObject);
begin
ifopenpicturedialog1.Execute then
dbimage1.Picture.LoadFromFile(OpenPictureDialog1.FileName);
end;
procedureTForm2.FormCreate(Sender: TObject);
begin
openpicturedialog1.Filter:=’Âñåôàéëû(*.bmp;*.ico;*.emf;*.wmf)|*.bmp;*.ico;*.emf;*.wmf’;
savepicturedialog1.Filter:=’*.bmp|*.bmp’;
end;
procedureTForm2.BitBtn2Click(Sender: TObject);
varbm:string;
zv:TBookmark;
begin
zv:=Table1.GetBookmark;
form11.show;
end;
procedureTForm2.Edit1Change(Sender: TObject);
varstrField:string;
begin
strField:=’Prizvuge’;
table1.Locate(strField,Edit1.Text,[loCaseInsensitive,loPartialKey]);
end;
procedureTForm2.BitBtn3Click(Sender: TObject);
varbm:string;
zv:TBookmark;
begin
zv:=Table1.GetBookmark;
form9.QuickRep1.Preview;
end;
procedureTForm2.FormActivate(Sender: TObject);
begin
form2.DBEdit1.SetFocus;
end;
unitvyl;
interface
uses
Windows,Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,DB, DBTables, ExtCtrls, DBCtrls, Grids, DBGrids, StdCtrls, Mask,
jpeg;
type
TForm3= class(TForm)
DataSource1:TDataSource;
DBGrid1:TDBGrid;
DBNavigator1:TDBNavigator;
Table1:TTable;
DBComboBox1:TDBComboBox;
DBEdit1:TDBEdit;
Image1:TImage;
Label1:TLabel;
Label2:TLabel;
Label3:TLabel;
Label4:TLabel;
Label5:TLabel;
Label6:TLabel;
Label7:TLabel;
Label8:TLabel;
private
{Private declarations }
public
{Public declarations }
end;
var
Form3:TForm3;
implementation
{$R*.dfm}
end.
unitUnit4;
interface
uses
Windows,Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,DB,QuickRpt, Grids, DBGrids, DBTables, DBCtrls, StdCtrls, ExtCtrls;
type
TForm4= class(TForm)
Table1:TTable;
DBGrid2:TDBGrid;
Button1:TButton;
Edit1:TEdit;
DataSource2:TDataSource;
Query11:TQuery;
Label1:TLabel;
DataSource1:TDataSource;
Table1Prizvuge:TStringField;
Table1Imia:TStringField;
Table1Po_batkovi:TStringField;
Table1Rik_nar:TDateField;
Table1Vik:TFloatField;
Table1Stat:TStringField;
Table1Adress:TStringField;
Table1Vylucia:TStringField;
Table1Nom_byd:TFloatField;
Table1Nom_kva:TFloatField;
Table1Ser_pasp:TStringField;
Table1Nom_pasp:TFloatField;
Table1Data_vud_pasp:TDateField;
Table1Kum_vud_pasp:TStringField;
Table1Viiskovo_zobov:TStringField;
Table1Photo:TGraphicField;
Table1Pensioner:TStringField;
procedureButton1Click(Sender: TObject);
procedureFormCreate(Sender: TObject);
private
{Private declarations }
public
{Public declarations }
end;
var
Form4:TForm4;
implementation
usesp_st, Unit8, pasp_st, Unit9;
{$R*.dfm}
procedureTForm4.Button1Click(Sender: TObject);
varfam: string[30];
begin
fam:=edit1.Text;
dbgrid2.Visible:=true;
iffam ”
then
begin
withform4.Query11 do begin
Close;
SQL.Clear;
SQL.Add(‘SELECTprizvuge,Imia, po_batkovi, rik_nar,vik, Stat,adress, vylucia, Nom_byd,nom_kva,ser_pasp,nom_pasp,data_vud_pasp, kum_vud_pasp,viiskovo_zobov’);
SQL.Add(‘FROMPasp_st.db’);
SQL.Add(‘WHEREPrizvuge= “‘+ fam + ‘”‘);
Open;
end;
form4.Query11.DataSource:=form4.DataSource1;
Form4.DataSource2.DataSet:=form4.Query11;
form4.DBGrid2.DataSource:=form4.DataSource2;
end;
end;
procedureTForm4.FormCreate(Sender: TObject);
begin
form4.Table1.Refresh;
end;
end.
unitUnit5;
interface
uses
Windows,Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,StdCtrls, Buttons, Grids, DBGrids, DBTables, DB, ExtCtrls,
DBCtrls;
type
TForm5= class(TForm)
Label1:TLabel;
Edit1:TEdit;
DataSource1:TDataSource;
DataSource2:TDataSource;
Table1:TTable;
Query1:TQuery;
DBGrid1:TDBGrid;
BitBtn1:TBitBtn;
Table1Prizvuge:TStringField;
Table1Imia:TStringField;
Table1Po_batkovi:TStringField;
Table1Rik_nar:TDateField;
Table1Vik:TFloatField;
Table1Stat:TStringField;
Table1Adress:TStringField;
Table1Vylucia:TStringField;
Table1Nom_byd:TFloatField;
Table1Nom_kva:TFloatField;
Table1Ser_pasp:TStringField;
Table1Nom_pasp:TFloatField;
Table1Data_vud_pasp:TDateField;
Table1Kum_vud_pasp:TStringField;
Table1Viiskovo_zobov:TStringField;
Table1Photo:TGraphicField;
Table1Pensioner:TStringField;
procedureBitBtn1Click(Sender: TObject);
procedureFormCreate(Sender: TObject);
private
{Private declarations }
public
{Public declarations }
end;
var
Form5:TForm5;
implementation
usesUnit4;
{$R*.dfm}
procedureTForm5.BitBtn1Click(Sender: TObject);
varfam: string;
begin
dbgrid1.Visible:=true;
fam:=edit1.Text;
iffam ”
then
begin
withform5.Query1 do begin
Close;
SQL.Clear;
SQL.Add(‘SELECTprizvuge,Imia, po_batkovi, rik_nar,vik, Stat,adress, vylucia, Nom_byd,nom_kva,ser_pasp,nom_pasp,data_vud_pasp, kum_vud_pasp,viiskovo_zobov ‘);
SQL.Add(‘FROMPasp_st.db’);
SQL.Add(‘WHEREvylucia= “‘+ fam + ‘”‘);
Open;
end;
form5.Query1.DataSource:=form5.DataSource1;
Form5.DataSource2.DataSet:=form5.Query1;
form5.DBGrid1.DataSource:=form5.DataSource2;
end;
end;
procedureTForm5.FormCreate(Sender: TObject);
begin
form5.Table1.Refresh;
end;
end.
unitUnit6;
interface
uses
Windows,Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,DB, DBTables, Grids, DBGrids, StdCtrls, Buttons;
type
TForm6= class(TForm)
DBGrid1:TDBGrid;
Table1:TTable;
Query1:TQuery;
DataSource1:TDataSource;
DataSource2:TDataSource;
Edit1:TEdit;
BitBtn1:TBitBtn;
Table1Prizvuge:TStringField;
Table1Imia:TStringField;
Table1Po_batkovi:TStringField;
Table1Rik_nar:TDateField;
Table1Vik:TFloatField;
Table1Stat:TStringField;
Table1Adress:TStringField;
Table1Vylucia:TStringField;
Table1Nom_byd:TFloatField;
Table1Nom_kva:TFloatField;
Table1Ser_pasp:TStringField;
Table1Nom_pasp:TFloatField;
Table1Data_vud_pasp:TDateField;
Table1Kum_vud_pasp:TStringField;
Table1Viiskovo_zobov:TStringField;
Table1Photo:TGraphicField;
Table1Pensioner:TStringField;
Label1:TLabel;
Button1:TButton;
procedureBitBtn1Click(Sender: TObject);
procedureButton1Click(Sender: TObject);
procedureFormCreate(Sender: TObject);
private
{Private declarations }
public
{Public declarations }
end;
var
Form6:TForm6;
implementation
usesUnit9, Unit8;
{$R*.dfm}
procedureTForm6.BitBtn1Click(Sender: TObject);
varfam,fam1: string[30];
begin
form6.DBGrid1.Visible:=true;
fam:=’Òàê’;
withform6.Query1 do begin
Close;
SQL.Clear;
SQL.Add(‘SELECTprizvuge,Imia, po_batkovi, rik_nar,vik, Stat,adress, vylucia, Nom_byd,nom_kva,ser_pasp,nom_pasp,data_vud_pasp, kum_vud_pasp,viiskovo_zobov’);
SQL.Add(‘FROMPasp_st.db’);
SQL.Add(‘WHEREpensioner= “‘+ fam + ‘”‘);
Open;
end;
form6.Query1.DataSource:=form6.DataSource1;
Form6.DataSource2.DataSet:=form6.Query1;
form6.DBGrid1.DataSource:=form6.DataSource2;
end;
procedureTForm6.Button1Click(Sender: TObject);
varzv:TBookmark;
begin
zv:=Query1.GetBookmark;
form8.QuickRep1.Preview;
end;
procedureTForm6.FormCreate(Sender: TObject);
begin
form6.Table1.Refresh;
end;
end.
unitUnit7;
interface
uses
Windows,Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,StdCtrls, Buttons, DB, DBTables, Grids, DBGrids, Mask, DBCtrls,
ExtCtrls;
type
TForm7= class(TForm)
DBGrid1:TDBGrid;
DBGrid2:TDBGrid;
Table1:TTable;
Table2:TTable;
Query1:TQuery;
DataSource1:TDataSource;
DataSource2:TDataSource;
DataSource3:TDataSource;
BitBtn1:TBitBtn;
Label2:TLabel;
Label3:TLabel;
DBEdit1:TDBEdit;
DBEdit2:TDBEdit;
Table1ID:TAutoIncField;
Table1Prizvuge:TStringField;
Table1Imia:TStringField;
Table1Po_batkovi:TStringField;
Table1Rik_nar:TDateField;
Table1Vik:TFloatField;
Table1Stat:TStringField;
Table1Adress:TStringField;
Table1Vylucia:TStringField;
Table1Nom_byd:TFloatField;
Table1Nom_kva:TFloatField;
Table1Ser_pasp:TStringField;
Table1Nom_pasp:TFloatField;
Table1Data_vud_pasp:TDateField;
Table1Kum_vud_pasp:TStringField;
Table1Viiskovo_zobov:TStringField;
Table1Photo:TGraphicField;
Table1Pensioner:TStringField;
DBNavigator1:TDBNavigator;
Label1:TLabel;
Label4:TLabel;
procedureBitBtn1Click(Sender: TObject);
procedureFormCreate(Sender: TObject);
private
{Private declarations }
public
{Public declarations }
end;
var
Form7:TForm7;
implementation
usesUnit4, pasp_st, p_st;
{$R*.dfm}
procedureTForm7.Button1Click(Sender: TObject);
varZV1,ZV2,ZV3,ZV6,ZV7,ZV8,ZV11,ZV14,zv15,zv16,zv17,zv19,zv18:String;
zv4,ZV5,ZV9,ZV12,ZV13,ZV10:Double;
begin
ZV1:= form7.Table1Prizvuge.Value;
ZV2:= form7.Table1Imia.Value;
ZV3:= form7.Table1Po_batkovi.Value;
ZV4:= form7.Table1Rik_nar.Value;
ZV5:= form7.Table1Vik.Value;
ZV6:= form7.Table1Stat.Value;
ZV7:= form7.Table1Adress.Value;
ZV8:= form7.Table1Vylucia.Value;
ZV9:= form7.Table1Nom_byd.Value;
ZV10:= form7.Table1Nom_kva.Value;
ZV11:= form7.Table1Ser_pasp.Value;
ZV12:= form7.Table1Nom_pasp.Value;
ZV13:= form7.Table1Data_vud_pasp.value;
ZV14:= form7.Table1Kum_vud_pasp.Value;
zv15:=form7.Table1Viiskovo_zobov.Value;
zv16:=form7.Table1Photo.Value;
zv19:=form7.Table1Pensioner.Value;
v17:=form7.Edit2.Text;
zv18:=form7.Edit3.Text;
table2.Edit;
table2.Last;
form7.DBNavigator1.BtnClick(nbinsert);
form7.DBNavigator1.BtnClick(nbEdit);
table2.fieldByName(‘Prizvuge’).AsString:=ZV1;
table2.fieldByName(‘Imia’).AsString:=ZV2;
table2.fieldByName(‘Po_batkovi’).AsString:=ZV3;
table2.fieldByName(‘Rik_nar’).AsDateTime:=zv4;
table2.fieldByName(‘vik’).AsString:=floattostr(ZV5);
table2.fieldByName(‘stat’).AsString:=ZV6;
table2.fieldByName(‘adress’).AsString:=ZV7;
table2.fieldByName(‘Vylucia’).AsString:= ZV8;
table2.fieldByName(‘Nom_byd’).AsString:=FloatToStr(ZV9);
table2.fieldByName(‘Nom_kva’).AsString:=floattostr(ZV10);
table2.fieldByName(‘Ser_pasp’).AsString:=ZV11;
table2.fieldByName(‘Nom_pasp’).AsString:=floattostr(ZV12);
table2.fieldByName(‘Data_vud_pasp’).AsDateTime:=ZV13;
table2.fieldByName(‘Kum_vud_pasp’).AsString:=ZV14;
table2.fieldByName(‘Viiskovo_zobov’).AsString:=ZV15;
table2.fieldByName(‘Pensioner’).AsString:=ZV19;
table2.fieldByName(‘Photo’).AsString:=ZV16;
table2.fieldByName(‘Prucuna_vub’).AsString:=ZV17;
table2.fieldByName(‘Data_vub’).AsString:=ZV18;
form7.DBNavigator1.BtnClick(nbPost);
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add(‘Delete From pasp_st’);
Query1.SQL.Add(‘Where prizvuge = “‘+ ZV1 + ‘”‘);
Query1.ExecSQL;
Table1.Refresh;
form7.Edit2.Text:=”;
end;
procedureTForm7.FormCreate(Sender: TObject);
begin
form7.Table1.Refresh;
form7.DBEdit2.Text:=DateToStr(Date)
end;
end.
unitUnit8;
interface
uses
Windows,Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,ExtCtrls, QuickRpt, QRCtrls, DB, DBTables, StdCtrls, Buttons,
Grids,DBGrids;
type
TForm8= class(TForm)
QuickRep1:TQuickRep;
QRBand1:TQRBand;
DataSource1:TDataSource;
QRBand2:TQRBand;
QRDBText1:TQRDBText;
QRDBText2:TQRDBText;
QRDBText3:TQRDBText;
QRDBText4:TQRDBText;
QRDBText5:TQRDBText;
QRLabel1:TQRLabel;
QRLabel2:TQRLabel;
QRLabel3:TQRLabel;
QRLabel4:TQRLabel;
QRLabel5:TQRLabel;
QRLabel6:TQRLabel;
private
{Private declarations }
public
{Public declarations }
end;
var
Form8:TForm8;
implementation
usesUnit4, pasp_st;
{$R*.dfm}
end.
unitUnit9;
interface
uses
Windows,Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,QuickRpt, QRCtrls, DB, ExtCtrls;
type
TForm9= class(TForm)
QuickRep1:TQuickRep;
QRBand1:TQRBand;
QRDBText1:TQRDBText;
DataSource1:TDataSource;
QRLabel1:TQRLabel;
QRLabel2:TQRLabel;
QRDBText2:TQRDBText;
QRLabel3:TQRLabel;
QRDBText3:TQRDBText;
QRLabel4:TQRLabel;
QRLabel5:TQRLabel;
QRLabel6:TQRLabel;
QRDBText4:TQRDBText;
QRDBText5:TQRDBText;
QRDBText6:TQRDBText;
QRShape1:TQRShape;
QRLabel7:TQRLabel;
QRLabel8:TQRLabel;
QRLabel9:TQRLabel;
QRLabel10:TQRLabel;
QRLabel11:TQRLabel;
QRLabel12:TQRLabel;
QRLabel13:TQRLabel;
QRLabel14:TQRLabel;
QRLabel15:TQRLabel;
QRLabel16:TQRLabel;
QRLabel17:TQRLabel;
QRLabel18:TQRLabel;
QRDBText7:TQRDBText;
QRDBText8:TQRDBText;
QRDBText9:TQRDBText;
QRDBText10:TQRDBText;
QRLabel19:TQRLabel;
QRDBText11:TQRDBText;
QRDBText12:TQRDBText;
QRDBText13:TQRDBText;
QRDBText14:TQRDBText;
QRDBText15:TQRDBText;
QRDBText16:TQRDBText;
QRDBImage1:TQRDBImage;
QRDBImage2:TQRDBImage;
private
{Private declarations }
public
{Public declarations }
end;
var
Form9:TForm9;
implementation
{$R*.dfm}
end.
unitUnit10;
interface
uses
Windows,Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,QuickRpt, QRCtrls, DB, ExtCtrls;
type
TForm10= class(TForm)
QuickRep1:TQuickRep;
QRBand1:TQRBand;
DataSource1:TDataSource;
QRDBText1:TQRDBText;
QRLabel1:TQRLabel;
QRLabel2:TQRLabel;
QRDBText2:TQRDBText;
QRDBText3:TQRDBText;
QRLabel3:TQRLabel;
QRDBText4:TQRDBText;
QRDBText5:TQRDBText;
QRDBText6:TQRDBText;
QRDBText7:TQRDBText;
QRLabel8:TQRLabel;
QRDBText8:TQRDBText;
QRLabel9:TQRLabel;
QRLabel4:TQRLabel;
QRLabel5:TQRLabel;
QRLabel6:TQRLabel;
QRLabel7:TQRLabel;
QRLabel10:TQRLabel;
QRLabel11:TQRLabel;
QRLabel12:TQRLabel;
QRLabel13:TQRLabel;
QRLabel14:TQRLabel;
QRLabel15:TQRLabel;
QRLabel16:TQRLabel;
private
{Private declarations }
public
{Public declarations }
end;
var
Form10:TForm10;
implementation
{$R*.dfm}
end.
unitUnit11;
interface
uses
Windows,Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,StdCtrls;
type
TForm11= class(TForm)
Edit1:TEdit;
Edit2:TEdit;
Button1:TButton;
Label1:TLabel;
Label2:TLabel;
Label3:TLabel;
Label4:TLabel;
Label5:TLabel;
Label6:TLabel;
Edit3:TEdit;
Edit4:TEdit;
Edit5:TEdit;
procedureButton1Click(Sender: TObject);
private
{Private declarations }
public
{Public declarations }
end;
var
Form11:TForm11;
implementation
usesUnit10, pasp_st;
{$R*.dfm}
procedureTForm11.Button1Click(Sender: TObject);
begin
form10.QRLabel12.Caption:=form11.Edit1.Text;
form10.QRLabel14.Caption:=form11.Edit2.Text;
form10.QRLabel13.Caption:=form11.Edit3.Text;
form10.QRLabel16.Caption:=form11.Edit4.Text;
form10.QRLabel15.Caption:=form11.Edit5.Text;
form10.QuickRep1.Preview;
end;
end.
unitUnit12;
interface
uses
Windows,Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,StdCtrls, DB, Grids, DBGrids, DBCtrls;
type
TForm12= class(TForm)
DBGrid1:TDBGrid;
DataSource1:TDataSource;
Label1:TLabel;
DBImage1:TDBImage;
procedureFormCreate(Sender: TObject);
private
{Private declarations }
public
{Public declarations }
end;
var
Form12:TForm12;
implementation
usespasp_st;
{$R*.dfm}
procedureTForm12.FormCreate(Sender: TObject);
begin
form12.DataSource1.AutoEdit:=false;
form2.openpicturedialog1.Filter:=’Всефайлы
bmp;*.ico;*.emf;*.wmf)|*.bmp;*.ico;*.emf;*.wmf’;
form2.savepicturedialog1.Filter:=’*.bmp|*.bmp’;
end;
end.
Додаток3
7.4Інструкції по впровадженню і експлуатації програмного засобу
Длявстановлення даного продукту на ваш комп’ютер потрібно диск з інсталяційнимпакетом вставити в CD-ROM. Після чого з диску запусти виконуванийфайл Setup.exe. В діалоговому вікні, що відкриється мал.7.1, натисніть на клавішу Далі для продовженнявстановлення або кнопку Скасувати для виходу з програми установки.
/>
Мал.7.1
Вслідуючому вікні мал. 7.2 можна прочитати Ліцензійну угоду. Прийняти її інатиснути Далі.
/>
Мал.7.2
Вдіалоговому вікні мал. 7.3 вкажіть пароль доступу та натисніть кнопку Далі дляпродовження встановлення програми на ваш комп’ютер.
/>
Мал.7.3
Даневікно Мал. 7.4 показує куди потрібно встановитипрограмму.
/>
Мал.7.4
Даневікно Мал. 7.5 показує де будуть розміщенні ярлики встановленої програми.
/>
Мал.7.5
Післязакінчення встановлення програми з’явиться наступне вікно Мал 7.6 на якому потрібно натиснути на кнопку Готово та можна обрати чизапускати встановлену програму після натиснення.
/>
Мал.7.6
Длязапуску програми необхідно виконати команди Пуск → Облік паспортних даних→Облікпаспортних даних. Інформація по керуваню прогамою знаходиться в допомозіпрограми, для виклику допомоги під час роботи програми необхідно натиснутиклавішу F1.