Крок 1. Створення нового проекту. 1. Створіть новий проект (меню File, підпункт New Application).
1. Створіть новий проект (меню File, підпункт New Application).
2. Змініть ім’я (Name) головної форми (значення якого за умовчання Form1) на Editor (зверніть увагу, що при цьому автоматично змінилося і значення властивості Caption – заголовка форми).
3. Виберіть у головному меню Delphi пункт Project, підпункт Options, вкладку Application і введіть ім’я (Title) додатка: Editor, а також завантажте іконку додатка (кнопка Load Icon) із папки \Program Files\ Common Files\ Borland Shared\ Images\ Icons... Ім’я додатка (Editor) та обрана іконка будуть відображатися на панелі задач під час роботи програми. Примітка. Ім’я файлу, що виконується (воно збігається з ім’ям проекту, за умовчання, Project1) може відрізнятися від імені додатка.
4. Для форми можна вибрати іншу іконку (для цього треба натиснути кнопку «…» властивості Icon форми Editor). Додаток може складатися з декількох форм, при цьому для кожної форми можна вибрати окрему іконку.
Крок 2. Створення панелі інструментів
1. Створення роздільника. Розташуйте на формі компонент Bevel – роздільник (вкладка Additional). Встановіть значення властивості Height (висота) рівним 2, а значення властивості Align (вирівнювання) в alTop (вздовж верхнього краю). Роздільник розташується вздовж верхнього краю форми.
2. Створення контейнера панелі інструментів. Розташуйте на формі компонент Panel – панель (вкладка Standard), встановіть значення властивості Height рівним 32; значення властивості Align в alTop; змініть Name на ToolBar (панель інструментів) і зітріть значення властивості Caption; властивість BevelOuter (що визначає зовнішній вигляд панелі) установіть в bvNone.
3. Заповнення панелі. Розташуйте на панелі (не на формі!) компонент SpeedButton – кнопку швидкого доступу (вкладка Additional). Змініть її ім’я (Name) на FileOpenBtn (кнопка відкриття файлу); Left установіть в 5; за допомогою палітри Alignment Palette (пункт головного меню View) вирівняйте кнопку вертикально (Center Vertically in Window). Натисніть кнопку «…» властивості Glyph компонента SpeedButton і зчитайте рисунок кнопки (він знаходиться у файлі fileopen.bmp у папці \Program Files\ Common Files\ Borland Shared\ Images\ Buttons).
4. Повторіть пункт 3 і додайте на панель кнопку для збереження файлів (розташуєте її праворуч кнопки відкриття файлу). Назвіть кнопку FileSaveBtn і використайте рисунок з файлу filesave.bmp для властивості Glyph.
Крок 3. Створення рядка стану
Розмістіть на формі компонент StatusBar – рядок стану (вкладка Win32). Компонент розташується вздовж нижнього краю форми. Змініть значення властивості Name на StatusBar, властивість SimplePanel (проста панель) установіть в true. Основною властивістю панелі StatusBar є SimpleText – текст рядка стану.
Крок 4. Створення елемента управління редагуванням
1. Розташуйте на формі компонент Memo – текстовий редактор (вкладка Standard). Змініть властивість Name на Memo. Зітріть слово Memo з компонента Memo (для цього скористайтесь кнопкою «…» властивості Lines). Змініть значення властивості Align (вирівнювання) в alClient – компонент заповнить усю робочу область форми. Встановіть значення властивості ScrollBar на ssVertical – у компонента з’явиться вертикальна смуга прокручування.
Додаткова інформація.Основною властивістю Memo є Lines – масив рядків, що містять текст компонента. У свою чергу Lines має властивість Count – загальна кількість символів компонента.
У властивості Lines також є два важливих методи: LoadFromFile; (читати з файлу) і SaveToFile; (записати у файл).
Властивість Modified (модифікований) компонента Memo вказує, чи змінився його зміст після останнього встановлення властивості Modified в false. Після збереження змісту Memo у файлі властивість Modified необхідно встановити в false.
Для очищення змісту компонента Memo використовують метод Clear.
Є також група методів для роботи з буфером обміну (Clipboard): CutToClipboard; – вирізати, CopyToClipboard; – копіювати, PasteFromClipboard; – вставити.
Усі ці властивості і методи доступні тільки під час виконання програми і не відображаються в інспекторі об’єктів (вони необхідні для написання коду програми).
2. Збережіть проект в особистій папці (File → Save All). Запустіть додаток і вивчіть його властивості.
Крок 5. Створення головного меню
1. Розташуйте на формі (у будь-якій точці) компонент MainMenu (вкладка Standard) і змініть його ім’я на MainMenu. Двічі натисніть ліву кнопку миші на компоненті MainMenu для виклику дизайнера меню (Editor.MainMenu) та, використовуючи контекстне меню (права кнопка миші), виберіть пункт Insert From Template… У вікні, що розкрилося, виберіть пункт File Menu і воно автоматично вмонтується в головну форму.
2. Аналогічно пункту 1 виберіть із шаблона (Insert From Template…) меню Edit Menu (меню редагування) і Help Menu (меню допомоги).
Видаліть непотрібні пункти меню (клавіша Delete). У меню File залиште New, Open, Save, Save As, Exit; у меню Edit – Cut, Copy, Paste; у меню Help – About.
У меню Edit вставте додатковий пункт (клавішею Insert). Введіть ім’я (Name) EditSelectAll, Caption – Select &All (при цьому символ А стане підкресленим: Select All, комбінація Alt+A слугує для прискорення доступу до даного пункту меню).
Перед цим пунктом створіть роздільник меню (для цього у властивість Caption ще одного створеного за допомогою клавіші Insert пункту меню введіть знак «-» і натисніть Enter).
Установіть клавіші швидкого доступу (властивість ShortCut) для пунктів меню: Ctrl+N – New, Ctrl+S – Save, Ctrl+O – Open, Ctrl+A – Select All.
Крок 6. Створення діалогових вікон
1. Розташуйте на формі компоненти OpenDialog (діалог відкриття) і SaveDialog (діалог збереження) з палітри Dialogs. Змініть їх імена на OpenDialog і SaveDialog відповідно. Найважливішою властивістю діалогів збереження і відкриття файлів є FileName (ім’я файлу), обраного у діалозі.
Додаткова інформація.Взагалі, діалогами називають стандартні вікна, що забезпечують різного роду інтерфейс із користувачем. Діалогове вікно зміни кольору називається ColorDialog, шрифту – FontDialog. Наприклад, для використання діалогового вікна зміни кольору необхідно ввести рядки:
ColorDialog.Execute; // Виклик діалогу зміни кольору
Color := ColorDialog.Color; // Присвоєння обраного кольору
При цьому необхідно помістити на форму компонент ColorDialog із палітри Dialogs.
Примітка. Метод Execute всіх діалогів є функцією, що повертає true у тому випадку, якщо у діалозі був зроблений вибір і натиснута клавіша Ok. Тому пишуть:
If ColorDialog.Execute Then Color := ColorDialog.Color;
Що дозволяє використовувати колір тільки у випадку його вибору у діалозі.
Аналогічно використовуються й інші діалоги.
2. Розташуйте на формі компонент FontDialog (палітра Dialogs) і змініть його ім’я на FontDialog.
Помістіть на панель ще одну кнопку SpeedButton (вкладка Additional). Зчитайте рисунок для кнопки (він знаходиться у файлі font.bmp у папці \Program Files\ Common Files\ Borland Shared\ Images\ Buttons).
Створіть процедуру оброблення натискання кнопки SpeedButton, вона повинна містити наступний код:
If FontDialog.Execute Then // Виконати діалог
// Присвоїти шрифту компонента Memo шрифт,
// обраний у діалозі
Memo.Font := FontDialog.Font;
Запустіть додаток і вивчіть можливості використання діалогу зміни шрифту.
Контрольні питання
1. Як ввести заголовок та іконку додатка? У чому відмінність заголовка додатка та імені файлу, що виконується? Як змінити ім’я файлу додатка, що виконується?
2. Як створити роздільник компонентів форми? Як створити панель інструментів із кнопками швидкого доступу? Як задати рисунок для кнопки швидкого доступу? Як створити рядок стану форми?
3. Назвіть головні властивості і методи компонента Memo (масив рядків, кількість символів, прапорець модифікації, методи збереження і зчитування з файлу). Назвіть методи роботи з буфером обміну Windows.
4. Розкрийте технологію створення головного меню. Як використовувати шаблон меню? Як вставити додатковий пункт меню? Як видалити пункт меню? Який механізм слугує для прискорення доступу до даного пункту меню? Як створити роздільник меню? Як установити клавішу швидкого доступу до команди меню?
5. Що таке діалоги? Назвіть основні властивості і методи діалогів збереження, відкриття файлів, зміни кольору і шрифту.
Лабораторна робота № 5
Тема: Створення багатофункціонального текстового процесора.
Мета:Ознайомитись із технологією створення багатофункціонального текстового процесора.
Практичні завдання
Крок 1. Відкриття проекту
Запустіть систему програмування Delphi. Відкрийте проект зі створення одновіконного текстового редактора, що Ви розробляли на попередньому занятті.
Крок 2. Написання коду
1. Створення нового файлу з попередньою перевіркою збереження поточного файлу.
Для створення інтерфейсу необхідне виведення вікна повідомлення (функція MessageBox), що слугує для підтвердження команд (створення, збереження, відкриття файлу). Викликається вікно таким чином:
Application.MessageBox(‘Текст вікна’, ‘Заголовок вікна’,
комбінація кнопок or іконок вікна);
Для завдання комбінації кнопок Yes – Так, No – Ні, Cancel – Скасувати, що відображаються на поверхні вікна повідомлення, використовується константа MB_YESNOCANCEL.
Для завдання іконки попередження (icon warning) використовується константа MB_ICONWARNING.
При цьому функція MessageBox повертає код натиснутої клавіші (IDYES, IDNO, IDCANCEL), який використовується для подальшого аналізу.
Згенеруйте процедуру оброблення команди New меню File і введіть туди наступний код:
procedure TEditor.New1Click(Sender: TObject);
Var Result : Integer;
begin
If Memo.Modified Then //Якщо були зміни у редакторі Memo
begin// Генерація вікна повідомлення MessageBox
Result := Application.MessageBox(‘Зберегти зміни?’,
‘Підтвердження збереження’,