1.5.1 Форми та модулі програми
Структура розроблюємого програмного забезпечення наведена на рис. 1.7.
Програмна частина дипломного проекту складається з 7-и форм, 1 модуль коду і 3-и модулів класу. Форми використовуються для введення даних користувачем. Модулі коду містять глобальні типи і змінні проекту, а також загальні процедури і функції. У модулях класів реалізовані програмні об'єкти, які використовуються при обробці подій форм.
Рисунок 1.7 – Структура Delphi-проекта
1.5.2 Опис модулів і класів системи
Модули форм містять процедури обробки таких подій:
– Form_Load – завантаження форми;
– Form_Resize – зміна розмірів форми;
– Form_Unload – вивантаження форми;
– Form_KeyPress – обробка клавіатури на полях редагування;
– Form_KeyDown - обробка клавіатури на полях редагування;
– sst_Click – обработка щиглика миші на вкладках;
– lvwGroup_GotFocus – фокус на переліку;
– lvwGroup_LostFocus – перелік втратив фокус;
– lvwGroup_ItemClick – щиглика миші на переліку;
– lvwGroup_KeyDown – клавіатура на переліку;
– txtGroup_GotFocus – поле редагування отримує фокус;
– txtGroup_LostFocus– поле редагування втрачає фокус;
– txtGroup_KeyDown– клавіатура на поле редагування.
При обробці ціх подій викликаються відповідні методи класів.
Модулі коду містять наступні глобальні процедури і функції:
– MsgErr() – повідомлення про помилку;
– CenterForm(frm) – центрирвання форми;
– SetColumnsWidth(lvw) – установка ширини стовпчиків переліку;
– CheckNullDate(vDate) sFormat – перевірка дати;
– IdToKey(nId) sKey – перведення числового ключа таблиці БД у текстовий ключ колекції;
– KeyToId(sKey) nId – зворотне переведення;
– NotChanged(vCurr(), vPrev()) bNotChange – перевірка змін у запису БД;
– EmptyFields(txt()) bEmpty – перевірка пустого текстового поля;
– SetInitials(sSurn, sName, sPatr) sInitName – установка початкового значення;
– SetFieldFocus(ctrl, shp, fra, oList) – установка фокуса на поле;
– SetCtrlFocus(ctrl, shp, fra) – установка фокуса на поле редагування;
– ListGotFocus(lvw, shp, fra, oList) – обробка фокуса на вкладці;
– ListItemClick(lvw, itm, oList) - обробка щиглика на переліку;
– ListKeyDown(lvw, KeyCode, oList) – обробка клавіатури на перліку;
– CtrlKeyDown(ctrl, lvw, KeyCode, oList, xlvw, ylvw) – обробка клавіатури на поле редагування;
– lvwLinkKeyDown(lvwLink, lvw, KeyCode, oList, oListLink, xlvw, ylvw) – обробка клавіатури на списку зв’язку.
Основні класи системи:
– clsDB – клас База Даних;
– clsDBTable – клас Таблиця Бази даних;
– clsList – клас Список;
– clsLinkList – клас Список Зв’язку.
Методи класа База даних:
– Init(sDBFile) – ініцализація (відкриття БД);
– Term – завершення (закриття БД);
– GetData(sQuery) rs – отримання данни за SQL-запитом;
– PutData(sQuery) – зміна даних в БД за SQL-запитом;
– FieldType(sTable, sField) nType – визначення типа поля БД.
Методи класа Таблиця Бази даних:
– Init(oDB, sTable, sFieldList) – ініцализація об’єкта Таблиця;
– GetRecord(nId) vField – отримання запису за ключем;
– GetRecordOn(sQuery) vRecord – отримання запису за запитом;
– UpdateRecord(nId, vField()) – зміна запису;
– InsertRecord(vField()) nId – додавання запису;
– DeleteRecord(nId) – видалення запису;
– GetList(sWhere="") vRecordField – заповнення списку таблицею;
– GetListOn(sQuery) vRecordField – заповнення списку за запитом.
Методи класа Список:
– Init(lvw,ctr(),chk,oDB,sTable,sFieldList,sWhere="") – заповнення списку;
– GetRecord – отримання поточного запису;
– PutRecord – занесення поточного запису у БД;
– UpdateRecord – оновлення поточного запису у БД;
– InsertRecord – додавання поточного запису у БД;
– DeleteRecord – видалення поточного запису;
– NewRecord – новий запис;
– EditRecord – перехід у режим редагування.
Методи класа Список З’вязку:
– Init(lvw, oDB, sLinkTable, sMainId, sLinkId, sSourceTable, sSourceField) – ініцализація об’єкта;
– GetList(nMainId) – отримання списка за ключем.
1.5.3 Схема обробки дій користувача
Всі вкладки форм програми мають однакове призначення – виборку і вивід даних з відповідних таблиць БД. Тому вони мають однакову структуру і практично однаковий набір елементів.
Розглянемо форму frmMain.frm – головну форму програми.
До глобальних перемінніх рівня модуля: відносяться тексти запитів БД - gSQLCmd, стан форми - gFormState.
Перемінна стану форми gFormState може приймати одне з трьох значень:
– stateView – перегляд;
– stateEdit – редагування;
– stateAdd – додавання запису.
При завантаженні форми в список завантажуються назви всіх посад. Перемінна стану форми встановлюється в значення Перегляд. При переміщенні курсора за списком в полях форми відображаються всі поля запису. Користувач, натиснувши на кнопку на панелі інструментів головної форми, може виконати одну з відповідних дій:
– видалення запису;
– перехід в режим редагування;
– перехід в режим додавання.
При видаленні запису програма вимагає підтвердження видалення. Якщо користувач підтверджує видалення, виконується SQL – запит видалення вказаного запису в БД, запис також віддаляється із списку і курсор переходить на наступний запис.
При переході в режим редагування перемінна стану форми встановлюється в значення Редагування. При переході в режим додавання перемінна стану встановлюється в значення Додавання, а поля форми очищаються.
Після введення або зміни даних користувач може натиснути на одну з кнопок на панелі інструментів (OK або Відміна) і тим самим занести нові дані в базу даних або відмінити всі зміни на формі. У разі додавання або зміни виконується відповідний SQL - запит (INSERT або UPDATE) і зміни відображаються в списку. У будь-якому випадку курсор повертається на список і стан форми встановлюється в значення Перегляд.
Далі форма чекає подальших дій користувача – натиснення відповідної кнопки на панелі інструментів.
Оброблювані події форми frmMain.frm:
– Form_Load – завантаження форми. Завантажується список рахунків за фільтрами, ініціалізуються перемінні;
– InitData – ініціалізація перемінних форми. Викликається при завантаженні форми;
– FillItem – заповнення полів форми даними з БД. Викликається при завантаженні форми і при переміщенні курсора в списку;
– ClearItem – очищення полий форми для додавання нового запису. Викликається при переході в режим додавання запису;
– BeginAddEdit – перехід форми в режим додавання або редагування;
– DeleteItem – видалення запису;
– CompleteEdit – завершення редагування. Залежно від стану форми виконується метод UpdateItem або AddItem;
– CancelEdit – відміна редагування;
– AddItem – додавання нового запису. Виконується SQL – запит вставки запису (INSERT) із значеннями полий, введеними в полях форми. Додається рядок в списку рахунків, цей рядок стає поточним, форма переходить в режим перегляду;
– UpdateItem – зміна запису. Виконується SQL – запит оновлення запису (UPDATE) із значеннями полий, введеними в полях форми. Змінюється рядок в списку рахунків, цей рядок стає поточним, форма переходить в режим перегляду;
– EnableItem – перехід форми в режим додавання або редагування;
– doUpdate – перехід форми в режим перегляду;
– doInsert – додавання рядка даних;
– doDelete – видалення рядка даних;
– doSearchColumn – пошук у стовпчику;
– doSearchMore - пошук далі;
– doSortColumn – сортування за даними стовпчика;
– doSortQuery – сортування за запитом;
– datValidate – перевірка даних;
– datError – повідомлення про помилку;
– grdDblClick – обробка стовпчика таблиці;
– grdHeadClick – обробка заголовка таблиці;
Структура модулів інших дочірніх форм аналогічна структурі описаної вище форми frmAcnts.frm.
Робота зі всіма формами здійснюється однаково – обробники подій форми визивають параметризовані функції роботи з БД та настроювання таблиць форми. Такий уніфікований підхід дозволяє користувачеві швидко звикнути до програми, а програмістові – мінімізувати кількість помилок і тому швидко розробити програму.
2. Технологічний розділ
2.1 Керівництво користувача
2.1.1 Введення
Програма управління замовленнями у малому бізнесі "Сметы" призначена для автоматизації ведення даних про замовлення на ремонтні роботи. Програма має простій і зручний інтерфейс, інтуїтивно зрозумілий користувачеві. Програма дозволяє значно скоротити терміни виконання операцій пошуку та вводу потрібних даних.
... і у судовому порядку Наведені у таблиці 1.3. адміністративні санкції передбачені статтею 165 Кодексу про адміністративні правопорушення.Розділ ІІ. Економічний аналіз витрат на оплату праці в бюджетних установах 2.1. Теоретичні основи економічного аналізу витрат на оплату праці У сучасних умовах реформування бухгалтерського обліку аналіз фінансово-господарської ...
0 комментариев