
- •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
Використання шаблону для формування документів
Шаблони є самим зручним способом формування документів Word. Розроблювач може створити багато шаблонів, у яких задати розташування текстових блоків і їх форматування. Шаблон може містити як постійні елементи, так і елементи-змінні, на місце яких буде підставлятися інший текст при формуванні документа. Такі змінні повинні мати якісь унікальні в межах шаблону імена (наприклад: #fam#, #imya#, #otch# і т.п.).
Програма може знайти ці імена змінних і замінити їх на зазначений текст за допомогою коду:
w.selection.find.text:=ім'я_змінної;
w.selection.find.replacement.text:=нове_значення;
w.selection.find.execute(replace:=2);
Наприклад, нехай у шаблоні anketa.dot з теки shablon є змінні: #fam#, #imya#, #otch#, #datar#. Необхідно на їхнє місце підставити значення Іванов, Іван, Іванович.
//запускаємо Word
w:=createoleobject('word.application');
//створюємо новий документ на підставі шаблону
w.documents.add(extractfilepath(application.Exename)+'shablon\anketa.dot');
//заміняємо #fam# на Іванов
w.selection.find.text:=’#fam#’;
w.selection.find.replacement.text:=’Іванов’;
w.selection.find.execute(replace:=2);
//заміняємо #imya# на Іван
w.selection.find.text:=’#imya#’;
w.selection.find.replacement.text:=’Іван’;
w.selection.find.execute(replace:=2);
//заміняємо #otch# на Іванович
w.selection.find.text:=’#otch#’;
w.selection.find.replacement.text:=’Іванович’;
w.selection.find.execute(replace:=2);
//робимо документ видимим
w.visible:=true;
Замість змінних у шаблон можна підставляти не тільки конкретні значення, а й уміст полів БД. Такий підхід дозволяє створювати звіти по БД із експортом їх в Word.
Приклад. Нехай у шаблоні anketa.dot з теки shablon є змінні: #fam#, #imya#, #otch#, #datar#. Необхідно на їхнє місце підставити значення полів fam, tab, otch, datar з поточного запису таблиці БД. Для цього напишемо код:
//запускаємо Word
w:=createoleobject('word.application');
//створюємо новий документ на підставі шаблону
w.documents.add(extractfilepath(application.Exename)+'shablon\anketa.dot');
//заміняємо #fam# на поле fam
w.selection.find.text:=’#fam#’;
w.selection.find.replacement.text:=ztable1.fieldbyname(‘fam’).asstring;
w.selection.find.execute(replace:=2);
//заміняємо #imya# на поле imya
w.selection.find.text:=’#imya#’;
w.selection.find.replacement.text:=ztable1.fieldbyname(‘imya’).asstring;
w.selection.find.execute(replace:=2);
//заміняємо #otch# на поле otch
w.selection.find.text:=’#otch#’;
w.selection.find.replacement.text:=ztable1.fieldbyname(‘otch’).asstring;
w.selection.find.execute(replace:=2);
//заміняємо #datar# на поле datar
w.selection.find.text:=’#datar#’;
w.selection.find.replacement.text:=ztable1.fieldbyname(‘datar’).asstring;
w.selection.find.execute(replace:=2);
//робимо документ видимим
w.visible:=true;
Приклад. Нехай за допомогою компонента ZQuery1 на формі відібрані потрібні записи (виконана фільтрація). Необхідно для кожного знайденого запису сформувати свій окремий файл на підставі шаблону anketa.dot.
//запускаємо Word
w:=createoleobject('word.application');
//стаємо на перший знайдений запис
zquery1.first;.
//у циклі проходимо по всіх знайдених записах
while not zquery1.eof do
begin
//створюємо новий документ на підставі шаблону
w.documents.add(extractfilepath(application.Exename)+'shablon\anketa.dot');
//заміняємо #fam# на поле fam
w.selection.find.text:=’#fam#’;
w.selection.find.replacement.text:=zquery1.fieldbyname(‘fam’).asstring;
w.selection.find.execute(replace:=2);
//заміняємо #imya# на поле imya
w.selection.find.text:=’#imya#’;
w.selection.find.replacement.text:=zquery1.fieldbyname(‘imya’).asstring;
w.selection.find.execute(replace:=2);
//заміняємо #otch# на поле otch
w.selection.find.text:=’#otch#’;
w.selection.find.replacement.text:=zquery1.fieldbyname(‘otch’).asstring;
w.selection.find.execute(replace:=2);
//заміняємо #datar# на поле datar
w.selection.find.text:=’#datar#’;
w.selection.find.replacement.text:=zquery1.fieldbyname(‘datar’).asstring;
w.selection.find.execute(replace:=2);
//переходимо на наступний знайдений запис
zquery1.next;
end;
//робимо документ видимим
w.visible:=true;