© Сайт про Урок @""ІНФОРМАТИКА""@ WMmail.ru - сервис почтовых рассылок
   
  pc201010
  Автоматизовна система “Телефоний довідн
 

ЗМІСТ

 

 

 

Стор.

 

Реферат

2

 

Зміст

3

 

Вступ

4

1.

Аналіз предметної області і постановка задачі на розробку програми

5

2.

Опис структур та методів оброки даних

6

2.1.

Обґрунтування вибору методів та засобів обробки даних

6

2.2.

Опис структур даних

7

3

Опис алгоритму функціонування програмного засобу

9

4

Основна частина

10

5

Висновок

22

6

Список використаних джерел

23

7

Додатки

24

7.1

Технічне завдання

24

7.2

Коди програмних модулів

33

7.3

Контрольні приклади

 

7.4

Інструкції по впровадженню і експлуатації програмного засобу

 

 


ВСТУП

 

Автоматичний облік є одною із основних напрямків у розробці сучасного програмного забезпечення, яке спрямоване на вирішення конкретно поставленої системи задач .

Прикладом реалізації саме такої системи є запропонований програмний засіб “АС ТЕЛЕФОНИЙ ДОВІДНИК”, призначений для автоматизації ведення записів контактних телефонів абонентів, розроблений у відповідності до завдання на курсове проектування із дисципліни “Технологія розробки програмного забезпечення”.

Основною метою даного курсового проекту є розробка розгорнутого технічного завдання на основі вивчення та аналізу заданої предметної області, розробка структур  та вибір методів обробки даних, алгоритмів функціонування програмних модулів, забезпечення якісних показників роботи програми: створення зручного графічного інтерфейсу користувача, розробка інтегрованої довідкової системи та супроводжувальної документації, засобів для розгортання програмної системи в інформаційному середовищі користувачів.

Для реалізації поставленого завдання обрано сучасні інструментальні середовища і засоби програмування Borland Delphi 3.0, та відповідні засоби підтримки процесу розробки програм.

Не зважаючи на те, що проект носить навчальний характер, він має певне практичне значення і може бути застосований для автоматизації вказаної прикладної задачі на підприємствах із різною формою діяльності.


1. АНАЛІЗ ПРЕДМЕТНОЇ ОБЛАСТІ І ПОСТАНОВКА ЗАДАЧІ НА РОЗРОБКУ ПРОГРАМИ

У відповідності до технічного завдання програма “Телефонний довідник” повинна забезпечувати облік даних про користувачів телефонами і можливість отримання інформації, вибраної за певними критеріями, а також формування звітів у вигляді стандартизованих паперових документів.

На основі проведеного аналізу предметної області встановлено, що облік абонентів ведеться у вигляді довідника, в якому знаходяться дані про кожного абонента.

Якщо в телефонний довідник заноситься новий абонент, то про нього вносяться відповідні дані.

При вилучені абонента з телефонного довідника, вилучаються всі дані про даного абонента.

Для кожного нового абонента заповнюється картка обліку, що  представляє собою паперовий документ, у якому вказується:

·        ПІБ

·        Адреса абонента

·        Наявність пільг на оплату послуг

·        Номер телефону абонента

·        Тип абоненту: організація, підприємство, приватна особа

На основі довідника карток особистих даних абонентів формується загальний список абонентів.

Загальний список абонентів включає наступні дані:

·        Загальна кількість абонентів.

·        Кількість абонентів, що користуються пільгами.

У відповідності до аналізу предметної області можна зробити висновок, що задача, яка підлягає автоматизації відноситься то складу типових аналітично - облікових задач і може бути вирішена з використанням програмних та інструментальних засобів, передбачених технічним завданням, а саме з використанням елементів файл – серверних баз даних.

2. ОПИС СТРУКТУР ТА МЕТОДІВ ОБРОБКИ ДАНИХ

 

2.1. Обґрунтування вибору методів та засобів обробки даних

 

Оскільки, у відповідності до технічного завдання і аналізу предметної області, розробка автоматизованої системи телефонний довідник проводиться на основі принципів та елементів систем управління базами даних, то логічним є - збереження даних здійснювати у вигляді файлів таблиць бази даних певного типу, вибір і обробку інформації виконувати на основі запитів, для введення і відображення даних використовувати діалогові екранні форми, а вихідні паперові документи формувати у вигляді звітів.

Однією із сучасних універсальних інструментальних систем  програмування є Borland Delphi 6, яка має розвинені засоби для програмування та обробки баз даних, і в той же час підтримує майже всі відомі формати даних, що при необхідності дозволить перевести створені файли даних на іншу програмну платформу.

Одним із самих розповсюджених форматів даних є формат таблиць баз даних  Paradox, крім того обрана система програмування спеціалізована саме під цей формат і надає більше засобів для на лаштування таблиць баз даних при їх створенні. Тому саме формат таблиць баз даних Paradox використовується в даній системі. Створення файлів таблиць бази даних та визначення їх структури здійснюється за допомогою утиліти Database Desktop, яка входить до складу програмного комплекту  Delphi.

Для обробки даних на рівні запитів використовується мова SQL92, яка є стандартною мовою для побудови структурованих запитів в операційній системі Windows.

Для створення звітів використовується генератор звітів QuickReport фірми QuSoft, компоненти якого представлені окремою вкладинкою програмного середовища Delphi.

Для забезпечення прискорення виконання операцій пошуку і вибірки даних, а також незалежності від шляху розташування фалів бази даних на дисках комп’ютерів користувачів, базі даних ставиться у співвідношення псевдонім (загальне ім’я бази даних), який створюється і обробляється за допомогою спеціалізованої утиліти BDE Administrator.

 

2.2. Опис структур даних

 

Як було зазначено вище основними структурними елементами даних є файли таблиць бази даних у форматі Paradox. Нижче наведено перелік цих файлів із вказівкою назви файлу, структури полів та пояснень, що до призначення файлу. Для збереження файлів таблиць використовують каталог C:Program FilesTelDovData.

Abonenti.db – файл, у якому зберігається загальна інформація про абонентів. Структура полів файлу Abonenti.db наведена у таблиці 1.

Таблиця 1

Структура полів файлу Abonenti.db

 

Назва поля

Тип

Інформаційний зміст

Priz

Alpha

Прізвище абонента (ключове поле)

Name

Alpha

Ім’я абонента (ключове поле)

Pbat

Alpha

По батькові (ключове поле)

Tel

Number

Номер телефону абонента

Vul

Alpha

Назва вулиці

Bud

Number

№ будинку

Kvart

Number

№ квартири

Tup

Alpha

тип абоненту

Pilgi

Alpha

пільги

 

 

Pidpriemstva.db – файл, який виконує роль довідника підприємств і організацій. Структура полів файлу Pidpriemstva.db наведена у таблиці 2.

 

Таблиця 2

Структура полів файлу Pidpriemstva.db

 

Назва поля

Тип

Інформаційний зміст

Pidpr

Alpha

назва організації, підприємства(ключове поле).

 

Vulici.db – файл, який виконує роль довідника назв вулиць. Структура полів файлу  Vulici.db наведена у таблиці 3.

Таблиця 3

Структура полів файлу Vulici.db

 

Назва поля

Тип

Інформаційний зміст

Dov_Vul

Alpha

назва вулиць (ключове поле)

 


3. ОПИС АЛГОРИТМУ ФУНКЦІОНУВАННЯ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ

 

3.1. Інформаційна модель системи

 

Інформаційна модель відображує загальний склад інформаційних об’єктів автоматизованої системи, яка проектується та зв’язки між ними. Структура інформаційної моделі системи наведена на рис. 3.1.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Рис. 3.1. Інформаційна модель системи


4. ОСНОВНА ЧАСТИНА ПРОГРАМИ

Модульна структура програмного засобу

 

Програма складається з набору програмних модулів, кожний з яких виконує одну чи декілька функцій. Модульна структура програми зображена на малюнку. У таблиці  наведено призначення програмних модулів.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Таблиця 4

Призначення програмних модулів

 

з/п

Позначення

Призначення

1

Unit1

Головний модуль програми. Містить головну форму і забезпечує перехід з однієї форми на іншу

2

Unit2

Модуль довідника загальних даних. Містить форму для введення і редагування загальних даних для обліку клієнтів.

3

Unit3

Модуль довідника загальних даних. Містить форму для введення і редагування загальних даних для обліку кімнат в готелі.

4

Unit4

Модуль формування запиту про вільні кімнати у готелі.

5

Unit5

Модуль перегляду інформаії про клієнтів, що в даний час проживають у готелі.

6

Unit6

Модуль перегляду інформації про клієнтів що виїхам

7

Unit7

Модуль перегляду інформації про клієнтів що проживають у вказаний термін

8

Unit8

Модуль формування запиту по боржниках.

9

Unit9

Модуль формування пошуку за прізвищем.

10

Unit10

Модуль формування пошуку за номером кімнати.

11

Unit11

Модуль формування звіту “Вільні номери”

12

Unit12

Модуль формування звіту “Зведенні дані”

13

Unit13

Модуль формування звіту “Боржники”

15

Unit15

Модуль формування звіту “Чек”

3. ОСНОВНА ЧАСТИНА

 

3.3. Опис програмних модулів

 

3.2.1. Модуль “Main

 

Модуль Main є головним модулем програми через який здійснюється зв’язок з іншими програмними модулями. Перехід на інші програмні модулі виконується з використанням системи меню. Екранна форма модуля в режимі виконання програми, з розкритим елементом меню зображена на малюнку Рис.4.1

Рис.4.1 Екранна форма модуля Main в режимі виконання програми

 

Екранна форма модуля в режимі конструювання зображена на нижче Рис.4.2

 

Рис.4.2 Екранна форма модуля Main в режимі конструювання

 

Програмна специфікація модуля Main наведена у таблиці

 

Таблиця 5

Програмна специфікація модуля Main

 

Компонент програми

Позначення

Зміст

1

2

3

Стандартні модулі

  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

  Menus, StdCtrls;

Стандартні модулі, з якими встановлюється зв’язок

Модулі програміста

Dov_Vul, Dov_Pidpr, Kartka_Abon, Abonenti, Find, Zvit;

Розроблені модулі, з якими встановлюється зв’язок

Візуальні компонети

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;

Підпункт “ Список” пункту меню “ Запити”

 

Модуль Abonenti призначений для введення інформації про абонентів.

 

Рис. 4.3 екранна форма модуля Abonenti в режимі виконання програми

 

Екранна форма модуля в режимі конструювання зображена на Рис. 4.4

 

Рис. 4.4 екранна форма модуля Abonenti в режимі конструювання

 

Програмна специфікація модуля Abonenti наведена у таблиці

Таблиця 6

Програмна специфікація модуля Abonenti

 

Компонент програми

Позначення

Зміст

1

2

3

Стандартні модулі

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

ExtCtrls, DBCtrls, Grids, DBGrids, DBTables, Db, StdCtrls, Mask;

Стандартні модулі, з якими встановлюється зв’язок

Модулі програміста

Main, Kartka_Abon, Find;

Розроблені модулі, з якими встановлюється зв’язок

Візуальні компонети

DBEdit1 : TDBEdit

Поле для введення прізвища

DBEdit2 : TDBEdit

Поле для введення імені

DBEdit3 : TDBEdit

Поле для введення по батькова

DBEdit4 : TDBEdit

Поле для введення № абоненту

DBEdit5 : TDBEdit

Поле для введення № будинку

DBEdit6 : TDBEdit

Поле для введення № квартири

DBGrid1: TDBGrid;

Для перегляду і редагування інформації про абонента

DBComboBox1:  TDBComboBox;

Поле для введення типу абонента

DBLookupComboBox1: TDBLookupComboBox;

Поле для введення назви вулиці

DBLookupComboBox2: TDBLookupComboBox;

Поле для введення назви підприємства або організації

Button1: TButton;

Кнопка, переходу на форму, де формується звіт “Картка абонента”

DBNavigator: TDBNavigator

Група кнопок для управління введенням інформації про абонента

Label1: TLabel;

Містить назву поля  DBEdit1

Label3: TLabel;

Містить назву поля  DBEdit3

Label4: TLabel;

Містить назву поля  DBEdit4

Label6: TLabel;

Містить назву поля  DBEdit5

Label7: TLabel;

Містить назву поля  DBEdit6

Label5: TLabel;

Містить назву  поля   DBLookupComboBox1”

Label8: TLabel;

Містить назву  “Адреса”

Label9: TLabel;

Містить назву  поля  DBComboBox1

Label10: TLabel;

Містить назву  поля    DBLookupComboBox2”

procedure FormClose(Sender: TObject; var Action: TCloseAction);

Перехід на головну форму

FormCreate(Sender: TObject);

Невідображення компонентів  Label10 і  DBLookupComboBox2

procedure Button1Click(Sender: TObject);

Формування запиту для створення звіту та перехід на форму формування звіту “Картка абонента”

Модуль Dov_Pidpr призначений для введення назв організацій або підприємств.

Рис. 4.5 екранна форма модуля Dov_Pidpr в режимі виконання програми

 

Екранна форма модуля в режимі конструювання зображена на Рис. 4.6

 

Рис. 4.6 екранна форма модуля Dov_Pidpr в режимі конструювання

 

Програмна специфікація модуля Dov_Pidpr наведена у таблиці

Таблиця 7

Програмна специфікація модуля Unit3

Компонент програми

Позначення

Зміст

1

2

3

Стандартні модулі

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

DBTables, Db, ExtCtrls, DBCtrls, Grids, DBGrids, StdCtrls, Mask;

Стандартні модулі, з якими встановлюється зв’язок

Модулі програміста

Main;

Розроблені модулі, з якими встановлюється зв’язок

Візуальні компоненти

DBNavigator1: TDBNavigator

Група кнопок для управління введення назв  організацій або підприємств

DBGrid1: TDBGrid;

Перегляд і редагування назв підприємств

Процедури

procedure FormClose(Sender: TObject; var Action: TCloseAction);

Перехід на головну форму

 

Модуль Dov_Vul призначений для введення назв вулиць.

Рис. 4.7 екранна форма модуля Dov_Vul в режимі виконання програми

 

Рис. 4.8 екранна форма модуля Dov_Vul в режимі конструювання

Таблиця 8

Програмна специфікація модуля Dov_Vul

 

Компонент програми

Позначення

Зміст

1

2

3

Стандартні модулі

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

Grids, DBGrids, DBTables, Db, StdCtrls, Mask, DBCtrls, ExtCtrls;

Стандартні модулі, з якими встановлюється зв’язок

Модулі програміста

Main;

Розроблені модулі, з якими встановлюється зв’язок

Візуальні компонети

DBGrid1: TDBGrid;

Перегляд і редагування назв вулиць

DBNavigator1: TDBNavigator

Група кнопок для управління введення назв вулиць

Процедури

procedure FormClose(Sender: TObject; var Action: TCloseAction);

Перехід на головну форму

 

 

Модуль Find призначений для пошуку абонентів.

Рис. 4.9 екранна форма модуля Find в режимі виконання програми

Рис. 4.10 екранна форма модуля Find в режимі конструювання

Таблиця 9

Програмна специфікація модуля Find

 

Компонент програми

Позначення

Зміст

1

2

3

Стандартні модулі

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

StdCtrls, Db, DBTables, Grids, DBGrids;

Стандартні модулі, з якими встановлюється зв’язок

Модулі програміста

Main, Kartka_Abon, Abonenti;

Розроблені модулі, з якими встановлюється зв’язок

Візуальні компонети

DBGrid1: TDBGrid;

Перегляд результату по запиті

Edit1: TEdit;

Поле для введення прізвища

Edit2: TEdit;

Поле для введення вулиці

Edit3: TEdit;

Поле для введення № будинку

Edit4: TEdit;

Поле для введення № квартири

Edit5: TEdit;

Поле для введення вулиці

Label1: TLabel;

Містить назву поля  Edit1

Label2: TLabel;

Містить назву поля  Edit2

Label3: TLabel;

Містить назву поля  Label5

Label5: TLabel;

Виводить загальну кількість абонентів

Label7: TLabel;

Містить назву поля  Edit3

Label8: TLabel;

Містить назву поля  Edit4

Label9: TLabel;

Містить назву поля  Edit5

  CheckBox1: TCheckBox;

Вибір тільки пільговиків

Button1: TButton;

Знаходження абонентів за певним критерієм і формування списку

Button2: TButton;

Знаходження абонентів за певним критерієм і формування картки

Процедури

procedure FormActivate

(Sender: TObject);

 

Виконання запиту на знаходження кількості абонентів

FormClose(Sender: TObject; var Action: TCloseAction);

Перехід на головну форму і оновлення бази даних

Button1Click(Sender: TObject)

Виконання запиту список абонентів

Button2Click(Sender: TObject);

Виконання запиту картка абонента

 


Модуль Kartka_Abon генерує звіт “Картка абонента”

 

Рис. 4.11 екранна форма модуля Kartka_Abon в режимі виконання програми

Рис.12 екранна форма модуля Kartka_Abon в режимі конструювання

Таблиця 10

Програмна специфікація модуля Kartka_Abon

 

 

Компонент програми

Позначення

Зміст

1

2

3

Стандартні модулі

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

quickrpt, Qrctrls, ExtCtrls, StdCtrls, DBCtrls;

Стандартні модулі, з якими встановлюється зв’язок

Модулі програміста

Abonenti;

Розроблені модулі, з якими встановлюється зв’язок

Візуальні компонети

QuickRep1: TQuickRep;

Компонент, що генерує звіт

QRLabel1: TQRLabel

Заголовок звіту

QRLabel2: TQRLabel

Назва поля “Прізвище”

QRLabel3: TQRLabel

Назва поля “Ім’я”

QRLabel4: TQRLabel

Назва поля “По батькові”

QRLabel5: TQRLabel

Назва поля “№ абоненту”

QRLabel6: TQRLabel

Назва поля “Пільги”

QRLabel7: TQRLabel

Назва “Адреса”

QRLabel8: TQRLabel

Назва поля “Вулиця”

QRLabel9: TQRLabel

Назва поля “№ будинку”

QRLabel10: TQRLabel

Назва поля “№ квартири”

QRDBText1: TQRDBText

Компонент для виведення прізвища

QRDBText2: TQRDBText

Компонент для виведення імені

QRDBText3: TQRDBText

Компонент для виведення по батькові

QRDBText4: TQRDBText

Компонент для виведення № абоненту

QRDBText5: TQRDBText

Компонент для виведення вулиці

QRDBText6: TQRDBText

Компонент для виведення будинку

QRDBText7: TQRDBText

Компонент для виведення квартири

QRDBText8: TQRDBText

Компонент для виведення пільг

 

 

Модуль Zvit генерує звіти “Список абонентів” і „Список пільговиків”

 

 

Рис. 4.13 екранна форма модуля Zvit в режимі виконання програми

Рис. 4.14 екранна форма модуля Zvit в режимі конструювання

 

Таблиця 11

Програмна специфікація модуля Zvit

 

Компонент програми

Позначення

Зміст

1

2

3

Стандартні модулі

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

  quickrpt, Qrctrls, ExtCtrls, Db, DBTables;

Стандартні модулі, з якими встановлюється зв’язок

Модулі програміста

Main;

Розроблені модулі, з якими встановлюється зв’язок

Візуальні компонети

QuickRep1: TQuickRep;

Компонент, що генерує звіт список

QuickRep2: TQuickRep;

Компонент, що генерує звіт картка

QRLabel1: TQRLabel

Заголовок звіту

QRLabel2: TQRLabel

Назва стовпця “ПІБ”

QRLabel3: TQRLabel

Назва стовпця “Номер”

QRLabel4: TQRLabel

Назва стовпця “Вулиця”

QRLabel5: TQRLabel

Назва стовпця “№ будинку”

QRLabel6: TQRLabel

Назва стовпця “№ квартири”

QRLabel7: TQRLabel

Назва стовпця “Пільги”

QRLabel9: TQRLabel

Назва стовпця “ПІБ”

QRLabel10: TQRLabel

Назва стовпця “Номер”

QRLabel11: TQRLabel

Назва стовпця “Вулиця”

QRLabel12: TQRLabel

Назва стовпця “№ будинку”

QRLabel3: TQRLabel

Назва стовпця “№ квартири”

QRDBText1: TQRDBText;

Компонент для виведення прізвища

QRDBText2: TQRDBText;

Компонент для виведення імені

QRDBText3: TQRDBText;

Компонент для виведення по батькові

QRDBText4: TQRDBText;

Компонент для виведення № телефону

QRDBText5: TQRDBText;

Компонент для виведення вулицю

QRDBText6: TQRDBText;

Компонент для виведення № будинку

QRDBText7: TQRDBText;

Компонент для виведення № квартири

QRDBText8: TQRDBText;

Компонент для виведення пільги

QRDBText9: TQRDBText;

Компонент для виведення прізвища

QRDBText0: TQRDBText;

Компонент для виведення імені

QRDBText11: TQRDBText;

Компонент для виведення по батькові

QRDBText12: TQRDBText;

Компонент для виведення № телефону

QRDBText13: TQRDBText;

Компонент для виведення вулицю

QRDBText14: TQRDBText;

Компонент для виведення № будинку

QRDBText15: TQRDBText;

Компонент для виведення № квартири

Програмний код модулів додається в додатку


5. ВИСНОВОК

 


6. СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ


Додаток 1

 

7.1 Технічне завдання на розробку програмного засобу

1. ЗАГАЛЬНІ ПОЛОЖЕННЯ

 

1.2. Найменування програмного засобу

 

Повне найменування програмної розробки: "Автоматизована система „Телефонний довідник”", надалі іменована як "програма". Коротка назва програми – "Телефонний довідник".

 

1.2. Призначення розробки та область застосування

 

Програма "Телефонний довідник" призначена для автоматизації введення і збереження даних абонентів, таких як: „Тип абоненту: організація, підприємство, приватна особа”, „Номер телефонну абонента”, „Назва або прізвище абонента”, „Адреса абонента: вулиця, № будинку, № квартири”, „Наявність пільг на оплату”. А також одержання даних за заданим критерієм, формування списків абонентів і звітів у паперовій формі. Програма може бути застосована на підприємствах, організаціях як телефонний довідник. 

 

1.3. Найменування розроблювача і замовника

 

Розроблювач даного програмного продукту - студент групи П-305 Янцов О.С., надалі іменований як "розроблювач ".

Замовник програмного продукту – Циклова комісія “Програмування для ЕОТ і автоматизованих систем” Бердичівського політехнічного коледжу, в особі викладача Тростянського Б.Г.

 

 

2. ПІДСТАВА ДЛЯ РОЗРОБКИ

 

2.1. Документ, на підставі якого ведеться розробка

 

Робота ведеться на підставі завдання на курсове проектування по дисципліні “Технологія розробки програмного забезпечення”

 

2.2. Організація, що затвердила цей документ, і дата його затвердження

 

Завдання затверджене на засіданні циклової комісії “Програмування для ЕОТ і автоматизованих систем” Бердичівського політехнічного коледжу __________ і видано викладачем Тростянським Б.Г.

 

 

3. ВИМОГИ ДО ПРОГРАМИ

 

3.1. Вимоги до функціональних характеристик

 

3.1.1. Склад виконуваних функцій

 

Програма повинна забезпечувати введення, збереження і редагування даних про абонентів, формувати запити по основним обліковим і статистичним показникам.

Програма повинна мати можливість автозаповнення або підстановки даних у визначені поля (вулиця, назва підприємства) для прискорення роботи.

Програма повинна забезпечувати коректне введення та перевірку інформації на відповідність типу.

Програма повинна мати можливість сортування даних з різними критеріями.

Програма повинна мати можливість використання фільтру (спеціальна опція, що дозволяє відображати, тільки ті дані, які задовольняють заданій умові), параметри якого формуються користувачем.

Програма повинна мати можливість настроювання необхідних параметрів роботи (загальнопрограмні константи, шляхи збереження файлів і т.д.).

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

Програма повинна мати розгалужену довідкову систему, з можливістю отримання довідки у різних режимах.

Встановлення програми повинне виконуватися з використанням інсталяційного пакету.

 

3.1.2. Організація вхідних і вихідних даних

 

Організація вхідних і вихідних даних повинна відповідати інформаційній структурі виконуваних операцій, вхідним та вихідним паперовим документам.

Введення оперативних даних повинно виконуватися з використанням діалогових екранних форм, побудованих на основі візуальних компонентів.

Дані, які підлягають збереженню повинні зберігатися у вигляді таблиць баз даних у форматі PARADOX.

 

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. Вимоги до методів рішення і мов програмування

 

Вибір методів рішення здійснюється розроблювачем без узгодження з замовником. Розробка програми повинна вестися на одній з наступних мов і з використанням засобів програмування:

Borland Delphi.

 

3.4.3. Вимоги до системних програмних засобів

 

Програма повинна працювати під управлінням операційної системи Windows 98, Windows 2000, Windows XP.

Для забезпечення функціонування програми до складу системного програмного забезпечення повинен входити драйвер принтера відповідного типу (з урахуванням моделі принтера і встановленої версії операційної системи), архіватор WinRar.

 

3.5. Вимоги до складу і параметрів технічних засобів

 

Вимоги до складу технічних засобів:

-         персональний комп’ютер (ПК) у базовій конфігурації;

-         пристрій для роботи з компакт дисками, якщо передбачено встановлення програми з CD;

-         принтер формату А4.

Системні параметри ПК визначаються типом операційної системи, обумовленої у п. 4.3.3. з урахуванням ресурсів, необхідних для підтримки роботи самої програми. Рекомендовані мінімальні характеристики технічних засобів, які забезпечують ефективну роботу програми у будь якому із вказаних системних програмних середовищ:

-         процесор – Pentium III з тактовою частотою 750 МГц;

-         оперативна пам’ять - 128 Mбайт;

-         обсяг дискової пам’яті – 20 Гбайт.

 

 

4. ВИМОГИ ДО ПРОГРАМНОЇ ДОКУМЕНТАЦІЇ

 

Програмна документація повинна включати наступні документи:

 

-         “Інструкція по інсталяції (встановленню) програми”, складається з опису інсталяційного пакету, переліку етапів інсталяції та їх послідовності, шляху інсталяції, розміру інсталяційного пакету та програмних файлі після інсталяції;

 

-         “Керівництво користувача”, складається з опису послідовності завантаження програми, основних режимів роботи, основних екранних форм та їх структури, переліку виняткових ситуацій та реакції користувача на них, контрольні приклади;

 

-         “Керівництво адміністратора баз даних”, складається з опису складу таблиць бази даних та доступів до них (список користувачів, їх права і паролі), опису та послідовності робіт по обслуговуванню бази даних (архівування, резервне ковпіювання, з вказівкою періодичності виконання та засобів, що для цього використовуються).

 

 

5. ТЕХНІКО - ЕКОНОМІЧНІ ПОКАЗНИКИ

 

Техніко - економічні показники визначаються замовником без участі виконавця.

6. СТАДІЇ  ТА ЕТАПИ РОЗРОБКИ

 

Стадії та етапи розробки програми, та терміни їх виконання повинні відповідати затвердженому графіку курсового проектування.

 

7. ПОРЯДОК КОНТРОЛЮ І ПРИЙМАННЯ

 

Основними формами контролю виконання проекту є - поточний, проміжковий і підсумковий.

Поточний контроль здійснюється виконавцем, щляхом систематичної перевірки відповідності стану виконуваних робіт графіку виконання проекту і поточних характеристик проекту вимогам технічного завдання.

Проміжковий контроль здійснюється замовником із залученням виконавця, у відповідності до графіку проведення контролю, шляхом первірки поточного стану проекта графіку розробки і відвічності основних етапів та характеристик проекту технічному завданню. Недоліки, виявлені у  результаті проміжкового контролю повинні бути усунені до наступної перевірки.

Підсумковий контроль проводиться комісією, яка складається із представників замовника, у присутності виконавця в термін визначений графіком виконання проекту. Підсумковий контроль передбачає комплексне тестування всього проекту і окремих модулів на відповідність функціональним і якісним характеристикам, перевірку складу та якості програмної документації, комплектність проекту у відповідності до пред’явленого опису  і технічного завдання.

На основі результатів підсумкового контролю комісія робить висновок про приймання або неприймання проекту, з оформленням відповідного акту (рецензії) на виконану роботу.


Додаток 1

7.2 Коди програмних модулів

 

unit Main;

 

interface

 

uses

  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

  Menus, StdCtrls;

 

type

  TFMain = class(TForm)

    Label1: TLabel;

    Label2: TLabel;

    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 N2Click(Sender: TObject);

    procedure N3Click(Sender: TObject);

    procedure N4Click(Sender: TObject);

    procedure N8Click(Sender: TObject);

    procedure N7Click(Sender: TObject);

    procedure N11Click(Sender: TObject);

    procedure N9Click(Sender: TObject);

    procedure N14Click(Sender: TObject);

    procedure N13Click(Sender: TObject);

    procedure N12Click(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

 

var

  FMain: TFMain;

 

implementation

 

uses Dov_Vul, Dov_Pidpr, Kartka_Abon, Abonenti, Find, Zvit;

 

{$R *.DFM}

 

procedure TFMain.N2Click(Sender: TObject);  //довідники, довідник вулиць

begin

 FMain.Hide;

 FDov_Vul.Show;

end;

 

procedure TFMain.N3Click(Sender: TObject); //довідники, довідник підприємств

begin

 FMain.Hide;

 FDov_Pidpr.Show;

end;

 

procedure TFMain.N4Click(Sender: TObject); //перегляд і редагування

begin

 FMain.Hide;

 FAbonenti.DataSource1.DataSet:=FAbonenti.Table1;

 FAbonenti.Show;

end;

 

procedure TFMain.N8Click(Sender: TObject); //звіти, список абонентів

begin

 FZvit.QuickRep1.preview;

end;

 

procedure TFMain.N7Click(Sender: TObject); //Звіти, картка абонента

begin

 FKartka_Abon.QuickRep1.preview;

end;

 

procedure TFMain.N11Click(Sender: TObject);

begin

 WinExec('arxiv.bat',sw_ShowDefault);

end;

 

 

procedure TFMain.N9Click(Sender: TObject);

begin

 FZvit.Query1.Active:=false;

 FZvit.Query1.Active:=true;;

 FZvit.QuickRep2.preview;

end;

 

procedure TFMain.N14Click(Sender: TObject);

begin

 FMain.Hide;

 FFind.Table1.Active:=true;

 Ffind.DataSource1.DataSet:=Ffind.Table1;

 Ffind.Query1.Close;

 FFind.Edit1.Text:='';

 FFind.Edit2.Text:='';

 FFind.Edit3.Text:='';

 FFind.Edit4.Text:='';

 FFind.CheckBox1.Visible:=true;

 FFIND.DBGrid1.Visible:=true;

 FFind.Button1.Visible:=true;

 FFind.Edit5.Visible:=true;

 FFind.Edit1.Visible:=False;

 FFind.Edit2.Visible:=False;

 FFind.Edit3.Visible:=False;

 FFind.Edit4.Visible:=False;

 Ffind.Label1.Visible:=False;

 Ffind.Label2.Visible:=False;

 Ffind.Label7.Visible:=False;

 Ffind.Label8.Visible:=False;

 FFind.Button2.Visible:=False;

 Ffind.Label9.Visible:=true;

 FFind.Show;

end;

 

procedure TFMain.N13Click(Sender: TObject);

begin

 FMain.Hide;

 FFind.Edit5.Text:='';

 FFind.CheckBox1.State:=cbUnchecked;

 FFind.Edit1.Visible:=true;

 FFind.Edit2.Visible:=true;

 FFind.Edit3.Visible:=true;

 FFind.Edit4.Visible:=true;

 Ffind.Label1.Visible:=true;

 Ffind.Label2.Visible:=true;

 Ffind.Label7.Visible:=true;

 Ffind.Label8.Visible:=true;

 FFind.Button2.Visible:=true;

 FFind.CheckBox1.Visible:=False;

 FFIND.DBGrid1.Visible:=False;

 FFind.Button1.Visible:=False;

 FFind.Edit5.Visible:=False;

 Ffind.Label9.Visible:=False;

 FFind.Show;

end;

 

procedure TFMain.N12Click(Sender: TObject);

begin

 FMain.Close;

 WinExec('rozarxiv.bat',sw_ShowDefault);

end;

end.


unit Abonenti;

 

interface

 

uses

  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

  ExtCtrls, DBCtrls, Grids, DBGrids, DBTables, Db, StdCtrls, Mask;

 

type

  TFAbonenti = class(TForm)

    DataSource1: TDataSource;

    Table1: TTable;

    Database1: TDatabase;

    DBNavigator1: TDBNavigator;

    Label1: TLabel;

    Label2: TLabel;

    Label3: TLabel;

    DBEdit1: TDBEdit;

    DBEdit2: TDBEdit;

    DBEdit3: TDBEdit;

    Label4: TLabel;

    Label5: TLabel;

    Label6: TLabel;

    Label7: TLabel;

    Label8: TLabel;

    DBEdit4: TDBEdit;

    DBLookupComboBox1: TDBLookupComboBox;

    DataSource2: TDataSource;

    Table2: TTable;

    DBEdit5: TDBEdit;

    DBEdit6: TDBEdit;

    Button1: TButton;

    DBGrid1: TDBGrid;

    DBComboBox1: TDBComboBox;

    Label9: TLabel;

    DBRadioGroup1: TDBRadioGroup;

    Label10: TLabel;

    DBLookupComboBox2: TDBLookupComboBox;

    DataSource3: TDataSource;

    Table3: TTable;

    procedure Button1Click(Sender: TObject);

    procedure FormClose(Sender: TObject; var Action: TCloseAction);

    procedure DBComboBox1Change(Sender: TObject);

    procedure FormCreate(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

 

var

  FAbonenti: TFAbonenti;

 

implementation

 

uses Main, Kartka_Abon, Find;

 

{$R *.DFM}

 

 

procedure TFAbonenti.Button1Click(Sender: TObject); //роздрукувати картку абонента

begin

 If DataSource1.DataSet = Table1 then

  begin

   FFind.DataSource1.DataSet:=FFind.Table1;

   FKartka_Abon.QRDBText1.DataSet:=Table1;

   FKartka_Abon.QRDBText2.DataSet:=Table1;

   FKartka_Abon.QRDBText3.DataSet:=Table1;

   FKartka_Abon.QRDBText4.DataSet:=Table1;

   FKartka_Abon.QRDBText5.DataSet:=Table1;

   FKartka_Abon.QRDBText6.DataSet:=Table1;

   FKartka_Abon.QRDBText7.DataSet:=Table1;

   FKartka_Abon.QRDBText8.DataSet:=Table1;

 FKartka_Abon.QuickRep1.preview;

end;

 If FFind.DataSource1.DataSet = FFind.Query1 then

  begin

   FKartka_Abon.QRDBText1.DataSet:=FFind.Query1;

   FKartka_Abon.QRDBText2.DataSet:=FFind.Query1;

   FKartka_Abon.QRDBText3.DataSet:=FFind.Query1;

   FKartka_Abon.QRDBText4.DataSet:=FFind.Query1;

   FKartka_Abon.QRDBText5.DataSet:=FFind.Query1;

   FKartka_Abon.QRDBText6.DataSet:=FFind.Query1;

   FKartka_Abon.QRDBText7.DataSet:=FFind.Query1;

   FKartka_Abon.QRDBText8.DataSet:=FFind.Query1;

   FKartka_Abon.QuickRep1.preview

 end;

end;

 

procedure TFAbonenti.FormClose(Sender: TObject; var Action: TCloseAction);

begin

 FMain.Show;  //перейти на головну форму

end;

 

procedure TFAbonenti.DBComboBox1Change(Sender: TObject);

begin

 if DBComboBox1.Text='Підприємство' then

  begin

   DBEdit1.Field.Text:='';

   DBEdit3.Field.Text:='';

   Label10.Visible:=true;

   DBLookupComboBox2.Visible:=true;

   DBEdit1.Visible:=false;

   DBEdit2.Visible:=false;

   DBEdit3.Visible:=false;

   Label1.Visible:=false;

   Label2.Visible:=false;

   Label3.Visible:=false;

  end;

 

 if DBComboBox1.Text='Приватна особа' then

  begin

   Label10.Visible:=false;

   DBLookupComboBox2.Visible:=false;

   DBEdit1.Visible:=true;

   DBEdit2.Visible:=true;

   DBEdit3.Visible:=true;

   Label1.Visible:=true;

   Label2.Visible:=true;

   Label3.Visible:=true;

  end;

 

 if DBComboBox1.Text='Організація' then

  begin

   DBEdit1.Field.Text:='';

   DBEdit3.Field.Text:='';

   Label10.Visible:=true;

   DBLookupComboBox2.Visible:=true;

   DBEdit1.Visible:=false;

   DBEdit2.Visible:=false;

   DBEdit3.Visible:=false;

   Label1.Visible:=false;

   Label2.Visible:=false;

   Label3.Visible:=false;

  end;

end;

 

procedure TFAbonenti.FormCreate(Sender: TObject);

begin

 Label10.Visible:=false;

 DBLookupComboBox2.Visible:=false;

end;

end.


unit Dov_Pidpr;

 

interface

 

uses

  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

  DBTables, Db, ExtCtrls, DBCtrls, Grids, DBGrids, StdCtrls, Mask;

 

type

  TFDov_Pidpr = class(TForm)

    DBGrid1: TDBGrid;

    DBNavigator1: TDBNavigator;

    Table1: TTable;

    DataSource1: TDataSource;

    Table1Pidpr: TStringField;

    Database1: TDatabase;

    procedure FormClose(Sender: TObject; var Action: TCloseAction);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

 

var

  FDov_Pidpr: TFDov_Pidpr;

 

implementation

 

uses Main;

 

{$R *.DFM}

 

 

 

procedure TFDov_Pidpr.FormClose(Sender: TObject; var Action: TCloseAction);

begin

FMain.Show;  //перейти на головну форму

end;

 

end.


unit Dov_Vul;

 

interface

 

uses

  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

  Grids, DBGrids, DBTables, Db, StdCtrls, Mask, DBCtrls, ExtCtrls;

 

type

  TFDov_Vul = class(TForm)

    DataSource1: TDataSource;

    Table1: TTable;

    Database1: TDatabase;

    DBGrid1: TDBGrid;

    DBNavigator1: TDBNavigator;

    procedure FormClose(Sender: TObject; var Action: TCloseAction);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

 

var

  FDov_Vul: TFDov_Vul;

 

implementation

 

uses Main;

 

{$R *.DFM}

 

procedure TFDov_Vul.FormClose(Sender: TObject; var Action: TCloseAction);

begin

FMain.Show; //перейти на головну форму

end;

 

end.


unit Find;

 

interface

 

uses

  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

  StdCtrls, Db, DBTables, Grids, DBGrids;

 

type

  TFFind = class(TForm)

    Button1: TButton;

    Edit1: TEdit;

    Query1: TQuery;

    DataSource1: TDataSource;

    Table1: TTable;

    DBGrid1: TDBGrid;

    Label1: TLabel;

    Label2: TLabel;

    Edit2: TEdit;

    Label3: TLabel;

    Label5: TLabel;

    CheckBox1: TCheckBox;

    Button2: TButton;

    Label7: TLabel;

    Edit3: TEdit;

    Edit4: TEdit;

    Label8: TLabel;

    Edit5: TEdit;

    Label9: TLabel;

    procedure FormClose(Sender: TObject; var Action: TCloseAction);

    procedure Button1Click(Sender: TObject);

    procedure FormActivate(Sender: TObject);

    procedure Button2Click(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

 

var

  FFind: TFFind;

 

implementation

 

uses Main, Kartka_Abon, Abonenti;

 

{$R *.DFM}

 

procedure TFFind.FormClose(Sender: TObject; var Action: TCloseAction);

begin

 FMain.Show;

 Table1.Active:=true;

end;

 

procedure TFFind.Button1Click(Sender: TObject);//знайти

var

Fpriz, FVul, FPilg, FBud, FKvart, FVulS : String;

begin

if CheckBox1.Checked = true then

FPilg:='так';

Fpriz:=Edit1.Text;  //по заданому прізвищу

FVul:=Edit2.Text;   //по заданій вулиці

FBud:=Edit3.Text;

FKvart:=Edit4.Text;

FVulS:=Edit5.Text;

FFind.Query1.Close;

FFind.Query1.SQL.Clear;

FFind.Query1.SQL.Add('Select PRIZ,Name,PBAT,Vul,Tel,Bud,Kvart,Tip,Pilgi');

FFind.Query1.SQL.Add('From ":Tel_Dov:Abonenti.db"');

FFind.Query1.SQL.Add('Where');

FFind.Query1.SQL.Add('(PRIZ="'+Fpriz+'" or Vul="'+FVul+'" and Bud="'+FBud+'" and Kvart="'+FKvart+'"or Pilgi="'+FPilg+'" or Vul="'+FVulS+'")');

FFind.Query1.Open;

If FFind.Query1.RecordCount <>0 Then

begin

Table1.Active:=False;

DataSource1.DataSet := Query1;

end

Else

begin

ShowMessage('У базі даних немає записів, які задовільняють умовам');

DataSource1.DataSet := Table1;

end;

end;

 

procedure TFFind.FormActivate(Sender: TObject);

begin

Label5.Caption:=IntToStr(Table1.RecordCount);

 

end;

 

procedure TFFind.Button2Click(Sender: TObject);

begin

 Button1Click(Sender);

 If DataSource1.DataSet = Query1 then

 begin

 FFind.Close;

 FAbonenti.Show;

 FAbonenti.DataSource1.DataSet:=Query1;

 end;

end;

 

end.


unit Kartka_Abon;

 

interface

 

uses

  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

  quickrpt, Qrctrls, ExtCtrls, StdCtrls, DBCtrls;

 

type

  TFKartka_Abon = class(TForm)

    QuickRep1: TQuickRep;

    QRLabel1: TQRLabel;

    QRLabel2: TQRLabel;

    QRLabel3: TQRLabel;

    QRLabel4: TQRLabel;

    QRDBText1: TQRDBText;

    QRDBText2: TQRDBText;

    QRDBText3: TQRDBText;

    QRLabel5: TQRLabel;

    QRDBText4: TQRDBText;

    QRLabel6: TQRLabel;

    QRLabel7: TQRLabel;

    QRLabel8: TQRLabel;

    QRDBText5: TQRDBText;

    QRLabel9: TQRLabel;

    QRDBText6: TQRDBText;

    QRLabel10: TQRLabel;

    QRDBText7: TQRDBText;

    QRDBText8: TQRDBText;

  private

    { Private declarations }

  public

    { Public declarations }

  end;

 

var

  FKartka_Abon: TFKartka_Abon;

 

implementation

 

uses Abonenti;

 

{$R *.DFM}

 

end.


unit Zvit;

 

interface

 

uses

  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

  quickrpt, Qrctrls, ExtCtrls, Db, DBTables;

 

type

  TFZvit = class(TForm)

    QuickRep1: TQuickRep;

    DataSource1: TDataSource;

    Table1: TTable;

    QRBand1: TQRBand;

    QRLabel1: TQRLabel;

    QRBand2: TQRBand;

    QRDBText1: TQRDBText;

    QRDBText2: TQRDBText;

    QRDBText3: TQRDBText;

    QRDBText4: TQRDBText;

    QRDBText5: TQRDBText;

    QRDBText6: TQRDBText;

    QRDBText7: TQRDBText;

    QRLabel2: TQRLabel;

    QRLabel3: TQRLabel;

    QRLabel4: TQRLabel;

    QRLabel5: TQRLabel;

    QRLabel6: TQRLabel;

    QRLabel7: TQRLabel;

    QRDBText8: TQRDBText;

    QuickRep2: TQuickRep;

    QRBand3: TQRBand;

    QRBand4: TQRBand;

    DataSource2: TDataSource;

    Query1: TQuery;

    QRDBText9: TQRDBText;

    QRLabel8: TQRLabel;

    QRLabel9: TQRLabel;

    QRDBText10: TQRDBText;

    QRDBText11: TQRDBText;

    QRLabel10: TQRLabel;

    QRDBText12: TQRDBText;

    QRLabel11: TQRLabel;

    QRDBText13: TQRDBText;

    QRLabel12: TQRLabel;

    QRDBText14: TQRDBText;

    QRLabel13: TQRLabel;

    QRDBText15: TQRDBText;

  private

    { Private declarations }

  public

    { Public declarations }

  end;

 

var

  FZvit: TFZvit;

 

implementation

 

uses Main;

 

{$R *.DFM}

 

end.

 
  Сегодня были уже 2 посетителей  
 
Лаптєв Олег Володимирович © 2010 pc201010.ru.gg Этот сайт был создан бесплатно с помощью homepage-konstruktor.ru. Хотите тоже свой сайт?
Зарегистрироваться бесплатно