Зміст
2. Побудова інформаційно-математичної моделі задачі3
4. Визначення структури даних. 8
5. Розробка інтерфейсу програми. 10
6. Складання коду програми. 13
7. Реалізація проекту у візуальному середовищі15
10. Інструкції з експлуатації програми. 19
11. Аналіз отриманих результатів. 20
Сучасне життя важко зараз уявити без основи наукового прогресу, тобто комп’ютера. Комп’ютер стрімко увірвався в наше життя, швидкими темпами витісняючи раніше винайдені досягнення людства, причому такими ж самими швидкими темпами весь час змінюючись і удосконалюючись. Але комп’ютер це просто машина, яка не може працювати сама, для роботи комп’ютера використовують програми.
Всі програми написані в тому чи іншому середовищі програмування. Складні програми великого об’єму пише не один програміст, а великі компанії де спеціалістів в галузі програмування деколи понад тисячу. В наш час існує багато різних середовищ програмування, тому невеликі програми можуть писати прості програмісти, або люди які володіють мовою будь якого середовища програмування. Зараз існує дуже багато програм написані такими людьми.
Delphi - це одна з мов програмування. Через її простоту та функціональність вона є дуже популярною, до того ж в неї дуже зручний інтерфейс, що спрощує процес програмування. В Delphi є дуже багато стандартних компонентів за допомогою яких можна створювати програми для різних сфер життя. Від бухгалтерських програм до ігор. Ігри можуть бути любої складності і напрямку. До того ж Delphi дає змогу створювати компоненти самостійно потрібно тільки вміти. Середовище програмування Delphi дає змогу без великих зусиль писати великі та складні програми тому що це мова програмування високого рівня. Delphi є кількох версій: 2.0 це найстаріша версія, найновішою версією є Delphi 2007 випущена в цьому році. До речі WindowsCommander який був перейменований на TotalCommander був написаний на Delphi 2.0.
Завдання цього курсового проекту розробити програму "Кадровий облік". Вона має багато відомих і невідомих аналогів. Із знайдених аналогів розробці даного курсового проекту найбільше підходить програма "Кадри плюс 2", а отже програма курсового проекту буде розроблятись спираючись на цю програму. Інтерфейс та функції програми частино буде взято з "Кадри плюс 2".
В програмі буде здійснена можливість редагування файлу, а також його збереження і подальше завантаження. Під редагуванням розуміється збільшення персоналу підприємства, тобто додавання нових працівників, зміна даних про вже доданих (існуючих) працівників, якщо дані про деяких з них вже застарілі, а також видалення працівників, чи їх звільнення.
Так як кожен працівник має свою посаду чи належить до певного відділу чи підрозділу то для створення нових або редагування існуючих категорій буде передбачено окреме вікно.
Також в програмі має бути передбачено сортування та пошук працівників за декількома критеріями, чим більше цих параметрів тим краще сортування і точніший пошук. Програми такого роду дуже потрібні на підприємствах для обліку працюючого персоналу.
1) Постановка задачі:
Дані зберігати в типизованому файлі. Сортування та пошук за декількома критеріями.
Для функціонування програми буде створено новий тип даних, який буде вміщати в себе всю інформацію про робітника (табельний номер, ПІБ, дата народження, дата прийняття на роботу, стаж, і т.д.). Стаж роботи визначається різницею між поточною датою і датою прийняття на роботу, якщо працівник звільнений то стаж визначається як різниця між датою звільнення і датою прийняття на роботу. Має бути передбачена фільтрація натиснених клавіш для деяких полів вводу, н. д.: Дата народження, табельний номер.
Програма повинна зберігати дані в поточний файл якщо він вже існує, натисканням кнопки збереження в головному меню, або зберігати дані в довільний файл, який вибере користувач натисканням кнопки "Зберегти як", також користувач зможе завантажити раніше збережений файл для перегляду або зміни його вмісту.
Кожному працівнику можна буде назначити будь яку посаду, відділ чи підрозділ. Для цього буде передбачена можливість створення нових посад, відділів чи підрозділів, зміна чи видалення існуючих.
Сортування персоналу можна буде здійснювати за багатьма критеріями. Сортувати можна буде як по зростанню так і по спаданню.
Пошук працівника серед всього персоналу буде виконаний в вигляді покрокового фільтру, тобто спочатку наприклад пошук по табельному номері, а потім пошук серед знайденого ще по якомусь критерію і так поки не залишаться бажані працівники.
Алгоритм розв'язання задачі графічно відображає логіку програми і наводиться у вигляді спрощеної схеми алгоритму та блок-схем етапів.
Блок-схема 1 - Процедура переведення рядка в дату.
Блок-схема 2 - Процедура сортування за табельним номером.
Блок-схема 3 - Процедура пошуку працівника за ім’ям.
Блок-схема 4 - Процедура додавання нового робітника.
В програмі були використані змінні типів наведених в Таблиці 1
Таблиця 1. Типи змінних та їх призначення.
Тип | Опис типу |
Byte | Цілочисельний тип діапазоном від 0 до 255 |
Integer | Цілочисельний тип діапазоном від - 32768 до 32767 |
Data | Власний тип для збереження дати (день, місяць, рік) |
Kadr | Власний тип для збереження інформації про робітника |
Fileof Kadr | Використовується типизований файл |
Boolean | Логічний тип, який має два значення: true або false |
String | Рядок символів діапазоном від1 до 255 символів |
Деякі змінні, що використовуються в програмі, їх тип та призначення вказані в Таблиці 2.
Таблиця 2. Деякі змінні, їх типи та призначення у програмі.
Змінна | Тип | Пояснення їх дії у програмі |
F | Типизований файл, типу Kadr | Для збереження інформації про робітників в файл |
Worker | Динамічний масив робітників | Зберігає всю інформацію про робітників |
Rezerv | Динамічний масив робітників | Резервний масив для тимчасового збереження інформації про робітників (використовується при фільтрації працівників) |
WorkersCount | Зміна типу Integer | Зберігає кількість робітників |
RezervCount | Зміна типу Integer | Зберігає кількість працівників в резервному масиві |
CurWorker | Зміна типу Integer | В цій змінній знаходиться номер робітника над яким проводяться операції |
Основна форма програминазивається Form1 і служить для відображення списку працівників.
Рисунок 1. Головна форма проекту.
На формі містяться такі компоненти як:
TStringGrid, TButton, TGroupBox, TComboBox, TCheckBox, TMainMenu, TOpenDialog, TSaveDialog, TXPManifest.
Компонент StringGrid представляє собою таблицю і служить для відображення списку всіх, або шуканих робітників.
У нього були зміненні такі опції:
Align = alClient
Options [goColSizing] = True
Компонент Button представляє собою кнопку і при натисканні служить для виконання тої чи іншої операції.
Компонент GroupBox служить для об’єднання об’єктів в групи. В GroupBox1 були зміненні такі параметри як:
Align = alBottom
Caption = Редагування
Компонент ComboBoxпредставляє собою випадаючий список, використовується для збереження списку рядків.
Компонент CheckBox - прапорець стану, має два стани: встановлений і не встановлений, свій стан зберігає в змінній Checked.
Компонент MainMenu це головне меню програми.
Компонент OpenDialog - для вибору файлів, відкриває діалогове вікно для вибору файлів з жорстких дисків чи інших носіїв, можна встановлювати фільтрування по типу або імені файлів, всі фільтри потрібно записувати в параметрі Filter, також можна вмикати мультивибір для того, щоб вибирати декілька файлів одночасно, в даній програмі ця властивість вимкнена.
Компонент SaveDialog - для вибору файлу в який буде збережена інформація про робітників, цей елемент аналогічний попередньому тільки він призначений для збереження.
Компонент XPManifest призначений для підстроювання графічного інтерфейсу програми під стиль встановлений в операційній системі.
Друга форма програми називається Form2 і призначена для редагування інформації про робітника.
Рисунок 2. Форма редагування.
На даній формі розміщені поля типу TEdit в них можна ввести один рядок текстової інформації.
Також на цій формі є компоненти типу TCheckBox. CheckBox1 з заголовком "Звільнений" призначений для завдання статусу робітника (звільнений чи ні). Якщо він буде знаходитись в стані звільнений то компоненти ComboBox1 (Підрозділ), ComboBox2 (Відділ), ComboBox3 (Посада) будуть не активні, щоб не можна було міняти посаду робітнику, а також поле "Дата звільнення" буде активним щоб можна було ввести дату звільнення.