- •Лабораторна робота № 1 Тема: "Створення шаблонів форм і їх використання в нових проектах"
- •Лабораторна робота № 2 Тема: "Прийоми обробки однотипних компонентів "
- •Лабораторна робота № 3 Тема: Створення незалежних модулів для зберігання незалежних процедур
- •Лабораторна робота № 4 Тема: "Створення шаблонів компонентів"
- •Лабораторна робота № 5 Тема: "Створення динамічної бібліотеки процедур"
- •Лабораторна робота № 6 Тема: "Створення програм із зовнішніми компонентами"
- •Лабораторна робота № 7 Тема: "Створення інформаційної системи за технологією файлового сервера"
- •Лабораторна робота № 8 Тема: "Створення інформаційної системи за технологією клієнт/сервер"
- •Лабораторна робота № 9 Тема: "Робота з базами даних серверної субд"
- •Лабораторна робота № 10 Тема: "Обробка таблиці клієнт/серверної субд за допомогою запитів"
- •Лабораторна робота № 11 Тема: «Робота з com сервером Microsoft Word»
- •Лабораторна робота № 12 Тема: «Робота з com сервером Microsoft Excel»
- •Лабораторна робота № 13 Тема роботи: Створення довідкової системи та її інтеграція в програму
Лабораторна робота № 4 Тема: "Створення шаблонів компонентів"
Ціль роботи: отримати практичні навички по створенню й повторному використанню шаблонів компонентів
Хід роботи
1. На формі створіть групу компонентів для форматування тексту:
Рамка, на якій розташовуються всі компоненти форматування, автоматично прив’язується до правої частини форми.
Перший список дозволяє вказати шрифт, другий - розмір символів, третій - колір символів.
Перший список автоматично заповнюється шрифтами, установленими в Windows і не може бути порожнім.
Другий список заповнений довільними цілими значеннями. Користувач може ввести власні значення, але тільки числа. Список не може бути порожнім.
Третій список дозволяє вибрати один зі стандартних кольорів або вибрати користувацький колір з палітри.
Кнопка застосовує обране форматування до компонента типу Tmemo.
Вказівки: Для створення рамки на формі розмістіть компонент Groupbox (Standard) і задайте властивості: Align=alright, Caption=Формат.
На рамку нанесіть три компоненти Label (Standard) і у властивості Caption укажіть потрібні тексти написів для списків.
Список Шрифт
На панель нанесіть компонент Combobox (Standard) і задайте властивість Text=MS Sans Serif. Список повинен заповнюватися переліком шрифтів Windows. Для заповнення скористаємося подією списку Ondropdown. Ця подія наступає, коли список розкривається.
procedure Tform1.Combobox1Dropdown(Sender: Tobject);
begin
//список заповнюється переліком шрифтів
combobox1.items:=screen.fonts;
end;
Список не може бути порожнім. Якщо при виходу зі списку він виявиться порожнім, потрібно відобразити в ньому деяке значення за замовчуванням. При виході зі списку для нього наступає подія Onexit.
procedure Tform1.Combobox1Exit(Sender: Tobject);
begin
//якщо при виході поле списку порожнє
if combobox1.text='' then
//якщо список містить перелік значень (count - кількість елементів)
if combobox1.Items.Count >0 then
//відображаємо в списку перше значення (нумерація з 0)
combobox1.itemindex:=0
//інакше, якщо в списку немає значень (count=0)
else
//відображаємо в списку конкретну назву шрифту
combobox1.Text:='MS Sans Serif';
end;
Список Розмір
На панель нанесіть компонент Combobox (Standard) і задайте властивість Text=8. Список повинен заповнюватися конкретним переліком розмірів символів, тому у властивості Items списку введіть потрібні розміри.
Список не може бути порожнім. Якщо при виході зі списку він виявиться порожнім, потрібно відобразити в ньому деяке значення за замовчуванням. При виході зі списку для нього наступає подія Onexit.
procedure Tform1.Combobox2Exit(Sender: Tobject);
begin
//якщо список порожній
if combobox2.text='' then
//відображаємо в ньому перший елемент (нумерація з 0)
combobox2.itemindex:=0;
end;
Поле списку можна заповнювати із клавіатури, але вводити допускається тільки цілі числа. У події Onkeypress списку напишемо це обмеження.
procedure Tform1.Combobox2Keypress(Sender: Tobject; var Key: Char);
begin
//якщо введений символ не цифра й не Backspace (#8)
if not (key in['0'..'9',#8]) then
//то символ заміняється на порожній (не відображається в полі)
key:=#0;
end;
Список Колір
Нанесіть на форму компонент Colorbox (Additional). За замовчуванням список містить стандартний набір кольорів. Щоб користувач міг указати будь-який відтінок, для списку вкажіть властивість Style - cbcustomcolor=true. У результаті в списку першим рядком з'явиться елемент Custom, який викликає на екран вікно діалогу вибору кольору.
Кнопка Застосувати
Нанесіть на форму компонент Button (Standard) і задайте властивість Caption = Застосувати.
Кнопка повинна застосовувати указані параметри форматування до будь-якого компонента типу Tmemo. Для кнопки напишемо універсальну процедуру:
procedure Tform1.Button1Click(Sender: Tobject);
//змінна для лічильника циклу
var i:integer;
begin
//у циклі проходимо по всіх компонентах форми
for i:=0 to controlcount-1 do
begin
//якщо i-й компонент це компонент типу Tmemo
if controls[i].Classname ='Tmemo' then
begin
//застосовуємо до i-ого компонента параметри форматування
tmemo(controls[i]).Font.Name:=combobox1.Text;
tmemo(controls[i]).Font.Size:=strtoint(combobox2.Text);
tmemo(controls[i]).Font.Color:=colorbox1.Selected;
//достроково завершуємо роботу циклу
exit;
end;
end;
end;
2. Необхідно зберегти створену групу компонентів як шаблон.
Вказівки: Виділіть створену панель і виконайте команду Component - Create Component Template...
З'явиться вікно, у якому введіть ім'я шаблону, укажіть ім'я закладки, де шаблон буде розміщений і за допомогою кнопки Custom укажіть малюнок для іконки шаблону (рисунок розмір 24х24 і формат BMP).
На малюнку шаблон буде мати ім'я Format і буде розмісщений на закладці Standard.
3. Створіть програму для демонстрації використання шаблону.
Вказівки: За допомогою команди File - New - Application створіть новий проект. На формі розмістіть створений вами шаблон і компонент Memo, для якого задайте властивості: Align = alclient, Lines очистити. Переконайтеся, що не написавши ні одного рядка коду, функція форматування тексту працює автоматично.
4. Повторіть створення ще для однієї подібної програми й переконайтеся, що новий додаток також працює без написання коду.
