Програмування засобами Delphi

Матеріал з Вікі ЦДУ
Перейти до: навігація, пошук

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

Інтегроване середовище розробки (ІСР) системи візуального програмування Delphi. Проекти системи Delphi. Організація та керування проектами.

Мета: ознайомитися з основними елементами інтегрованого середовища розробки (ІСР) системи візуального програмування Delphi . Ознайомитися із структурою групи проекту, навчитися виконувати встановлення параметрів проекту,отримати практичні навички при керуванні проектами.

Хід виконання роботи

  1. Завантажити інтегроване середовище розробки системи візуального програмування Delphi.
  2. Ознайомитися із основними елементами ІСР системи Delphi, принципам роботи з ними.
  3. Створити новий проект та виконати його збереження під назвою Школа_Прізвище в папці Group_3У (де У- номер Вашої підгрупи, наприклад Group_32) папки STUDENTS\3_kurs кореневого каталогу диска D:.
  4. Визначити структуру та параметри головної форми (Main Form) проекту.
  5. Додати нову форму (AboutBox Form) до проекту (зі списку депозитарію шаблонів File/New/ OTHER /Forms/ AboutBox).
  6. Визначити структуру форми AboutBox: назва форми, персоналізована картинка користувача, відомості про автора.
  7. Підключити модулі відповідних форм, та визначити подій: відкриття та закриття вікон форм, проекспериментувати з режимами відкриття форм (звичайний, модальний) та настроюванням головної форми.
  8. Встановити параметри проекту: власного заголовка “Програмний комплекс "Школа"” та певної піктограму проекту. Для налаштування заголовку проекту потрібно зайти в діалоговому вікні Project/Options…на вкладинку Application і увести назву в Title. Для зміни піктограми на тій же вкладниці вибрати Load Icon. Піктограми можна вибрати, зокрема у папці C:\Program Files\Borland\Delphi\Objrepos. Для відображення заголовку та піктограми проекту у вікні Windows потрібно після компіляції проекту виконати команду Project/Build ProjectName.
  9. Для збереження проекту виконати послідовно команди: Save (записуються модулі проекту) та Save Project As (записуються файли проекту). Ті ж дії відбуваються і автоматично, при закритті вікна Delphi.
  10. Відобразити у зошиті протокол розробки проекту: хід роботи та власноруч написані фрагменти програмного коду.

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

  1. Які складові інтегрованого середовища Delphi
  2. Яке призначення палітри компонентів?
  3. Для чого призначено Інспектор об’єктів? Як ним користуватись?
  4. Що таке властивості об’єкта та події?
  5. Яку структуру має модуль?
  6. Яку структуру має проект?
  7. Як вилучити з проекту форму?
  8. Як вивести на екран Project Manager?
  9. Яке призначення Репозиторій шаблонів? Як його знайти?
  10. Як добавити в проект створену форму?
  11. Яке розширення може мати виконавчий файл, отриманий після обробки проекту?
  12. Яка форма за замовченням стає головною формою проекту? Я зробити головною потрібну форму?
  13. Як приєднати до проекту піктограму?
  14. Як створити заготовку процедури обробника події?
  15. Як формується ім’я процедури-обробника?

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

Загальні принципи використання компонентів бібліотеки (VCL) системи Delphi

Мета: ознайомитися із загальними принципами використання компонентів бібліотеки (VCL) системи Delphi та отримати практичні навички роботи з ними.

Хід виконання роботи

  1. Відкрити проект «Школа_Прізвище».
  2. Визначити структуру (варіанти вказані у посібнику) та параметри головної форми проекту (FMain):
    • розміри (вручну),
    • колір (властивість Color),
    • назву (властивість Caption).
  3. Розташувати на головній формі та визначити параметри компонентів класів TLabel та TЕdit, які призначені для уведення та відображення текстової інформації та установити їх параметри згідно із завданням свого варіанту і запропонованого зразку.
  4. Розташувати на головній формі та визначити параметри елементів керування, що відповідають за додавання, редагування, збереження та вилучення даних:
    • Standart / TButton (Caption);
    • Additional / TBitBtn (Caption, Kind);
    • Аdditional / TSpeedButton (Caption, Glyph).
  5. Відобразити у зошиті протокол розробки проекту.

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

  1. Що означає властивість компонентів Name ? Чому вона обов’язково повинна мати якесь значення?
  2. Які компоненти мають властивість Caption? Що вона означає?
  3. Чим відрізняються за призначенням компоненти TLabel та TЕdit?
  4. Яка властивість дозволяє змінювати параметри шрифту? Які з розглянутих компонент мають цю властивість?
  5. Назвіть приклади властивостей відомих вам елементів керування. Що визначають їхні значення?
  6. Які з вивчених компонент здатні викликати подію?

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

Компоненти введення та відображення текстової та чисельної інформації.

Мета: ознайомитись із переліком компонентів бібліотеки системи Delphi; що використовуються для введення та відображення текстової та чисельної інформації; дослідити їх основні властивості та методи; отримати навички їх практичного використання.

Хід виконання роботи

  1. Відкрити проект «Школа_Прізвище».
  2. У власному проекті в головній формі організувати введення даних на основі компонентів внесення TЕdit та їх відображення у компоненті TMemo згідно запропонованого зразка.
  3. Організувати у проекті запис/зчитування даних з компонента TMemo до/з текстового файлу <назва об’єкту>.txt, що розташовується в каталозі Data Вашого власного каталогу (наприклад, Group_3*\Data\ *.txt). Додати у проект компонент «Зчитати дані» класу TButton (TSpeedButton), для зчитування даних з текстового файлу *.txt.
  4. Забезпечити функціональність розміщених на головній формі кнопок (Додавання, Редагування, Збереження, Зчитати дані, Вилучення) у відповідності до їх призначення:
    • Додавання: дані Характеристика1 ... Характеристика3 відображаються у відповідному рядку компонента TMemo, а самі поля TЕdit очищаються.
    • Редагування: зробити компонент TMemo доступним (активним) та передати йому фокус уведення.
    • Вилучення: вилучити виділений фрагмент тексту у полі TMemo.
  5. Організувати в проекті активізацію (недоступність) компонент:
    • Поки не застосована подія OnClik до кнопки Редагування, зробити недоступними поле TMemo та кнопку Вилучення;
    • Якщо застосована подія OnClik до кнопки Додавання, то зробити TMemo недоступним і недоступною кнопку Вилучення;
  6. Додати до проекту кнопки, що дозволили би зчитувати та зберігати дані з текстового файлу <назва об’єкту>.txt. Надання функціональності кнопкам Збереження та Зчитати дані.
  7. Відобразити у зошиті протокол розробки проекту: хід роботи, вікно головної форми з компонентами та їх зміненими властивостями, фрагменти власноруч написаних кодів.

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

  1. Що розуміють під розробкою інтерфейсу проекту?
  2. Що розуміють під функціональністю проекту?
  3. Що таке візуальні та не візуальні компоненти?
  4. Як створити заготовку процедури-оброблювача події?
  5. Як формується ім’я процедури-оброблювача?
  6. Який тип має властивість Enabled?
  7. Як зробити компонент невидимим?
  8. Які є способи уведення даних?
  9. Який метод потрібно використовувати для очистки текста в компонентах?
  10. Для чого призначено текстовий компонент TMemo?
  11. Які Ви знаєте методи для компонента TMemo?

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

Компоненти відображення графічної та мультимедійної інформації. Використання системних діалогів ОС Windows.

Мета:

  • ознайомитись із переліком компонентів відображення графічної та мультимедійної інформації;
  • ознайомитись із переліком компонентів, що відповідають за виклик системних діалогів ОС Windows;
  • дослідити їх основні властивості; отримати навички їх практичного використання.

Хід виконання роботи

  1. Відкрити проект «Школа_Прізвище».
  2. Добавити у проект нову форму «Емблема», яка б містила зображення згідно Вашого варіанту.
  3. Розмістити на формі «Емблема» необхідні компоненти для перегляду та зміни графічної інформації (класи TОpenDialog, TSaveDialog).
  4. Доповнити головну форму засобами забезпечення зв’язку з формою «Емблема».
  5. Визначити перелік параметрів системного діалогу Відкрити у відповідності до запропонованого зразка.
  6. Внести зміни до обробника події OnClick кнопок Відкрити та Зберегти.
  7. Добавити у проект нову форму «Відео», яка б відповідала за перегляд відеоролика про об’єкт.
  8. Розмістити на формі «Відео» необхідні компоненти для відображення мультимедійної інформації з папки Video каталогу Data у відповідності до зразка.
  9. Встановити зв’язок головної форми з формою «Відео».

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

  1. Які компоненти називаються невізуальними?
  2. Які ви знаєте компоненти, що можуть використовуватись для відображення графічних об’єктів?
  3. Що означає властивість Picture? У яких із розглянутих компонент вона є?
  4. Яка властивість компоненту ТMediaPlayer дозволяє організувати виведення відео в відповідну компоненту?
  5. Які основні властивості компонент системних діалогів TОpenDialog та TSaveDialog ?
  6. Що означає метод Execute компонент TОpenDialog та TSaveDialog?
  7. В які компоненти відбувається візуалізація даних із відповідних діалогових вікон?

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

Компоненти відображення графічної інформації. Використання системних діалогів ОС Windows. Елементи керування: перемикачі TCheckBox, TRadioButton

Мета:

  • дослідити властивість Canvas, якою володіють фотми, компоненти Image, PaintBox, BitMap тощо;
  • ознайомитись із переліком компонентів, що відповідають за виклик системних діалогів ОС Windows;
  • дослідити їх основні властивості; отримати навички їх практичного використання.

Хід виконання роботи

  1. Відкрити проект «Школа_Прізвище».
  2. До проекту додати нову форму «Оголошення» для перегляду та редагування графічної інформації.
  3. Доповнити головну форму засобами забезпечення зв’язку з формою «Оголошення».
  4. Розмістити на формі «Оголошення» необхідні компоненти для редагування графічної інформації (класи TCheckBox, TRadioButton, TColorDialog, TFontDialog, тощо).
  5. Реалізувати рисування графічних об’єктів з можливістю зміни товщини лінії, кольору та стилю лінії та заливки:
    Безымянccvnb1q23d.JPG
    • прямої лінії;
    • еліпса;
    • дуги;
    • зафарбованого;
    • внесення текстової інформації;
    • об’єкту «фігура» за варіантами.
  6. Визначити перелік параметрів системного діалогу Завантаження даних у відповідності до запропонованого зразка.
  7. Внести зміни до обробника подій OnMouseDown, OnMouseUp компонента ТImage.
  8. Внести зміни до обробника події OnClick кнопок Завантажити, Зберегти та Нове зображення.

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

  1. Що означає властивість Canvas? У яких компонент вона є?
  2. Як можна вияснити, чи можна малювати по поверхні компонента?
  3. Які дії генерують події OnMouseDown і OnMouseUp?
  4. Які компоненти служать контейнерами для інших компонент?
  5. В яких випадках використовуються кнопки CheckBox?
  6. В яких випадках використовуються кнопки RadioButton?
  7. Що означає властивість Checked кнопок CheckBox і RadioButton?
  8. Яка властивість RadioGroup визначає кількість кнопок та їх назви?
  9. Чим відрізняються контейнери GroupBox і RadioGroup?
  10. Які оператори найчастіше використовуються для обслуговування залежних та незалежних перемикачів?

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

Використання головного і контекстного меню, панелей інструментів, інформаційного рядка. Елементи керування: ActionList. Мета:

  • ознайомитись із переліком компонентів, що відповідають за виклик меню;
  • дослідити їх основні властивості; отримати навички їх практичного використання.
  • дослідити компоненти для відображення панелей інструментів та інформаційного рядка.

Хід виконання роботи

  1. Відкрити проект «Школа_Прізвище».
  2. Створити на головній формі MainMenu.
  3. Замінити на головній формі компонент для звіту Memo на компонент RichEdit і внести змін у відповідні процедури. Створити для RichEdit контекстне меню.
  4. Створити на головній формі панель інструментів.
  5. Створити на формах меню, панелі інструментів.
  6. Внести зміни до оформлення проекту, зокрема для компонентів, дії яких дублюються в меню, встановити властивість Visible=False.
  7. Створити на головній формі інформаційний рядок StatusBar, що містив би інформацію про кількість рядків у звіті (RichEdit) тощо.

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

  1. Яка основна властивість компоненту MainMenu?
  2. Як прив’язати контекстне меню до конкретних компонентів?
  3. Чи може бути в одній формі декілька компонентів ТPopupMenu?
  4. Як змінити піктограми у кнопок компонента ToolBar?
  5. Яка властивість кнопок дозволяє дублювати дії головного або контекстного меню?
  6. Для чого використовується компонент ActionList?

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

Використання списків. Мета:

  • ознайомитись із переліком компонентів, що відповідають за роботу списків;
  • ознайомитись із переліком компонентів, що відповідають за роботу з датами і часом;
  • дослідити їх основні властивості; отримати навички їх практичного використання.

Хід виконання роботи

  1. Відкрити проект «Школа_Прізвище».
  2. Внести зміни на головній формі таким чином, щоб була можливість за допомогою ТListBox чи ТComboBox вибрати:
Варіант Об’єкти
1 Назву класу, № класної аудиторії
2 Назву школи, ПІБ куратора практики
3 ПІБ учня, Обов’язки
4 Назва класу, ПІБ класного керівника
5 Назва класу, ПІБ старости
6 Назва класу, № класної аудиторії
7 ПІБ старости, № класної аудиторії
8 Назва гуртка, ПІБ керівника
9 Назва класу, № класної аудиторії
10 Назва школи, Тел. школи
11 Назва екскурсії, Туристична фірма
  1. Реалізувати роботу зі списками панелей інструментів (наприклад, вибір розміру шрифту).
  2. Використовуючи компоненти TDateTimePicker, ТMonthCalendar реалізувати роботу з календарем. Забезпечити можливість добавлення дати в оголошення. 5. Зберегти і закрити проект.
  3. Створити новий проект «Файловий менеджер».
  4. Програма «Файловий менеджер» повинна мати заставку, головне меню, пункт меню «Про програму», компоненти повинні бути проіменовані з використанням префіксної форми, діалогові вікна (заставка, «Про програму») повинні створюватися динамічно. Програма має реалізовувати такі функції: копіювання, перенесення, видалення, визначення розміру файлу, повідомлення про помилки.

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

  1. Які види кнопок-перемикачів Ви знаєте?
  2. Яке призначення компонентів TcheckBox, TRadiogroup, ТListBox, ТComboBox?
  3. Яке призначення компонентів TFileListBox, TDirectoryListBox, TDitectoreOutline, TFilterComboBox, TDriveComboBox?
  4. Які властивості і значення компонента TDateTimePicker?
  5. Які властивості і значення компонента TMonthCalendar?
  6. Як здійснюється корегування дати і часу?
  7. Яка властивість дозволяє змінювати зовнішній вигляд календаря ?

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

Компонент TStringGrid. Обробка таблиць Мета: ознайомитися з компонентом TStringGrid та його властивостями; навчитися використовувати компоненти для задач на обробку масивів.

Хід виконання роботи

1. Створити новий проект «Таблиці_Прізвище». На головній формі за допомогою компонента TPageControl створити 4 закладки. Примітка: нова закладка створюється вибором в контекстному меню компонента команди New Page (створюється об’єкт TabSheet). 2. Першу закладку назвати «Обробка таблиці» та розмістити в ній компонент TStringGrid для відображення таблиці та компоненти для її обробки (у вигляді кнопок або головного меню чи панелі інструментів). 3. Забезпечити можливість обробки таблиці (уведення даних, можливість їх редагування, та індивідуальне завдання за варіантом). Примітка: передбачити уведення даних випадковим чином та вручну. 4. Передбачити обробку виключної ситуації при уведенні в комірку таблиці нечислових даних

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

1. Запишіть оператор для занесення даних в комірку компонента StringGrid, розташовану в другому рядку і третьому стовпці. 2. Яке призначення компонента DrawGrid? 3. Пояснить використання функцій FloatToStrF и StrToFloat. 4. Які властивості StringGrid доступні на етапі редагування компонента? 5. Які властивості StringGrid доступні на етапі виконання програми? 6. Як отримати доступ до деякої комірки? 7. Як організувати перевірку коректності введення даних в таблицю? 8. Які відмінності між компонентами DrawGrid і StringGrid? 9. Який метод призначений для зафарбовування комірок таблиці? 10. Як здійснити зафарбовування комірки таблиці? Декількох комірок? 11. У яких випадках використовується блок обробки виключних ситуацій try .. except? 12. У яких випадках використовується блок обробки виключних ситуацій try .. finally?