
- •1. Основні терміни технології програмування
- •2. Класифікація програмного забезпечення
- •Поняття життєвого циклу розробки програмного забезпечення.
- •Етапи розробки
- •Базові моделі розробки програмних продуктів.
- •Вимоги до методології та технології розробки пп
- •Каскадна модель
- •3. Модель прототипування програмного продукту
- •4. Спіральна модель
- •5. Модель rad
- •6. Модель екстремального програмування (xp)
- •7. Модель msf (Microsoft Solutions Framework)
- •Принципи й види налагодження.
- •Аксіоми налагодження.
- •Автономне налагодження модуля.
- •Комплексне налагодження програмного засобу.
- •Інструменти розробки програмних засобів.
- •Інструментальні середовища розробки й супроводу програмних засобів.
- •Інструментальні середовища програмування.
- •Поняття комп'ютерної технології розробки програмних засобів і її робочі місця.
- •Інструментальні системи технології програмування.
- •Приклад реалізації класу Log.
- •Розробка програмного продукту з двома потоками
- •Визначення крапок контролю програмного продукту.
- •Визначення кількості викликів
- •Визначення ступеня покриття
- •Фундаментальні проблеми профілювання.
- •Причини рефакторингу
- •Підстави для проведення рефакторингу
- •Прийоми рефакторингу
- •Автоматизований рефакторинг
- •1. Принципи повторного використання елементів програм
- •2. Створення шаблонів форм у вигляді файлів
- •3. Використання шаблонів форм у новому проекті
- •4. Збереження шаблонів форм в депозитарії
- •5. Використання шаблонів форм із депозитарію
- •Шаблони класів на мові програмування с#.
- •Приклади шаблонів (класів шаблонів).
- •1. Використання підпрограм в оброблювачах подій
- •2. Звертання до активного компонента не за ім’ям
- •2. Обробка групи компонентів
- •4. Обробка компонентів як масиву
- •5. Сортування даних у компонентах
- •1. Принципи модульного програмування
- •2. Принцип «приховання даних»
- •3. Поняття модуля в Object Pascal
- •4. Структура модульного файлу
- •5. Створення модуля в Object Pascal
- •6. Створення модуля з переліком стандартних діалогів
- •7. Використання текстових констант у модулях
- •8. Створення підпрограм для обробки компонентів
- •1. Поняття dll
- •2. Створення dll бібліотеки в Delphi
- •3. Внесення форм в dll
- •4. Використання dll бібліотеки
- •Питання для самоконтролю
- •Використання регулярних виразів у програмах.
- •1. Призначення зовнішніх компонентів
- •2. Установка й видалення зовнішніх компонентів
- •3. Установка й видалення бібліотек компонентів
- •4. Запуск зовнішніх програм і файлів
- •Питання для самоконтролю
- •1. Загальні принципи технології com
- •2. Робота з com-сервером Microsoft Word
- •Робота з документами в Microsoft Word
- •Використання шаблону для формування документів
- •Робота з таблицями
- •Вставка малюнків і їх форматування
- •1. Операції з Com-Сервером Microsoft Excel
- •Робота із книгами в Microsoft Excel
- •Робота з аркушами книги в Microsoft Excel
- •Використання шаблону для формування книги
- •Формування таблиці
- •6. Форматування чарунок
- •Види довідкових систем
- •Інші засоби підтримки користувача
- •2.Формати довідників
- •3.Створення довідки у форматі html Help
- •4.Створення контекстної довідки
- •5.Інтеграція довідкового файлу в додаток
- •Перелік шаблонів, що породжують
- •Перелік структурних шаблонів
- •Перелік шаблонів поведінки
- •Призначення патерну Singleton
- •Реалізація патерну Singleton
- •Результати застосування патерну Singleton
- •Призначення патерна Observer
- •Постановка проблеми, що вирішується за допомогою патерна
- •Структура патерна Observer
- •Приклад патерна Observer
- •Реалізація патерна Observer
- •Реалізація патерну Observer: до та після
- •Призначення патерну Strategy
- •Опис патерну Strategy
- •Реалізація патерну Strategy
- •Призначення патерна Factory Method
- •Опис патерну Factory Method
- •Реалізація патерна Factory Method
3. Поняття модуля в Object Pascal
Object Pascal забезпечує розроблювачеві доступ до великої кількості компонентів, класів, вбудованих констант, типів даних, процедур і функцій. Їхня кількість велика, однак, у своїй програмі програміст рідко використовує їх усі відразу. Тому вони розділені на зв'язані групи, модулі. У цьому випадку можна використовувати тільки ті модулі, які необхідні в програмі.
Кожна форма Delphi має свій модуль. Однак існує можливість створювати незалежні модульні файли без прив'язки до форми. Такі модулі можуть містити набори підпрограм, які можна використовувати в будь-яких проектах після підключення цього модуля.
4. Структура модульного файлу
Модуль – це файл, що має спеціальну структуру.
unit ім'я_модуля:
//інтерфейсна частина
interface
[блок підключення модулів Uses;]
[блок опису класів і типів;]
[блок опису змінних Var;]
[блок опису заголовків підпрограм]
//секретна частина
implementation
[блок опису змінних;]
[код реалізації підпрограм]
end.
Ім'я модуля повинне обов'язково збігатися з ім'ям файлу, у якому модуль буде збережений.
Більшість блоків є необов'язковою (укладена у квадратні дужки).
Інтерфейсна частина
Для роботи з об'єктами Delphi, для виклику процедур і функцій у розділі Uses модуля потрібно підключити стандартний набір модулів. Такий набір можна скопіювати з коду будь-якої форми, що має мінімальний набір компонентів.
Змінні, описані в інтерфейсній частини є глобальними й можуть використовуватися в програмах, у яких даний модуль буде підключений.
Заголовки підпрограм повинні містити назви підпрограм із зазначенням списку їх параметрів.
Секретна частина
Змінні, описані в секретній частині, є глобальними для поточного модуля. Вони можуть використовуватися всіма підпрограмами модуля, але не доступні в текстах програм, де даний модуль буде підключений.
5. Створення модуля в Object Pascal
Для створення модульного файлу потрібно виконати кілька стандартних дій:
створіть новий проект Delphi і виконайте команду File – New – Unit;
у вікні створеного модуля вкажіть ім'я модуля після ключового слова Unit;
перейдіть на форму нового проекту, нанесіть кілька стандартних компонентів. У коді форми скопіюйте список модулів у розділі Uses і вставте його після слова Interface у коді нового модуля;
за допомогою команди File – Save As збережіть файл модуля під тим же ім'ям, яке ви вказали після ключового слова Unit.
Модуль готовий для написання коду.
Для використання такого модуля в коді форми потрібно підключити файл модуля в розділі Uses. При цьому файл модуля повинен знаходитися в одній папці із проектом або в папці c:\program files\borland\delphi7\lib.
6. Створення модуля з переліком стандартних діалогів
У програмах доводиться часто видавати діалогові вікна. Код таких вікон досить об'ємний, а їх зовнішній вигляд нерідко однаковий. За допомогою модулів можна запрограмувати видачу таких діалогів за допомогою підпрограм-функцій типу Boolean.
Приклад. Створити модуль, що містить функції виклику діалогу очищення даних і діалогу виходу із програми. Нехай модуль буде мати ім'я Zapros.
Приведемо повний текст файлу модуля.
unit zapros;
interface
uses windows, messages, sysutils, variants, classes, graphics, controls, forms, dialogs, stdctrls;
//указуємо заголовки підпрограм
function clear_data:boolean; //функція очищення даних
function exit:boolean; //функція виходу
implemenmtation
//код реалізації підпрограм
//функція діалогу очищення даних даних
function clear_data:boolean;
begin
if application.messagebox('Очистити дані?', 'Підтвердьте операцію', mb_yesno + mb_iconquestion + mb_defbutton2)=idyes then
clear_data:=true
else
clear_data:=false;
end;
//функція діалогу виходу із програми
function exit:boolean;
begin
if application.messagebox('Вийти із програми?', 'Підтвердьте вихід', mb_yesno + mb_iconquestion + mb_defbutton2)=idyes then
exit:=true
else
exit:=false;
end;
end.
Збережіть файл модуля під ім'ям zapros.pas у папку з вашою програмою.
Приклад. Нехай є форма із двома текстовими полями й кнопкою. Для кнопки написати код очищення полів. При цьому, використовуючи функцію модуля видати запит на виконання операції. Також при закритті форми, використовуючи функцію модуля видати запит на вихід із програми.
Спочатку в коді форми в розділі Uses потрібно підключити модуль Zapros.
Для кнопки в події OnClick напишемо код:
procedure Tform1.Button1Click(Sender: Tobject);
begin
//якщо функція рівна true
if clear_data=true then
begin
edit1.text:='';
edit2.text:='';
end;
end;
Для форми в події OnCloseQuery:
procedure Tform1.Formclosequery(Sender: Tobject; var Canclose: Boolean);
begin
canclose:=exit;
end;