Допомога у написанні освітніх робіт...
Допоможемо швидко та з гарантією якості!

Розробка додатку складського обліку автозапчастин

ДипломнаДопомога в написанніДізнатися вартістьмоєї роботи

Вимоги до користувачів мінімальні. Мова інтерфейсу — Українська, це забезпечує зрозумілість інтерфейсу — повідомлень та надписів. Якщо робити з SQL запитами то вимога до знання мови SQL обов’язкова. Інтерфейс програми дуже зручний і зрозумілий для кожного. Також є ряд функцій які зможуть спростити інтерфейс, або зробити йоги приємнішим, що є важливою рисою при роботі. Також в програмі є дуже… Читати ще >

Розробка додатку складського обліку автозапчастин (реферат, курсова, диплом, контрольна)

Реферат

Тема роботи — Розробка додатку складського обліку автозапчастин.

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

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

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

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

СКЛАД, ДОКУМЕНТ, НАКЛАДНА, ЗВІТ, ЗНИЖКА, ПОСТАЧАЛЬНИК, КЛІЄНТ, ВИРОБНИК, ТОВАР, ПРОДАЖ, ЗАКУПКА, ПОДАТОК, БАЗА ДАНИХ, СИСТЕМА КЕРУВАННЯ БАЗАМИ ДАНИХ, ТАБЛИЦЯ, ЗАПИТ, АВТОМАТИЗОВАНЕ РОБОЧЕ МІСЦЕ.

Перелік умовних позначень

Gb — гігабайт

HDD (Hard Disk Drive) — жорсткий диск

Mb — мегабайт

MHz — мегагерц

RAD — технологія швидкої розробки програм

RAM — оперативний запам’ятовуючий пристрій АРМ — автоматизоване робоче місце АС — автоматизована система ОТ — обчислювальна техніка ПП — приватне підприємство

Зміст

Вступ Розділ 1. Характеристика об'єкту розробки

1.1 Визначення об'єкту розробки

1.2 Характеристика підприємства торгівлі та його інформаційних потоків

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

1.4 Вимоги до програмного забезпечення

1.4.1 Вимоги до користувачів

1.4.2 Організаційні вимоги

1.4.3 Загальні вимоги до архітектури системи

1.4.4 Специфікація даних

1.4.5 Функціональні вимоги

1.4.6 Вимоги до надійності

1.4.7 Вимоги до продуктивності

Розділ 2. Розробка програми

2.1 Засоби реалізації

2.2 Модулі й алгоритми

2.3 Структури даних

2.4 Інтерфейс програми

2.5 Реалізація й тестування Розділ 3. Розрахунок економічного ефекту від розробки і продажу програми

3.1 Визначення витрат на розробку програми

3.2 Розрахунок вартості програми Висновок Список джерел Додаток

Вступ

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

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

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

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

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

Для досягнення мети необхідно було вирішити такі завдання:

· Охарактеризувати підприємство торгівлі та його інформаційні потоки;

· З’ясувати вимоги до програмного забезпечення;

· Розробити базу даних

· Розробити програму управління базою даних

· Провести тестування програми

Розділ 1. Характеристика об'єкту розробки

1.1 Визначення об'єкту розробки

Об'єктом розробки є процес ведення складського обліку малого підприємства. Підприємство торгівлі в роботі використовує як роздрібну торгівлю так і оптову торгівлю.

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

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

1.2 Характеристика підприємства торгівлі та його інформаційних потоків

Підприємство торгівлі має спрощену структуру порівняно з великими виробничими підприємствами.

На рис. 1.1 представлено організаційну структуру торгового підприємства.

Рис. 1.1 — Організаційна структура підприємства Директор виконує функції контролю за фінансами підприємства, діяльністю підприємства та його філій і приймає важливі рішення при виникненні проблемних ситуацій в діяльності підприємства. Також директор відслідковує кон’юнктуру ринку та з огляду на це приймає рішення про перехід на торгівлю тими чи іншими товарами або про роботу з тими чи іншими постачальниками. Йому підпорядковані: бухгалтерія, філії підприємства, заступник директора.

Заступник директора виконує оперативне управління відділами підприємства, веде торгівельний та складський облік, йому підпорядковані: відділ збуту, відділ постачання, транспортно-складське господарство.

Відділи підприємства виконують такі функції (деякі відділи поєднують в собі функції кількох відділів великого підприємства):

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

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

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

транспортно-складське господарство виконує функції по перевезенню та зберіганню товарів на складах підприємства;

— філії підприємства є підприємствами роздрібної торгівлі.

Інформаційні потоки підприємства можна розділити на зовнішні та внутрішні.

Зовнішні інформаційні потоки підприємства характеризуються обміном інформацією з:

постачальниками (обмін інформацією через відділ постачання та директора) — підприємство передає інформацію постачальнику про замовлення необхідного товару, запит про наявність конкретних товарів на складах постачальника, рекламації на товар, об'єми продажу та попит на товари. Від постачальників надходить інформація про наявність товарів, ціни на товари, терміни поставок;

клієнтами (обмін інформацією через відділ постачання та збуту) — в даному випадку підприємство виступає в ролі постачальника (продавця) для клієнтів і передає інформацію клієнтам про наявність товарів, ціни на товари, терміни поставок. Від клієнтів надходить інформація про замовлення необхідного товару, запит про наявність конкретних товарів на складах постачальника, рекламації на товар;

державними контролюючими органами — підприємство передає інформацію про сплату податків та величину прибутків.

Внутрішні інформаційні потоки підприємства можна розділити на низхідні та висхідні.

Низхідні інформаційні потоки:

директор надає управлінську інформацію своїм підлеглим:

1) бухгалтерії про величину заробітної платні та про проведення тих чи інших виплат і розрахунків;

2) заступнику директора та філіям рішення відносно торгівельної діяльності;

заступник директора надає управлінську інформацію своїм підлеглим:

1) відділу збуту про ведення торгівлі з тими чи іншими клієнтами;

2) відділу постачання про проведення постачання товарів для подальшої реалізації;

3) транспортно-складському господарству про підготовку місця для складування партій товару, про підготовку транспорту для перевезень товарів, про виконання перевезень.

Висхідні інформаційні потоки:

відділ збуту звітує про продаж товарів — передає видаткові накладні заступнику директора, який передає їх до бухгалтерії;

відділ постачання звітує про поставки товарів — передає прибуткові накладні заступнику директора, який передає їх до бухгалтерії;

транспортно-складське господарство звітує про стан транспортної техніки, про стан складів;

заступник директора звітує про загальний стан підприємства торгівлі - звіт подається директору;

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

філії звітують про виконання продажу товарів — звіт подається директору.

Схему інформаційних потоків підприємства наведено на рис. 1.2.

Рис. 1.2 — Схема інформаційних потоків підприємства

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

На сьогоднішній день існує досить велика кількість програмних продуктів, які дозволяють вести бухгалтерський та складський облік. Це такі продукти, як «X-Door» (виробник: компанія «Soft-Taxi», Запоріжжя), «1С:Предприятие» (виробник: фірма «1С», Москва), «Предприниматель» (виробник: ТОВ «Автоматика», Дніпропетровськ). Вони мають розвинені засоби для ведення обліку і створення різноманітних документів і звітів за державними стандартами, тобто вони призначені для обслуговування інформаційних потоків підприємства (рис. 1.2).

1С:Предприятие навіть має розвинені засоби програмування для опрацювання тих чи інших задач.

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

1.4 Вимоги до програмного забезпечення

Для розробки та тестування програми необхідно такий комп’ютер:

· Процесор Athlon 400;

· 128 Мб оперативної пам’яті;

· Відеоадаптер, мишка та клавіатура;

· 1 мб дискового простору;

· Операційна система Windows 95/98/2000/XP/Vista.

1.4.1 Вимоги до користувачів

Вимоги до користувачів мінімальні. Мова інтерфейсу — Українська, це забезпечує зрозумілість інтерфейсу — повідомлень та надписів. Якщо робити з SQL запитами то вимога до знання мови SQL обов’язкова. Інтерфейс програми дуже зручний і зрозумілий для кожного. Також є ряд функцій які зможуть спростити інтерфейс, або зробити йоги приємнішим, що є важливою рисою при роботі. Також в програмі є дуже корисна річ для користувачів — інструкція по роботі з програмою, в якій описані основні прийоми, які використовуються в програмі, а також основні можливості програми. Отже, основна вимога до користувача — вивчення основ мови SQL, знання української мови.

1.4.2 Організаційні вимоги

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

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

1.4.3 Загальні вимоги до архітектури системи

Дана програмна розробка являє собою клієнтську систему. Вона забезпечує зв’язок між користувачем та базою даних. База даних може знаходитись як і на комп’ютері де знаходиться клієнт так і в мережі. В останньому випадку робота з базою даних можлива тільки якщо, у користувача операційної системи є відповідні права на редагування і збереження файлів в мережі. Робота з базою даних може відбуватись одним із двох способів-робота та збереження на тому ж ПК де і клієнт (Рис. 1.3.), та робота з базою даних та збереження її на сервері. (Рис. 1.4.)

Рис. 1.3 — Робота з базою даних та збереження даних на жорсткий диск Рис. 1.4 — Робота з базою даних та збереження її на сервері

1.4.4 Специфікація даних

1. Програма виконує свою роботу з файлом типу *.mdb. Це стандартний тип бази даних Microsoft Office Access 2003 і з'єднується за допомогою Microsoft.Jet.OLEDB.4.0.

База даних складається з полів різних типів.

В програмі є меню — Фільтр, в яке повинно бути введено умову фільтрації даних. При невірному вводі виникає помилка (Рис. 1.5.)

Рис. 1.5 — Помилковий ввід фільтру В такому випадку треба нажати кнопку — ОК, та ввести значення фільтру повторно.

При вводі не правильного SQL запиту можуть виникнути помилка.(Рис 1.6.)

Для того, щоб виправити запит треба нажати на кнопку ОК та внести необхідні зміни, після чого знову нажати на кнопку Виконати.

Рис. 1.6 — Помилковий ввід SQL запиту При невірному вводі поля в інших вікнах може виникнути така сама помилка, що і при неправильному вводі фільтру.

В такому випадку треба нажати кнопку — ОК, та ввести значення повторно.

При зміні шляху до бази даних може виникнути помилка типу (Рис. 1.7.).

Рис. 1.7 — Помилковий шлях до бази даних При виникненні цієї помилки треба знову обрати шлях до бази, якщо він буде вірний — помилка не виникне.

Інші помилки виникати не повинні.

2. Атрибути сутності.

База складається з двох таблиць, список полів яких приведено нижче.

Таблиця 1.1 — Продано

Поле

Тип

Межі

Код

Текстовое

До 40 символів

Наименование

Текстовое

0−100

Количество

Числовое

Длинное целое

Таблиця 1.2 — Матеріали

Поле

Тип

Межі

Наименование

Текстовое

До 50 символів

Группа

Текстовое

До 50 символів

Производитель

Текстовое

До 50 символів

Единица измерения

Текстовое

Не обмежено

Накладная

Числовое

Длинное целое

Цена за 1 единицу

Текстовое

До 50 символів

Автомобиль

Текстовое

Всі поля крім поля К оплате можуть буде редагованими. Але тільки у разі того, що значення не виходить за межі, а інакше буде показано вікно помилка типа (Рис. 1.8).

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

К оплате = Часы работы * Почасовая плата + Затраты на работу.

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

1.4.5 Функціональні вимоги

Система дає змогу користувачу:

1. Підключатись та відключатись від бази даних програмно;

2. Підключати та відключати, оновлювати таблиці бази даних;

3. Виконувати редагування, додавання, видалення записів з таблиць БД ;

4. Виконувати навігацію по таблицям за допомогою навігаторів;

5. Узнати час підключення і час відключення від бази даних;

6. Виконати пошук у базі даних за будь яким полем;

7. Виконати фільтрацію за будь яким полем;

8. Відсортувати таблиці за спаданням та за зростанням за будь яким полем;

9. Задати SQL запит і відібрати з бази необхідні дані;

10. Ознайомитись з додатком докладніше за допомогою інструкції;

11. У разі введення не вірних даних відмінити збереження запису;

12. У разі введення не правильного запиту чи умови виправити помилку;

13. Користуватись буфером обміну при роботі з фільтром, пошуком, або запитами.

Інтерфейс системи дає змогу користувачу:

1. Вибрати колір додатка;

2. Приховати ті функцію, що непотрібні у даний час;

3. Зручно переглядати записи;

4. Зручну роботу з програмою.

Вибір бази виконується за допомогою головного меню (Рис. 1.9)

Структура таблиці машини представлена на рис. 1.10.

Структура таблиці продано зображена на рис. 1.11.

Рис. 1.9 — Вибір бази даних Рис. 1.10 — Структура таблиці матеріали Рис. 1.11 — Структура таблиці продано До складових Головне вікна програми відносяться:

1. Головне меню

2. Таблиця 1

3. Таблиця 2

4. Пошук

5. Фільтр

6. Сортування

7. Настройки

8. Навігатор таблиці 1

9. Навігатор таблиці 2

10. Панель інструментів Рис. 1.12 — Головне вікно програми Для здійснення запиту SQL необхідно натиснути в меню SQL, після чого з’явиться вікно запиту. (Рис. 1.13)

Рис. 1.13 — Вікно запиту SQL (Запит не заданий) Схема інтерфейсу вікон:

Рис. 1.14 — Схема інтерфейсу вікон

1.4.6 Вимоги до надійності

Щодо захисту програми від непередбачуваних обставин (ризиків) то вона з багатьма з них справляється. А саме:

1. Відмова обладнання.

Записи при редагуванні зберігаються одразу після їх редагування. Тому при відмові обладнання дані не будуть втрачені.

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

3. Порушення безпеки.

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

4. Різка зміна виробничого процесу.

Необхідно переробити деякі надписи і встановити нові таблиці.

Тому програма швидко переналагоджується.

5. Втрата даних Програма не робить ніяких дій без згоди користувача. При зміні або додаванні, видалені запису користувач обов’язково повинен підтвердити цю дію, або скасувати, тому випадкова втрата даних неможлива. Зберігаються дані завжди при зміні. Якщо база даних за деякими умовами буде пошкоджена тільки тоді програма не зможе з нею нормально працювати.

1.4.7 Вимоги до продуктивності

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

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

Швидкість надходження сигналів дуже велика. Сигнали не великі, тому навіть якщо не є комп’ютером який на якому запущено клієнт сигнали надходять дуже швидко і користувачі вже можуть бачити зміни. Все те що написано вище можна сказати і о часу відгуку, швидкості виконання трансакцій, часу обробки запиту та інших операціях.

Ресурси використовуються дуже мало. Мінімальні об'єми оперативної пам’яті - для збереження додатка (інтерфейс додатка займає приблизно 12 МБ пам’яті), буферу обміну та редагування записів. Але у тому разі, якщо кількість записів буде великою то оперативна пам’ять може бути заповнена. Програма не створена для роботи з великою кількістю записів. Вона орієнтується на середню кількість, для вирішення певних задач. На станціях технічного обслуговування немає необхідності зберігати дані в одній і тій же базі даних п’яти або більше річної давності.

Розділ 2. Розробка програми

2.1 Засоби реалізації

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

Мова програмування високого рівня Delphi являє собою розвиток об'єктно-орієнтованої мови Turbo Pascal, яка в свою чергу була одним із лідерів на ринку за свою зрозумілість. Під зрозумілістю розуміється синтаксис мови програмування Delphi, її оператори тощо. Наприклад якщо порівнювати мови програмування Delphi та С++, то ми одразу побачимо деякі відмінності в синтаксисі цих мов. Наприклад, оператор який розпочинає виконання дій в мові Pascal виглядає так як і у Delphi — begin, а оператор, що закінчує виконання дій що розпочав перший оператор — end. В перекладі з англійської - початок та кінець. В мові програмування С++ ці ж оператори виглядають ось так, початок — {, кінець — }. Це також є дуже простим позначенням, але прийнято починати саме з Pascal, щоб краще розуміти структуру програми, бо людська мова набагато зрозуміліша чим мова програмування. Не даром кажуть що в мові С++ більше узгоджень чим в інших мовах. Тому для вивчення вона може бути однією з важких, а після того як вивчена писати програми на ній можна на багато швидше чим на інших.

Я обрав мову програмування Delphi і на це існує декілька причин:

ь Наявність середовища розробки Delphi 7 на моєму ПК.

ь При звертанні до методів, властивостей, процедур тощо, об'єктів C++ використовує наступний роздільник: «->», в той час як Delphi використовує звичайні крапки «.». Для мене це набагато краще, коли створюється великий додаток.

ь Інші синтаксичні зручності мови програмування Delphi.

Мова Delphi розроблена так, щоб можна було швидко, просто та надійно створювати Windows додатки. Хоч по можливостям Visual С++ та Delphi майже не відрізняються, вважається що на Delphi легше організовувати роботу з базою даних.

Якщо ще казати о зручностях то я обрав продукт саме компанії Borland тому що при написанні програм, а саме звертання до властивостей, процедур об'єктів програма сама підставляє та пропонує продовжити текст. Тому зазвичай повністю писати назви методів, властивостей, процедур, тощо не потрібно. Це дуже економить час при написанні великих проектів. Де звертань може бути більше тисячі.

Мови програмування C++ та Delphi є процедурними мовами, тобто програми повністю складаються з процедур — головної та додатковими, які визиваються головною.

Також однією з головних особливостей є висока швидкість виконання, об'єм програм. Це пов’язано з тим що в С++ так як і в Delphi всі необхідні модулі підключаються користувачем, що забезпечую високу швидкість роботи та малий об'єм пам’яті, необхідний для роботи додатків — програма використовую тільки ті бібліотеки, що треба користувачу в його програмі. А також в цих двох мовах програмування не застосовуються універсальні змінні, які застосовуються наприклад в мові програмування Visual Basic.

Тип Variant

Цей тип є сукупним, тобто якщо змінна оголошена як VARIANT то їй можна передавати значення всіх типів. На перший погляд може показатися, що навіщо ускладнювати якщо просто можна взяти і описати змінну як VARIANT і все, а вже потім нехай сам VB розбирається що до чого — Так Можна, але не треба забувати, що кожна змінна резервує собі область в пам’яті і природно тип VARIANT є найбільший.

Набір бібліотек, які використовуються в мовах С++ та Delphi для реалізації поставленої задачи майже однаковий. Одна відмінна, в С++ вони всі зібрані в одну. Але в Delphi є дуже цікава бібліотека — clipbrd. Яка дуже зручна для роботи з буфером обміну. Її я неодноразово використовував в програмі.

Що стосується вибору СУБД, то Microsoft Access найкраще підходить для створення бази даних, з якою в середовищі Borland Delphi легко працювати. Робота з базою. mdb здійснюється за допомогою провайдеру: Microsoft.Jet.OLEDB.4.0.

Програма для роботи з базою даних створена на Delphi дуже надійна, навіть не треба передбачувати роботу програми у разі виникнення помилки. Програма просто сповістить користувача о особливостях та причині цій помилки і дасть користувачу змогу виправити помилку. Наприклад при невірному вводі в властивість ADOTable — filter.

2.2 Модулі й алгоритми

Під час виконання завдання були використані наступні компоненти середовища Delphi.

Таблиця 2.1 — Компоненти середовища Delphi

Компонент

Опис

Tlabel

Компонент для відображення, що не редагується тексту

Tedit

Компонент, що забезпечую ввід тексту. (Одна строчка)

Tbutton

Компонент, що забезпечую функції кнопки

Timage

Компонент для виводу Рис.

Tpanel

Компонент, призначений для компоновки компонентів у вікні форми

Tgroupbox

Компонент, що служить контейнером для інших компонентів

Tcheckbox

Компонент для вибору True чи False

Tradiobutton

Компонент, який забезпечує вибір. Використовується парою або більшою кількістю

Tradiogroup

Контейнер для Tradiogroup

Tstatusbar

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

Tmainmenu

Компонент, який організує функції головного меню

Tpopupmenu

Компонент, який організує функції контекстного меню

TADOconnection

Компонент, що організує з'єднання з базою даних

TADOquery

Компонент, що організує з'єднання з базою даних, але на відміну від TADOconnection дає змогу користувачу задавати SQL запити

TADOtable

Компонент, що відповідає за властивості таблиці

Tdbgrid

Компонент для відображення таблиці бази даних

Tdatasource

Компонент є джерелом даних для деяких компонентів

Tdbnavigator

Компонент що забезпечує навігацію по Tdbgrid

Tcolordialog

Компонент, що забезпечує вибір кольору з палітри

Topendialog

Компонент, що забезпечує відкриття файлу

Tsavedialog

Компонент, що забезпечує збереження файлу

Trichedit

Компонент для вводу тексту (багато строковий)

Tcombobox

Випадаючий список

Структура програми зображена на Рис. 2.1.

Рис. 2.1 — Структура програми

Що стосується окремих компонентів системи то їх опис наведений нижче.

Головна форма це система, яка складається з декількох підсистем.

А саме:

1. Інструменти для роботи з головною таблицею

Компоненти для роботи з таблицею

ADOConnection1: TADOConnection;

ADOTable1: TADOTable;

DBNavigator2: TDBNavigator;

DBGrid2: TDBGrid;

Label4: TLabel.

2. Інструменти для роботи з залежною таблицею

Компоненти для роботи з таблицею

ADOConnection1: TADOConnection;

ADOTable2: TADOTable;

DBNavigator1: TDBNavigator;

DBGrid1: TDBGrid;

Label5: TLabel.

3. Настройки

Перелік компонентів настройок (код):

GroupBox4: TGroupBox;

RadioGroup1: TRadioGroup;

CheckBox7: TCheckBox;

CheckBox8: TCheckBox;

Button4: TButton;

4. Панель інструментів

Перелік компонентів, що входять до панелі інструментів (код).

Image1: TImage;

Рис. 17.

Image2: TImage;

Image3: TImage;

CheckBox2: TCheckBox;

CheckBox3: TCheckBox;

CheckBox4: TCheckBox;

CheckBox5: TCheckBox;

CheckBox6: TCheckBox;

CheckBox7: TCheckBox;

Panel1: TPanel;

5. Головне меню та контекстне меню

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

N1: TMenuItem;

N2: TMenuItem;

N3: TMenuItem;

N11: TMenuItem;

N21: TMenuItem;

N4: TMenuItem;

N5: TMenuItem;

N6: TMenuItem;

N7: TMenuItem;

N8: TMenuItem;

N9: TMenuItem;

N10: TMenuItem;

N12: TMenuItem;

N13: TMenuItem;

N14: TMenuItem;

N15: TMenuItem;

N16: TMenuItem;

6. Інструменти пошуку

Компоненти Delphi, що використовуються для пошуку:

GroupBox2: TGroupBox;

Label2: TLabel;

Label3: TLabel;

ComboBox1: TComboBox;

Edit2: TEdit;

Button2: TButton;

7. Інструменти фільтру

Компоненти Delphi, що використовуються для фільтру:

GroupBox1: TGroupBox;

CheckBox1: TCheckBox;

Label1: TLabel;

Edit1: TEdit;

Button1: TButton;

8. Інструменти сортування

Компоненти Delphi, що використовуються для сортування:

Label6: TLabel;

ComboBox2: TComboBox;

Button3: TButton;

RadioButton1: TRadioButton;

RadioButton2: TRadioButton;

GroupBox3: TGroupBox;

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

Навігація здійснюється за допомогою компоненту DBNavigator.

Таблиця 2.2 — Опис кнопок DBNavigator

Кнопка

Позначення

Дія

До першої

nbFirst

Покажчик поточного запису переміщається до першого запису файлу даних

До попередньої

nbPrior

Покажчик поточного запису переміщається до попереднього запису файлу даних

До наступної

nbNext

Покажчик поточного запису переміщається до наступної запису файлу даних

До останньої

nbLast

Покажчик поточного запису переміщається до останнього запису файлу даних

Додати

nblnsert

У файл даних додається новий запис

Видалити

nbDelete

Видаляється поточний запис файлу даних

Редагування

nbEdit

Встановлює режим редагування поточного запису

Зберегти

nbPost

Зміни, внесені в поточну запис, записуються у файл даних

Скасувати

Cancel

Відміняє внесені в поточну запис зміни

Оновити

nbRefresh

Записує внесені зміни в файл

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

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

Пошук виконується так: При відкритті вікна пошуку вибір заповнюється заголовками полів з тій таблиці, що обрана в настройках і при виборі поля і натисканні на кнопку пошук здійснюється за допомогою методу компонента ADOtable — locate.

У якості першого параметра KeyFields передається рядок, що містить список ключових полів. У якості другого параметра передається KeyValues — масив ключових значень. А третій параметр Options є множиною опцій, елементами якого можуть бути loCaselnsensitive — нечутливість пошуку до регістру, у якому введені символи, і loPartialKey — допустимість часткового збігу. Метод повертає false, якщо шуканий запис не знайдений.

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

Сортування здійснюється за допомогою такої же процедури як і в пошуку по заповнювання combobox даними, і при натисканні кнопки в залежності від того як і яку таблицю треба відсортувати обирається спосіб сортування, який прописаний в програмному коді. За спаданням — DESC, за зростанням — ASC.

Такий алгоритм дуже ефективний та зручний. Він дає користувачу змогу вибрати одне з полів, а не вводити кожен раз, що в свою чергу суттєво зменшує ризик помилки, та час на роботу з сортуванням значно зменшиться. Бо комп’ютеру обробити декілька рядків набагато скоріше чим ввести всього один рядок користувачу. Якщо казати і о самому алгоритмі сортування то він є універсальним! Він може бути використаний у двох таблицях та ще дає змого відсортувати за зростанням та за спадання. Числа — по їх числовому значенню, текстові поля — по алфавіту.

Форма вибору компонентів представлена на рис. 2.2.

Рис. 2.2 — Компоненти форми вибору На Delphi ці компоненти будуть записані таким чином:

Label1: TLabel;

Button1: TButton;

Button2: TButton;

Edit1: TEdit;

OpenDialog1: TopenDialog.

Форма створюється таким чином, вибирається шлях до бази даних, записується в поле, і коли натиснута кнопку заповнюється Adoconnection1.connectionstring Але спочатку з'єднання з базою даних закривається.

Заповнення Adoconnection1. connectionstring виконується наступним образом:

form1.Adoconnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0; Data Source='+edit1.Text+';Persist Security Info=False';

Також самі дії виконуються і для Adoquery.

Потім всі з'єднання вмикаються і форма закривається.

Алгоритм є однією з найпростіших реалізацій програмного вибору бази даних. Він обмежено вибором бази даних тільки формату.mdb. Але це не проблема, тому що вона програма, по своєму завданню і повинна використовується тільки для баз даних Microsoft Access. Даний алгоритм і економе час користувача і займає менш пам’яті. Тому його використання є дуже корисним моментом в написанні програми.

Форма запитів SQL складається з таких компонентів Delphi:

ADOQuery1: TADOQuery;

DataSource1: TDataSource;

DBGrid1: TDBGrid;

DBNavigator1: TDBNavigator;

GroupBox1: TGroupBox;

Button1: TButton;

Label1: TLabel;

memo1: TMemo;

Button2: TButton;

PopupMenu1: TPopupMenu;

N1: TMenuItem;

N2: TMenuItem;

SaveDialog1: TSaveDialog;

OpenDialog1: TOpenDialog;

Рис. 2.3 — Форма запитів SQL

При введені запиту та натиску на кнопку форма розширюється і дає змогу користувачу продивитись та редагувати вибрані дані. Це здійснюється записом запиту в властивість SQL компоненту ADOQuery та активування компоненту.

Основна властивість компонента ADOQuery — SQL, що має тип TString. Це список рядків, що містять запити SQL.

Алгоритм дуже простий, але з зручним інтерфейсом — розширення вікна.

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

Інші дві форми майже однакові. Інструкція та Інформація — це вивід за допомогою компонентів TRichedit тексту.

Структура дуже проста:

Рис. 2.4 — Структура форми інструкція та інформація

2.3 Структури даних

Програма зроблена так, щоб використовувати як найменше пам’яті. Для цього в ній використовується тільки одна змінна: fe:string;

Вона має строковий тип і існує для збереження назви елементу на якому зараз знаходиться миша. Це зроблено для того щоб робити з буфером обміну за допомогою всього однієї процедури в декількох полях. Цей алгоритм суттєво економить використання пам’яті програмою.

Що стосується роботи всіх компонентів то вони роблять без змінних тим самим забезпечують мінімальне використання пам’яті - тільки ними самими. Наприклад, для зберігання результатів використовуються не змінні, а властивості елементів Edit.Text, Label.Caption і т.д.

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

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

2.4 Інтерфейс програми

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

Вікно та заголовок

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

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

Інтерфейс програми зображено на рис. 2.5.

Рис. 2.5 — Інтерфейс головної форми Колір додатка кожний користувач може вибрати на свій смак за допомогою головного меню (Рис. 2.6). Це дає змогу користувачу робити з програмою з більшою радістю, а тому і робота буде продуктивнішою.

Рис. 2.6 — Вибір кольору додатка

Головне меню

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

Тому головне меню є невід'ємною частиною програми.

Панель статусу

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

Таблиці та навігація

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

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

Настройки

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

Панель інструментів

Панель інструментів дає змогу користувачу дуже зручно використовувати майже всі елементи форми. Панель гарно оформлена. Це рішення прийнято для того щоб одразу звернути увагу користувача на додаткові можливості програми. Зелена кнопка для запитів SQL створена також щоб одразу звернути увагу користувача на різноманітність можливостей програми.

Панелі з додатковими можливостями — пошук, сортування, фільтр

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

Оформлення тексту

На всій формі, окрім панелі інструментів текст має такі характеристики (Рис. 2.7):

Рис. 2.7 — Звичайний шрифт Це зроблено більш для зручності і для того щоб користувач не розгубився в можливостях програми.

Використання прапорців

Використання прапорців робить роботу з таблицями дуже легкою, а продуктивність програми — великою. Тому прапорці багаторазово використовуються в інтерфейсі програми.

Рис. 2.8 — Інтерфейс форми запитів SQL

Запит

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

Таблиця і навігація

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

Форма

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

Рис. 2.9 — Вибір бази даних

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

Вікно не може змінюватися у розмірі за допомогою розтягування або звуження. Вона може буде розгорнуто на весь екран.

Інструкція має максимально зручний інтерфейс з можливістю копіювання тексту. Вікно не має змоги згортатися або розгортатися.

2.5 Реалізація й тестування

автоматизація складський облік клієнтський

Фізичні характеристики поточної версії програми.

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

Файли коду.

Unit1

Розмір у кілобайтах: 10,7

Кількість рядків коду: 419

Unit2

Розмір у кілобайтах: 1,93

Кількість рядків коду: 91

Unit3

Розмір у кілобайтах: 0,38

Кількість рядків коду: 31

Unit4

Розмір у кілобайтах: 0,38

Кількість рядків коду: 26

Unit5

Розмір у кілобайтах: 1,7

Кількість рядків коду: 66

Кількість форм, модулів: 5

Кількість процедур: 42

Компоненти: 99

Об'єм програми у кілобайтах: 1065

Затрати оперативної пам’яті мінімальні: На даний момент — 12,5 Мб. Ці дані залежать від об'єму бази даних. Об'єм бази даних залежить від кількості записів даних у базі.

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

Програма тестувалась достатньо. Критичні помилки не виникають. Результати роботи програми — правильні.

Розділ 3. Розрахунок економічного ефекту від розробки і продажу програми

3.1 Визначення витрат на розробку програми

Витрати на розробку програми визначаються по формулі:

З = ФОТ + Отч + Накл + Зпевм., (3.1.)

де ФОТ — фонд оплати праці, грн;

Отч — відрахування до позабюджетних фондів, грн;

Накл — накладні витрати, пов’язані із створенням програми, грн;

Зпевм — витрати, пов’язані з експлуатацією програми, грн.

З = 4370 + 1136,2 + 1529,5 + 248 = 8619,75 (грн).

Розмір фонду оплати праці розробника розраховується по формулі:

ФОТ = Зппрям (1 + Кр / 100) (3.2.)

де Зппрям — пряма заробітна плата, грн;

Кр — районний коефіцієнт% (Кр = 15%).

ФОТ = 3800 (1+15/100)= 4370 (грн) Зппрям=СР Окл., (3.3.)

де СР — повний термін розробки програми, міс. (днів);

Окл — оклад (денна тарифна ставка) розробника, грн.

Оклад = 2000 / 20 = 100 (грн) Зппрям=38 100 = 3800 (грн) Час, що реально витрачається розробником на створення системи приведено в табл. 3.1.

Таблиця 3.1 — Терміни на розробку програми

Стадія розробки

Термін, відведений на стадію розробки (днів)

Всього

В т.ч. машинного часу

1. Передпроектна стадія

2. Проектування

3. Програмування

4. Випробування

Разом:

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

Отч = ФОТ (Котч / 100), (3.4.)

де Котч — відсоток відрахувань% (Котч = 26%);

Отч = 4370 (26 / 100) = 1136,2 (грн).

Накладні витрати, пов’язані із створенням програми, складають 35% від ФОТ і розраховуються по формулі:

Накл = ФОТ 0,35. (3.5.)

Накл = 4370 0,35 = 1529,5 (грн) Витрати пов’язані з експлуатацією ПЕВМ, розраховуються по формулі:

Зпевм = tмаш Смаш. час (3.6.)

Де tмаш — повний машинний час, витрачений в процесі розробки програми (час написання програми, комплексирування і випробування), година;

Смаш. година — вартість машино-години, грн/година.

Зпевм = 31 8 1 = 248 (грн)

3.2 Розрахунок вартості програми

Вартість розробленої програми визначається по формулі:

Ціна = З (1 + Нормпр / 100) (3.7.)

де Нормпр — норма прибутку%, (Нормпр = 25%).

Ціна = 7283,7 (1 + 25 / 100) = 9104,63 (грн)

3.3 Розрахунок економічного ефекту від продажу програми

Економічний ефект від продажу програми визначається за формулою:

ЕФ = Кіл Ціна — Кіл З — Кіл Ціна Зрекл / 100 (3.8)

де Зрекл — витрати на рекламу % на одиницю проданої продукції (Зрекл = 1%).

Кіл — гадана кількість проданих одиниць продукту, шт./рік.

ЕФ = 100 9104,63 — 100 7283,7 — 100 9104,63 1 / 100 = 172 987,88 (грн).

Таким чином економічний ефект від продажу розробленої програми складає 172 987 гривень на рік.

Висновок

В результаті виконання кваліфікаційної роботи було:

· Проведено аналіз підприємства торгівлі та характеристика його інформаційних потоків;

· З’ясовано вимоги до програмного забезпечення;

· Розроблено базу даних за допомогою MS Access;

· В середовище розробки Borland Delphi 7 розроблено програму управління базою даних;

· Проведено тестування програми.

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

Список джерел

1. http://virtuni.education.zp.ua/edu_col/mod/resource/view.php?id=5767

2. http://www.compdoc.ru/prog/pascal/search_in_database/

3. http://www.cyberguru.ru/delphi-sources/db-ado/poisk-v-baze-dannykh-ado.html

4. http://delphiworld.narod.ru/_db_.html

5. http://delphisource.narod.ru/Sources/PoiskAndFilt.htm

6. http://www.cyberforum.ru/delphi-database/thread18262.html

7. http://ru.wikipedia.org/wiki/СУБД

8. http://coding.csportal.ru/delphi/delphi-for-beginer/Delphi-Types.html

9. http://virtuni.education.zp.ua/edu_col/mod/resource/view.php?id=6411

Додаток

Код програми по модулям:

Модуль 1

unit Unit1;

interface

uses

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

Dialogs, DB, Grids, DBGrids, ADODB, ExtCtrls, DBCtrls, StdCtrls, Menus,

jpeg, ComCtrls, unit2, Unit3, Unit4, Unit5, clipbrd, Gauges;

type

TForm1 = class (TForm)

ADOConnection1: TADOConnection;

DBGrid1: TDBGrid;

DBGrid2: TDBGrid;

DataSource1: TDataSource;

DataSource2: TDataSource;

ADOTable1: TADOTable;

ADOTable2: TADOTable;

DBNavigator1: TDBNavigator;

DBNavigator2: TDBNavigator;

GroupBox1: TGroupBox;

CheckBox1: TCheckBox;

Label1: TLabel;

Edit1: TEdit;

Button1: TButton;

Panel1: TPanel;

Image1: TImage;

CheckBox2: TCheckBox;

CheckBox3: TCheckBox;

Image2: TImage;

CheckBox4: TCheckBox;

StatusBar1: TStatusBar;

GroupBox2: TGroupBox;

Edit2: TEdit;

Button2: TButton;

Label2: TLabel;

CheckBox5: TCheckBox;

Label3: TLabel;

ComboBox1: TComboBox;

CheckBox6: TCheckBox;

ADOTable1DSDesigner: TWideStringField;

ADOTable1DSDesigner2: TIntegerField;

ADOTable1DSDesigner3: TIntegerField;

ADOTable2DSDesigner: TIntegerField;

ADOTable2DSDesigner2: TWideStringField;

ADOTable2DSDesigner3: TWideStringField;

ADOTable2DSDesigner4: TIntegerField;

ADOTable2DSDesigner5: TIntegerField;

ADOTable2DSDesigner6: TWideStringField;

ADOTable2DSDesigner7: TWideStringField;

Label4: TLabel;

Label5: TLabel;

GroupBox3: TGroupBox;

ComboBox2: TComboBox;

Label6: TLabel;

RadioButton1: TRadioButton;

RadioButton2: TRadioButton;

Button3: TButton;

CheckBox7: TCheckBox;

ADOTable2Field: TIntegerField;

GroupBox4: TGroupBox;

RadioGroup1: TRadioGroup;

CheckBox8: TCheckBox;

Image3: TImage;

MainMenu1: TMainMenu;

N1: TMenuItem;

CheckBox9: TCheckBox;

N2: TMenuItem;

N3: TMenuItem;

N11: TMenuItem;

N21: TMenuItem;

N4: TMenuItem;

N5: TMenuItem;

N6: TMenuItem;

ColorDialog1: TColorDialog;

N7: TMenuItem;

N8: TMenuItem;

N9: TMenuItem;

N10: TMenuItem;

PopupMenu1: TPopupMenu;

N12: TMenuItem;

N13: TMenuItem;

N14: TMenuItem;

N15: TMenuItem;

Button4: TButton;

N16: TMenuItem;

procedure FormDestroy (Sender: TObject);

procedure CheckBox1Click (Sender: TObject);

procedure Button1Click (Sender: TObject);

procedure CheckBox2Click (Sender: TObject);

procedure CheckBox3Click (Sender: TObject);

procedure Image1Click (Sender: TObject);

procedure Image2Click (Sender: TObject);

procedure CheckBox4Click (Sender: TObject);

procedure CheckBox5Click (Sender: TObject);

procedure Button2Click (Sender: TObject);

procedure CheckBox6Click (Sender: TObject);

procedure RadioGroup1Exit (Sender: TObject);

procedure Button3Click (Sender: TObject);

procedure ADOTable2CalcFields (DataSet: TDataSet);

procedure CheckBox7Click (Sender: TObject);

procedure CheckBox8Click (Sender: TObject);

procedure Image3Click (Sender: TObject);

procedure CheckBox9Click (Sender: TObject);

procedure N3Click (Sender: TObject);

procedure N2Click (Sender: TObject);

procedure N5Click (Sender: TObject);

procedure N6Click (Sender: TObject);

procedure N8Click (Sender: TObject);

procedure N10Click (Sender: TObject);

procedure ADOTable1BeforePost (DataSet: TDataSet);

procedure Edit2Enter (Sender: TObject);

procedure Edit1Enter (Sender: TObject);

procedure N12Click (Sender: TObject);

procedure N13Click (Sender: TObject);

procedure N14Click (Sender: TObject);

procedure N15Click (Sender: TObject);

procedure N9Click (Sender: TObject);

procedure Button4Click (Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

fe:string; // Строка для збереження назви об'єкта

implementation

{$R *.dfm}

procedure TForm1. FormDestroy (Sender: TObject);

begin

adotable1.Active:=false;

adotable2.Active:=false;

end;

procedure TForm1. CheckBox1Click (Sender: TObject);

begin

if checkbox1. Checked=true then begin

if radiogroup1. ItemIndex=0 then adotable1. Filtered:=true;

if radiogroup1. itemindex=1 then adotable2. Filtered:=true;

end

end;

procedure TForm1. Button1Click (Sender: TObject);

begin

adotable1.Filter:=edit1.Text;

end;

procedure TForm1. CheckBox2Click (Sender: TObject);

begin

if checkbox2. Checked=true then begin

label5.Visible:=true;

adotable2.Active:=true;

dbgrid1.Visible:=true;

dbnavigator1.Visible:=true;

end;

if checkbox2. Checked=false then begin

adotable2.Active:=false;

label5.Visible:=false;

dbgrid1.Visible:=false;

dbnavigator1.Visible:=false;

end;

end;

procedure TForm1. CheckBox3Click (Sender: TObject);

begin

if checkbox3. Checked=true then begin

label4.Visible:=true;

adotable1.Active:=true;

dbgrid2.Visible:=true;

dbnavigator2.Visible:=true;

end;

if checkbox3. Checked=false then begin

label4.Visible:=false;

adotable1.Active:=false;

dbgrid2.Visible:=false;

dbnavigator2.Visible:=false;

groupbox1.Visible:=false;

end;

end;

procedure TForm1. Image1Click (Sender: TObject);

begin

adotable1.Active:=false;

adotable1.Active:=true;

end;

procedure TForm1. Image2Click (Sender: TObject);

begin

adotable2.Active:=false;

adotable2.Active:=true;

end;

procedure TForm1. CheckBox4Click (Sender: TObject);

begin

if checkbox4. Checked=true then groupbox1. Visible:=true;

if checkbox4. Checked=false then groupbox1. Visible:=false;

end;

procedure TForm1. CheckBox5Click (Sender: TObject);

begin

if radiogroup1. ItemIndex=1 then

AdoConnection1.GetFieldNames ('Работы', ComboBox1. Items);

if radiogroup1. ItemIndex=0 then

AdoConnection1.GetFieldNames ('Сотрудники', ComboBox1. Items);

if checkbox5. Checked=true then groupbox2. Visible:=true;

if checkbox5. Checked=false then groupbox2. Visible:=false;

end;

procedure TForm1. Button2Click (Sender: TObject);

begin

if radiogroup1. ItemIndex=0 then

ADOTable1.Locate (combobox1.Items[(combobox1.ItemIndex)], edit2. Text,[]);

if radiogroup1. ItemIndex=1 then

ADOTable2.Locate (combobox1.Items[(combobox1.ItemIndex)], edit2. Text,[]);

end;

procedure TForm1. CheckBox6Click (Sender: TObject);

begin

if checkbox6. Checked=true then

radiogroup1.Visible:=true;

if checkbox6. Checked=false then

radiogroup1.Visible:=false;

end;

procedure TForm1. Button3Click (Sender: TObject);

begin

if radiogroup1. ItemIndex=0 then begin

if radiobutton1. Checked=true then

adotable2.IndexFieldNames:='['+combobox2.Items[combobox2.ItemIndex]+'] DESC';

if radiobutton2. Checked=true then

adotable2.IndexFieldNames:='['+combobox2.Items[combobox2.ItemIndex]+'] ASC';

end;

if radiogroup1. ItemIndex = 1 then begin

if radiobutton1. Checked=true then

adotable2.IndexFieldNames:='['+combobox2.Items[combobox2.ItemIndex]+'] DESC';

if radiobutton2. Checked=true then

adotable2.IndexFieldNames:='['+combobox2.Items[combobox2.ItemIndex]+'] ASC';

end;

end;

procedure TForm1. ADOTable2CalcFields (DataSet: TDataSet);

begin

ADOTable2Field.Value:=ADOTable1DSDesigner3.Value*ADOTable2DSDesigner5.Value+ADOTable2DSDesigner4.Value;

end;

procedure TForm1. CheckBox7Click (Sender: TObject);

begin

begin

if checkbox7. Checked=true then

groupbox3.visible:=true;

if checkbox7. Checked=false then

groupbox3.visible:=false;

end;

end;

procedure TForm1. CheckBox8Click (Sender: TObject);

begin

if checkbox8. Checked=true then

form1.Height:=843;

if checkbox8. Checked=false then

form1.Height:=630;

end;

procedure TForm1. Image3Click (Sender: TObject);

begin

form2.Show;

end;

procedure TForm1. CheckBox9Click (Sender: TObject);

begin

if checkbox9. Checked=true then

begin

dbnavigator1.Visible:=true;

dbnavigator2.Visible:=true;

Показати весь текст
Заповнити форму поточною роботою