
- •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
1. Операції з Com-Сервером Microsoft Excel
Функція, що реалізує механізм доступу до COM-об'єкту, знаходиться у модулі Comobj, який повинен бути підключений у коді модуля.
Потім потрібно описати змінну (краще глобальну) для зберігання посилання на сервер у вигляді:
var e:variant;
Після опису змінної можна створити новий об'єкт COM-сервера за допомогою команди:
e:=createoleobject('excel.application');
Після виконання цього оператора додаток Excel запуститься, але його вікно не відобразиться на екрані монітора. У диспетчері завдань у списку процесів можна побачити, що процес excel.exe запущений і знаходиться в пам'яті комп'ютера.
Щоб вікно програми стало видимим необхідно встановити властивість:
e.visible:=true;
При формуванні звітів властивість Visible краще встановити в значення True тільки для відображення повністю створених книг. Так можна скоротити час створення звітів і підвищити продуктивність роботи додатків.
Запуск або підключення до Excel
Ми розглянули приклад створення нового об'єкта для запуску копії Microsoft Excel. Однак такий підхід має недолік: якщо Excel уже буде запущений користувачем, то виклик функції createoleobject('excel.application') запустить нову копію програми, що веде до нераціональної витрати пам'яті комп'ютера. Для вирішення даної проблеми потрібно мати на увазі, що є функція, яка не створює об'єкт, а підключається до вже існуючого:
e:=getactiveoleobject('excel.application');
Тому перед використання COM-сервера Excel доцільно виконувати створення об'єкта або підключення до об'єкта залежно від стану програми Excel. Правильний підхід при звертанні до Excel наступний:
try
//підключаємося до excel
e:=getactiveoleobject('excel.application');
except
//якщо підключення не вдалося (excel не запущений)
//створюємо новий об'єкт, запускаючи excel
e:=createoleobject('excel.application');
end;
Зазначений код за замовчуванням коректно працює тільки при запуску exe файлу програми. При запуску проекту буде видаватися помилка.
Для роботи коду під час запуску проекту потрібно виконати настроювання Delphi: виконайте команду Tools-Debugger Options, на закладці Language Exception зніміть прапорець Stop On Delphi Exception. Зверніть увагу, що залишати дане настроювання виключеним не рекомендується, тому що після цього Delphi не буде видавати інформативних повідомлень про помилки при невірній роботі програм.
Робота із книгами в Microsoft Excel
Отже, об'єкт Excel завантажений у пам'ять комп'ютера, і в нас є доступ до нього через змінну e:variant. Об'єкт має методи, за допомогою яких можна створювати, відкривати й зберігати книги.
Створення книги
Для створення книги використовують метод:
e.workbooks.add;
Після виконання цього методу буде створена книга на підставі стандартного шаблону.
Викликати методу add можна з аргументом ( ім'ям файлу шаблону). У цьому випадку створюється документ по шаблонові. Для своїх додатків можна створити додаткові шаблони документів, наприклад шаблон форми платіжного доручення або податкової декларації. Надалі, використовуючи метод add із зазначенням на шаблон, легко створити потрібний звіт, заповнюваний інформацією із програми. Використання шаблонів дозволить створювати гнучкі й зручні для користувача додатки в середовищі Delphi.
Приклад. Нехай у теціці із програмою є текака шаблонів з ім'ям Shablon, а в ній файл шаблону з ім'ям anketa.xlt. Створимо нову книгу на основі шаблону.
e.workbooks.add(extractfilepath(application.exename)+'shablon\anketa.xlt');
Збереження книги
Можна програмно зберегти створену книгу на диск. Для цього використовується метод виду:
e.activeworkbook.saveas(filename:='ім'я файлу'[,password:='пароль']);
Метод має аргументи:
filename – ім'я файлу;
password – пароль на відкриття файлу.
filename – ім'я файлу;
password – пароль на відкриття файлу.
Наприклад: відкриємо збережений раніше файл:
e.workbooks.open(filename:=extractfilepath(application.exename)+'output\отчет.xls');
Якщо файл має пароль, то його можна відкрити так:
e.workbooks.open(filename:=extractfilepath(application.exename)+'output\отчет.xls',password:=’123456’);
Закриття книги й додатка Excel
Якщо книга збережена, то її можна закрити за допомогою методу:
e.activeworkbook.close;
Після закриття книги можна закрити й сам додаток Excel. Для цього використовують два оператори:
e.quit;
e:=unassigned;
Використовуючи методи роботи із книгами можна організовувати фонове створення файлів без відображення їх на екрані.
Приклад. На підставі шаблону anketa.xlt з теки shablon створити нову книгу. Зберегти книгу з ім'ям отчет.xls у теку output. Після збереження видати повідомлення про успішне створення файлу й запросити користувача відкрити файл для перегляду. Якщо відповідь позитивна, то файл відкривається, якщо негативна, то Excel закривається.
try
//підключаємося до excel
e:=getactiveoleobject('excel.application');
except
//якщо підключення не вдалося (excel не запущений)
//створюємо новий об'єкт, запускаючи excel
e:=createoleobject('excel.application');
end;
//створюємо нову книгу на основі шаблону
e.workbooks.add(extractfilepath(application.exename)+'shablon\anketa.xlt');
//зберігаємо документ у зазначений файл
e.activeworkbook.saveas(extractfilepath(application.exename)+'output\отчет.xls');
//видаємо запит на відкриття збереженого файлу
if application.messagebox(Файл збережено. відкрити?','Запит',
mb_yesno+mb_iconquestion)=idyes then
//якщо відповідь так, робимо excel видимим
e.visible:=true
else
//якщо відповідь ні, закриваємо документ і excel
begin
e.activeworkbook.close;
e.quit;
e:=unassigned;
end;