Розробка додатку складського обліку автозапчастин
Аналіз інформаційних потоків підприємства торгівлі. Обґрунтування необхідності автоматизації складського обліку автозапчастин. Вимоги до архітектури і продуктивності клієнтської системи. Розробка модулів, алгоритмів, структури даних, інтерфейсу програми.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | украинский |
Дата добавления | 12.04.2012 |
Размер файла | 1,6 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
34
Реферат
Тема роботи - Розробка додатку складського обліку автозапчастин.
Об'єктом дослідження кваліфікаційної роботи є процес ведення складського обліку малого підприємства.
Мета роботи - розробити програмний продукт, який автоматизує роботу з ведення складського обліку автозапчастин.
Практична цінність програми полягає в тому, що вона значно зменшує кількість рутинних операцій при роботі з різноманітними документами, контролює торговельні операції підприємства, рух товарів на складах.
Програмний продукт, який створено в результаті виконання кваліфікаційної роботи, дозволяє полегшити роботу співробітників малого підприємства, підвищити контроль за їхньою роботою, знизити ймовірність помилок при виконанні роботи, підвищити продуктивність праці, скоротити затрати часу на обробку інформації.
СКЛАД, ДОКУМЕНТ, НАКЛАДНА, ЗВІТ, ЗНИЖКА, ПОСТАЧАЛЬНИК, КЛІЄНТ, ВИРОБНИК, ТОВАР, ПРОДАЖ, ЗАКУПКА, ПОДАТОК, БАЗА ДАНИХ, СИСТЕМА КЕРУВАННЯ БАЗАМИ ДАНИХ, ТАБЛИЦЯ, ЗАПИТ, АВТОМАТИЗОВАНЕ РОБОЧЕ МІСЦЕ.
Перелік умовних позначень
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 Характеристика підприємства торгівлі та його інформаційних потоків
Підприємство торгівлі має спрощену структуру порівняно з великими виробничими підприємствами [2].
На рис. 1.1 представлено організаційну структуру торгового підприємства.
Размещено на http://www.allbest.ru/
34
Рис. 1.1 - Організаційна структура підприємства
Директор виконує функції контролю за фінансами підприємства, діяльністю підприємства та його філій і приймає важливі рішення при виникненні проблемних ситуацій в діяльності підприємства. Також директор відслідковує кон'юнктуру ринку та з огляду на це приймає рішення про перехід на торгівлю тими чи іншими товарами або про роботу з тими чи іншими постачальниками. Йому підпорядковані: бухгалтерія, філії підприємства, заступник директора.
Заступник директора виконує оперативне управління відділами підприємства, веде торгівельний та складський облік, йому підпорядковані: відділ збуту, відділ постачання, транспортно-складське господарство.
Відділи підприємства виконують такі функції (деякі відділи поєднують в собі функції кількох відділів великого підприємства):
бухгалтерія веде облік фінансів підприємства, проводить розрахунки з клієнтами та постачальниками, податковий облік та виконує розрахунок і виплату заробітної платні - поєднує функції бухгалтерії і відділу праці та заробітної платні;
відділ збуту виконує збут товарів оптом та в роздріб, забезпечує збирання інформації щодо продукції, яка користується попитом та інформації щодо цінової політики конкурентних фірм, - тобто виконує функції фінансового відділу та відділу менеджменту;
відділ постачання виконує замовлення товарів у постачальників, аналізує цінову політику різноманітних постачальників з метою здійснення вигідних поставок товарів, - тобто виконує функції планово-економічного відділу;
транспортно-складське господарство виконує функції по перевезенню та зберіганню товарів на складах підприємства;
- філії підприємства є підприємствами роздрібної торгівлі.
Інформаційні потоки підприємства можна розділити на зовнішні та внутрішні.
Зовнішні інформаційні потоки підприємства характеризуються обміном інформацією з:
постачальниками (обмін інформацією через відділ постачання та директора) - підприємство передає інформацію постачальнику про замовлення необхідного товару, запит про наявність конкретних товарів на складах постачальника, рекламації на товар, об'єми продажу та попит на товари. Від постачальників надходить інформація про наявність товарів, ціни на товари, терміни поставок;
клієнтами (обмін інформацією через відділ постачання та збуту) - в даному випадку підприємство виступає в ролі постачальника (продавця) для клієнтів і передає інформацію клієнтам про наявність товарів, ціни на товари, терміни поставок. Від клієнтів надходить інформація про замовлення необхідного товару, запит про наявність конкретних товарів на складах постачальника, рекламації на товар;
державними контролюючими органами - підприємство передає інформацію про сплату податків та величину прибутків.
Внутрішні інформаційні потоки підприємства можна розділити на низхідні та висхідні.
Низхідні інформаційні потоки:
директор надає управлінську інформацію своїм підлеглим:
1) бухгалтерії про величину заробітної платні та про проведення тих чи інших виплат і розрахунків;
2) заступнику директора та філіям рішення відносно торгівельної діяльності;
заступник директора надає управлінську інформацію своїм підлеглим:
1) відділу збуту про ведення торгівлі з тими чи іншими клієнтами;
2) відділу постачання про проведення постачання товарів для подальшої реалізації;
3) транспортно-складському господарству про підготовку місця для складування партій товару, про підготовку транспорту для перевезень товарів, про виконання перевезень.
Висхідні інформаційні потоки:
відділ збуту звітує про продаж товарів - передає видаткові накладні заступнику директора, який передає їх до бухгалтерії;
відділ постачання звітує про поставки товарів - передає прибуткові накладні заступнику директора, який передає їх до бухгалтерії;
транспортно-складське господарство звітує про стан транспортної техніки, про стан складів;
заступник директора звітує про загальний стан підприємства торгівлі - звіт подається директору;
бухгалтерія звітує про фінансовий стан підприємства - звіт подається директору;
філії звітують про виконання продажу товарів - звіт подається директору.
Схему інформаційних потоків підприємства наведено на рис. 1.2.
Размещено на http://www.allbest.ru/
34
Рис. 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 символів |
|
Автомобиль |
Текстовое |
255 |
Всі поля крім поля К оплате можуть буде редагованими. Але тільки у разі того, що значення не виходить за межі, а інакше буде показано вікно помилка типа (Рис. 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 |
||
2. Проектування |
11 |
6 |
|
3. Програмування |
15 |
15 |
|
4. Випробування |
10 |
10 |
|
Разом: |
38 |
31 |
Розрахунок страхових внесків до позабюджетних фондів проводиться по формулі:
Отч = ФОТ (Котч / 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;
Подобные документы
Загальна характеристика методів проектування та документації додатків. Розробка інтерфейсу програми для медичного діагностичного центру. Вибір архітектури. Описання логічної структури програми. Розробка структури бази даних проекту, полів таблиць.
курсовая работа [2,0 M], добавлен 21.08.2015Особливості роботи ресторану та необхідність автоматизації процесів документообігу. Вимоги до продукту, вид інтерфейсу для користувача, додаткові функції при роботі з базою даних та веденням обліку. Вибір операційної системи та її основних компонентів.
курсовая работа [310,6 K], добавлен 18.09.2012Обстеження і аналіз репозиторія програмного забезпечення. Аналіз репозиторія ПЗ. Розробка функціональної моделі. Розробка проекту Бази Даних "Репозиторій ПЗ". Розробка алгоритмів і графічних інтерфейсів програмних модулів.
курсовая работа [3,4 M], добавлен 05.09.2007Вибір методів та засобів створення інформаційної системи для обліку і перегляду продукції на складі. Розробка моделі даних для реляційної бази даних, прикладного програмного забезпечення. Тестування програмного додатку, виявлення можливих проблем.
курсовая работа [1,1 M], добавлен 22.09.2015Характеристика функціональної структури предметної області програмного комплексу. Розробка архітектури програмної системи. Вибір типу архітектури й зразків проектування. Опис декомпозиції, залежностей та інтерфейсу. Детальне проектування модулів та даних.
курсовая работа [462,2 K], добавлен 19.12.2013Проектування інтерфейсу програми. Вимоги до продукту. Вхідні дані на розробку автоматизованої системи. Вибір середовища програмування. Розробка структури бази даних. Функціональна та логічна структура програми. Розробка структури таблиць бази даних.
курсовая работа [43,1 K], добавлен 30.06.2015Види інформаційних систем. Програмна реалізація гнучкої системи для автоматизованої реєстрації та обліку руху імунобіологічних препаратів в середовищі Delphi 6.0 з використанням технології доступу до баз даних ADO. Розрахунок витрат на розробку програми.
дипломная работа [3,2 M], добавлен 25.10.2012Опис структур даних та вмісту файлів з вхідними, вихідними даними. Проектування програми автоматизації процесу обліку (поставки та видачі) товарів для невеликого магазину. Математична постановка основних задач. Опис програмного інтерфейсу з користувачем.
курсовая работа [526,9 K], добавлен 07.10.2014Розробка класного електронного журналу з метою автоматизації ведення обліку відвідування та атестації учнів, виведення рейтингових оцінок по різним предметам: опис середовища програмування, файлів баз даних, модулів, діаграм стану та інтерфейсу програми.
дипломная работа [1,1 M], добавлен 28.04.2010Проектування бази даних для КП "ВодГео" - комунального підприємства у сфері водопостачання та водовідведення в м. Сміла. Предметна область, вимоги до продукту. Розробка інтерфейсу програми. Вибір архітектури та сервера бази даних, її логічна структура.
курсовая работа [1,2 M], добавлен 14.07.2015