
- •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
Формування таблиці
Робота із шаблонами, розглянута вище, дозволяє створювати звіт тільки для окремого запису таблиці. Набагато частіше звіт створюється для декількох записів одночасно. При цьому дані представляються на одному аркуші у вигляді таблиці-списку. Для розгляду принципу формування списку у вигляді таблиці нам знадобиться ще ряд властивостей і методів сервера Microsoft Excel.
Для звертання до чарунки аркуша використовують властивість:
e.activeworkbook.sheets.item[i].cells[j,k].value
де i - номер рядка, j - номер стовпця.
Для виділення чарунки використовують команду:
e.activeworkbook.sheets.item[i].range['діапазон'].select;
У якості діапазону може виступати як окрема чарунка, так і діапазон чарунок, наприклад:
e.activeworkbook.sheets.item[i].range['A1'].select; //виділяється одна чарунка
e.activeworkbook.sheets.item[i].range['A1:D5'].select; //виділяється діапазон чарунок
Для копіювання виділеного діапазону використовують команду:
e.activeworkbook.sheets.item[i].range['діапазон'].copy;
Для вставки скопійованої інформації з буфера використовують команду:
e.activeworkbook.sheets.item[i].paste;
Приклад. Нехай є шаблон spisok.xlt, який знаходиться в теці shablon. Шаблон має шапку таблиці з полями № з/п, прізвище, ім'я, дата народження. Шапка розташована в першому рядку аркуша.
На підставі даних таблиці БД сформувати список із записів.
try
//підключаємося до Excel
e:=getactiveoleobject('excel.application');
except
//якщо підключення не вдалося (Excel не запущений)
//створюємо новий об'єкт, запускаючи Excel
e:=createoleobject('excel.application');
end;
//виключаємо повідомлення excel
e.displayalerts:=false;
//створюємо нову книгу на підставі шаблону
e.workbooks.add(extractfilepath(application.Exename)+'shablon\spisok.xlt');
//виділяємо шапку таблиці в 1 рядку
e.activeworkbook.sheets.item[1].range['a1:e1'].select;
//копіюємо виділену шапку в буфер обміну
e.activeworkbook.sheets.item[1].range['a1:e1'].copy;
//переходимо на перший запис таблиці
adotable1.first;
//i - номер рядка, у якому перебуває шапка таблиці
i:=1;
//n - номер рядка в списку
n:=0;
//організовуємо цикл по таблиці
while not adotable1.eof do
begin
//збільшуємо число рядків у таблиці
i:=i+1;
//збільшуємо число виведених записів
n:=n+1;
//виділяємо першу чарунку в наступному рядку
e.activeworkbook.sheets.item[1].range['a'+inttostr(i)].select;
//вставляємо у виділену чарунку скопійовану шапку таблиці
e.activeworkbook.sheets.item[1].paste;
//у стовпчик № з/п вставляємо значення лічильника записів
e.activeworkbook.sheets.item[1].cells[i,1].value:=n;
//у стовпчик прізвище вставляємо значення поля fam таблиці БД
e.activeworkbook.sheets.item[1].cells[i,2].value:=adotable1.fieldbyname('fam').asstring;
//у стовпчик ім'я вставляємо значення поля imya таблиці БД
e.activeworkbook.sheets.item[1].cells[i,3].value:=adotable1.fieldbyname('imya').asstring;
//у стовпчик Дата народження вставляємо значення поля datar таблиці БД
e.activeworkbook.sheets.item[1].cells[i,4].value:=adotable1.fieldbyname('datar').asstring;
//переходимо на наступний запис у таблиці
adotable1.Next;
end;
Робота із формулами
Одним з основних переваг Excel є використання формул. Якщо в чарунці написати текст формули, то вона автоматично буде розрахована самою програмою Microsoft Excel.
Для введення формули використовують властивість виду:
e.activeworkbook.sheets.item[1].cells[i,j].formula:='=текст формули';
При введенні формул потрібно враховувати ряд особливостей:
ім'я чарунки записується у вигляді RiCj - де i - номер рядка, а j - номер стовпця;
кожна функція Excel записується в її англомовному варіанті.
Наприклад. У чарунці A3 порахувати суму чарунок A1 і A2.
e.activeworkbook.sheets.item[1].cells[1,3].formula:='=r1c1+r1c2';
Нехай у чарунках A1:A6 знаходяться деякі числові значення. Необхідно порахувати суму значень у цих чарунках і відобразити результат у чарунці А7.
e.activeworkbook.sheets.item[1].cells[7,1].formula:='=sum(r1c1+r6c1)';