Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторні роботи.doc
Скачиваний:
19
Добавлен:
18.03.2015
Размер:
389.12 Кб
Скачать

Крок 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. Відповісти на питання.

Контрольні питання

  1. Як ввести заголовок та іконку додатка? У чому відмінність заголовка додатка та імені файлу, що виконується? Як змінити ім’я файлу додатка, що виконується?

  2. Як створити роздільник компонентів форми? Як створити панель інструментів із кнопками швидкого доступу? Як задати рисунок для кнопки швидкого доступу? Як створити рядок стану форми?

  3. Назвіть головні властивості і методи компонента Memo (масив рядків, кількість символів, прапорець модифікації, методи збереження і зчитування з файлу). Назвіть методи роботи з буфером обміну Windows.

  4. Розкрийте технологію створення головного меню. Як використовувати шаблон меню? Як вставити додатковий пункт меню? Як видалити пункт меню? Який механізм слугує для прискорення доступу до даного пункту меню? Як створити роздільник меню? Як установити клавішу швидкого доступу до команди меню?

  5. Що таке діалоги? Назвіть основні властивості і методи діалогів збереження, відкриття файлів, зміни кольору і шрифту.

Література

1. Александровский А. Delphi 5. Разработка корпоративных приложений. – М.: ДМК, 2000. – 512 с.

2. Архангельский А. Я. Object Pascal в Delphi. – М.: ЗАО «Издательство Бином», 1999. – 224 с.

3. Архангельский А. Я. Программирование в Delphi 6. – М.: ЗАО «Издательство Бином», 2002. – 1120 с.

4. Бобровский С. Delphi 5: Учебный курс. – СПб.: Питер, 2002. – 640 с.

5. Вирт Н. Алгоритмы + структуры данных = программы. – М.: Мир, 1985. – 406 с.

Лабораторна робота № 9

Тема: Створення багатофункціонального текстового процесора.

Мета: Ознайомитись із технологією створення багатофункціонального текстового процесора.

Завдання

Крок 1. Відкриття проекту

Запустіть систему програмування Delphi. Відкрийте проект зі створення одновіконного текстового редактора, що Ви розробляли на попередньому занятті.

Крок 2. Написання коду

  1. Створення нового файлу з попередньою перевіркою збереження поточного файлу.

Для створення інтерфейсу необхідне виведення вікна повідомлення (функція MessageBox), що слугує для підтвердження команд (створення, збереження, відкриття файлу). Викликається вікно таким чином:

Application.MessageBox(‘Текст вікна’, ‘Заголовок вікна’,

комбінація кнопок or іконок вікна);

Для завдання комбінації кнопок Yes – Так, No – Ні, Cancel – Скасувати, що відображаються на поверхні вікна повідомлення, використовується константа MB_YESNOCANCEL.

Для завдання іконки попередження (icon warning) використовується константа MB_ICONWARNING.

При цьому функція MessageBox повертає код натиснутої клавіші (IDYES, IDNO, IDCANCEL), який використовується для подальшого аналізу.

Згенеруйте процедуру оброблення команди New меню File і введіть туди наступний код (при написанні оброблювачів змінюйте імена команд із прийнятих за умовчання New1, Save1, Open1, SaveAs1 на New, Save, Open, SaveAs і т. ін.):

procedure TEditor.NewClick(Sender: TObject);

Var Result : Integer;

begin

If Memo.Modified Then //Якщо були зміни у редакторі Memo

begin // Генерація вікна повідомлення MessageBox

Result := Application.MessageBox(‘Зберегти зміни?’,

Підтвердження збереження’,

MB_YESNOCANCEL or MB_ICONWARNING);

// Якщо натиснута кнопкаТак

// викликати оброблювач збереження SaveClick

If Result = IDYES Then SaveClick(Sender);

// Інакше повернутися до попереднього режиму роботи

If Result = IDCANCEL Then Exit;

end;

// Стирання рядків у компоненті Memo, якщо вони є

If Memo.Lines.Count > 0 Then Memo.Clear;

// Установити значення FileName діалогу SaveDialog

// у порожній рядок (тобто файл ще не збережений)

SaveDialog.FileName := ‘‘;

end;

  1. Створення процедури оброблення команди Open меню File. Перший блок оброблювача повинен перевірити, чи був змінений зміст компонента Memo і, якщо так, викликати діалог збереження. Цей блок програми ідентичний введеному в процедурі оброблення команди New, тому можна просто викликати процедуру оброблення:

NewClick(Sender);

Далі необхідно викликати діалог FileOpen. Якщо у ньому натиснута кнопка Ok – відкрити файл за допомогою методу LoadFromFile;

NewClick(Sender); // Викликати оброблювач очищення вікна

// Очистити властивість FileName

OpenDialog.FileName := ‘‘;

If OpenDialog.Execute Then // Якщо здійснений вибір файлу

begin

// Завантажити у редактор зміст файлу,

// обраного в діалозі

Memo.Lines.LoadFromFile(OpenDialog.FileName);

// Присвоїти імені файлу в діалозі збереження

// ім’я файлу, обраного у діалозі відкриття

SaveDialog.FileName := OpenDialog.FileName;

end;

  1. Процедура оброблення для команди меню Save повинна містити наступний код:

// Якщо ім’я файлу вже було введене

If SaveDialog.FileName <> ‘’ Then

begin

// Зберегти файл

Memo.Lines.SaveToFile(SaveDialog.FileName);

// Обнулити прапорець модифікації тексту

Memo.Modified := false;

end

// Інакше викликати діалог Зберегти Як

else SaveAsClick(Sender);

  1. Процедура оброблення команди меню SaveAs (Зберегти Як) містить наступний код:

If SaveDialog.Execute Then

begin

Memo.Lines.SaveToFile(SaveDialog.FileName);

Memo.Modified := false;

end;

  1. Використовуючи Інспектор об’єктів, поставте у відповідність кнопкам швидкого доступу на панелі інструментів написані процедури оброблення команд Open і Save.

  2. Напишіть процедуру оброблення для пункту меню Exit, вона складається з виклику одного методу Close;

  3. Для процедури оброблення пункту меню Cut введіть Memo.CutToClipboard; для Copy введіть Memo.CopyToClipboard; для Paste введіть Memo.PasteFromClipboard; для Select All введіть Memo.SelectAll;

  4. Збережіть проект (File → Save All). Запустіть додаток і вивчіть його властивості.

Крок 3. Створення вікна About. Вікно About містить стислу інформацію про додаток (назву, версію програми, ім’я розробника, відомості про авторські права, а також значок додатка). Вікно About звичайно має одну кнопку – Ok.

  1. Згенеруйте процедуру оброблення пункту About меню Help і введіть туди наступний код: AboutBox.ShowModal;

ShowModal – метод відображення на екрані модального вікна. Модальним називається вікно, що дозволяє продовжити роботу з додатком тільки після свого закриття.

  1. Створіть нову форму для діалогового вікна About (для цього натисніть кнопку New Form на панелі інструментів). Збережіть модуль з ім’ям About.

  2. Зменште розмір нової форми до розмірів типового вікна About. Змініть ім’я нової форми на AboutBox, заголовок (Caption) на ‘Про програму…

  3. Властивість BorderStyle установіть в bsDialog (це зробить неможливим зміну розмірів вікна).

  4. Розташуйте на формі кілька текстових міток Label (палітра Standard) і введіть у них необхідні відомості про програму (для зміни шрифту використовуйте властивість Font компонента Label).

  5. Розташуйте на формі (ліворуч від тексту) компонент Image (палітра Additional). Використовуючи кнопку “…” властивості Picture завантажте іконку додатка (папка \Program Files\ Common Files\ Borland Shared\ Images\ Icons). Розташуйте іконку належним чином.

  6. Розташуйте на формі About кнопку BitBtn (палітра Additional). Властивість Kind кнопки установіть у bkOk. Для кнопки BitBtn не треба писати процедуру оброблення – вона вже містить у собі код закриття форми.

  7. Останньою рисою в оформленні вікна About може стати розташування на формі компонента Bevel (палітра Additional). Обведіть за допомогою Bevel рядки тексту – це придасть формі об’ємний вигляд. Властивість Shape змініть на bsFrame.

  8. Для того, щоб викликати вікно About із головного модуля необхідно в рядок Uses додати ім’я модуля About. Це можна зробити й автоматично: у головному модулі програми виберіть у меню File пункт Use Unit і натисніть ліву кнопку миші у діалоговому вікні на модулі About.