
- •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
2. Створення dll бібліотеки в Delphi
Створення DLL починається з виконання команди File - New - Other і вибору у вікні New Items на сторінці New піктограми DLL Wisard.
У результаті у вікні Редактора Коду ви побачите текст:
library Projectl;
{текст
коментаря}
uses
список модулів;
{SR *.res}
реалізація підпрограм
exports
підпрограма1, підпрограма2, . . ., підпрограмаn;
end.
Ця заготовка DLL дуже схожа на заготовку модуля. Основна відмінність - ключове слово library замість unit у першому рядку. Збережіть ваш проект у якусь відведену вами для цього теку, назвавши файл, що зберігається, тим же ім'ям, яке зазначено після ключового слова library. При комяіляції проекту із ключовим словом library створюється файл бібліотеки з розширенням.dll
Кожна підпрограма оформляється звичайним способом, але в заголовку вказується додатковий параметр:
function ім'я_функції (параметри):тип; stdcall;
procedure ім'я_процедури (параметри); stdcall;
У розділі exports через кому вказують список імен підпрограм, які можна викликати зі створеної DLL бібліотеки. Крім експортованих функцій в DLL можуть бути описані якісь допоміжні підпрограми, призначені тільки для внутрішнього використання усередині DLL. Такі утиліти в розділ exports не включаються.
Розглянемо приклад створення демонстраційної DLL.
У бібліотеці створимо дві функції. Одна буде викликати діалог виходу із програми, а друга буде підсумовувати два довільні числа.
library primer;
uses
Windows, Messages, Sysutils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Stdctrls;
{$R *.res}
//функція видачі діалогу на вихід із програми
function exit:boolean; stdcall;
begin
if application.Messagebox('Вийти із програми?', 'Підтвердьте', mb_yesno+mb_iconquestion)=idyes then
exit:=true
else
exit:=false;
end;
//функція підсумовування двох чисел
function sum(a,b:real):real; stdcall;
begin
sum:=a+b;
end;
exports
exit, sum;
end.
Після створення бібліотеки її компілюють за допомогою команди Project - Build.... Якщо помилок немає, те в теці із проектом буде створений файл .DLL
3. Внесення форм в dll
У розглянутому прикладі ми додали в DLL функції. Тепер подивимося, як можна ввести в DLL якісь форми. Це має сенс, якщо в серії ваших додатків використовуються деякі стандартизовані вами форми діалогів, наприклад, форма введення пароля. Недоцільно вводити таку форму в кожний додаток. Більш ощадливо помістити її в DLL і викликати із усіх додатків, у яких вона буде потрібно. До того ж, якщо із часом ви вирішили змінити цю форму, вам достатньо буде змінити тільки DLL, а всі додатки можуть залишатися незмінними.
Давайте введемо в нашу DLL просту форму діалогу, що запитує ім'я користувача. Виконайте команду File - New - Form, яка включить у вашу DLL нову форму. Перенесіть на форму компонент Label (Standard), вікно редагування Edit (Standard) і кнопку Button (Standard). Збережемо форму у файл під ім'ям frmlogin.
Збережіть модуль форми. У модулі форми для форми напишемо команду:
close;
У коді DLL потрібно підключити модуль створеної форми (після додавання форми в проект DLL її модуль буде підключений автоматично).
Також потрібно створити строкову функцію, яка запам'ятовує введений пароль.
function parol:string; stdcall;
//описуємо змінну для роботи з формою
var form:tform1;
begin
//створюємо екземпляр форми в пам'яті
form:=tform1.create(nil);
//відображаємо форму як модальну
form.showmodal;
//функції привласнюємо введений пароль
parol:=form.edit1.text;
//видаляємо форму з пам'яті
form.free;
end;
Після створення функції не забудьте додати ім'я цієї функції в розділ exports.
Якщо всі дії виконані, то за допомогою команди Project-Build... перекомпілюйте текст бібліотеки у файл DLL.
Подібним чином можна створити декілька форм і розмістити їх у бібліотеках DLL. При цьому форми можуть мати свій власний код, необхідний для їхньої роботи.