Практична робота №5

Тема:Панель

Мета:Створити програму, у якій Ви використаєте панель для статичних написів на формі. Використання властивостей панелі за метою декоративного оформлення проекту

 

Теоретичні відомості

У процесі виконання лабораторної роботи потрібно створити форму, помістити на форму компонент TPanel. Tpanel має властивості BevelInner, BevelOuter та BorderWidth, використання цих властивостей дозволить Вам створювати панелі різних форм. Створіть ще одну форму, а на панель помістіть кнопку, при натисканні на яку б відкривалась ця форма. При кліку на панелі повинен змінюватись колір напису на панелі, та повинен відкриватись малюнок. Напис створіть за допомогою розміщення на панелі мітки, а малюнок за допомогою прив`язки до проекту раніше створеного малюнку. Розмістіть також на формі таймер. Спочатку вимкніть його. Напишіть процедуру для кліка на панелі. Також напишіть процедуру, яка б змінювала колір шрифту на панелі. Таймер потрібний для того, щоб через деякий проміжок часу колір шрифту на панелі змінився на первинний. Напишіть процедуру для обробки таймеру. Форма повинна ще утримувати на собі три мітки, та дві кнопки. Для кожної кнопки потрібно написати відповідну процедуру.

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

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

Звіт з даної лабораторної роботи повинен утримувати малюнки, які б давали уяву про роботу цієї програми.

 

Необхідні теоретичні відомості для практичної роботи:

 

У цій вправі Ви використаєте панелі для статичних (незмінних) написів на формі. Використання властивостей панелі з метою декоративного оформлення проекту.

Основне призначення панелі - контейнер для групи об'єктів на формі. Серед інших способів застосування панелі розглянемо можливість використовувати її для висновку текстів.

Створіть проект. У Рядку заголовка запишіть: «Використання панелі» (властивість Caption). Дайте формі ім'я: FormPanel (властивість Name). Збережіть модуль і проект під іменами UnitPanel і ProjectPanel у папці “Панель”.

Помістіть на форму компонент TPanel (панель) зі сторінки Standard (стандартні). Властивість панелі Bevellnner визначає опуклий, утоплений чи плоский вид внутрішньої частини панелі. Властивість BevelOuter визначає опуклий, утоплений чи плоский вид обрамлення панелі. Властивість BevelWidth визначає ширину обрамлення в пікселях. Властивість Border Width визначає відстань у пікселях між зовнішньою і внутрішньою крайами обрамлення. Варіювання цими властивостями дозволяє створювати панелі різноманітні форми. За допомогою властивості Caption (заголовок) на панелі відображається текст. На рис. 18. представлені деякі способи оформлення панелі, що використовують вищевказані властивості, і на панелях написані коментарі до застосування цих властивостей. Створіть у своєму проекті такі ж панелі, керуючись написами на панелях. Експерименти з властивостями допоможуть Вам вибрати найбільш привабливий для Вас зовнішній вигляд панелі.

Панель можна використовувати і як кнопку, при щиглику на який виконується яка-небудь дія. Для цього помістіть на форму ще одну панель, і у властивості Caption (заголовок) для неї запишіть: «Відкрити наступне вікно». Для події OnClick (щиглика) запишіть у тілі процедури наступний оператор: FormPanel2.Show;

Рис.18.Вікно форми “Використання панелі”

 

Цей оператор відкриває форму, яку необхідно створити і додати до проекту. Вид цієї форми представлений на рис. 19. Властивості нової форми: Caption (заголовок): «Використання панелі 2», Name: FormPanel2, ім'я модуля: UnitPanel2. На цій формі будуть розглянуті ще кілька прикладів використання панелі як кнопки.

При кліку на панелі змінюється колір напису на панелі і відкривається картинка. Помістіть на форму компонент TLabel (мітка), і у властивості Caption (заголовок) для неї запишіть: «Щиглик по панелі змінить шрифт і відкриє малюнок». Під текстом помістіть компонент TPanel (панель) зі сторінки Standard (стандартні). У властивості Caption (заголовок) для панелі запишіть: «Відкрити малюнок». Поруч з цими об'єктами помістіть на форму компонент TImage (зображення) зі сторінки Additional (додаткові). За допомогою властивості Picture (малюнок) завантажте який-небудь малюнок для цього об'єкта. Властивість Visible (видимий) для малюнка виберіть: False (неправда).

Рис. 19 Вікно форми «Використання панелі 2»

 

Помістіть на форму компонент TTimer (таймер) зі сторінки System (системні). Ввімкніть його. У процедурі для щиглика на панелі запишіть оператори:

Panel1.Font.Color:=clRed;

Image1.Visible:=True;

Timer1.Enabled:=True;

Перший оператор робить колір шрифту панелі червоним. Другий оператор робить малюнок видимим. Третій оператор включає таймер.

Таймер тут потрібний для того, щоб через деякий проміжок часу колір шрифту на панелі став колишнім. Процедуру для роботи таймера напишемо трохи пізніше.

Додайте на форму напис: «Щиглик на панелі закриє малюнок, при цьому виникає ефект натискання на кнопку» (компонент TLabel). Помістіть на форму під написом компонент ТPanel (панель). Для неї у властивості BevelOuter виберіть значення: bvRaised і у властивості Bevel Width уведіть значення: «5». Це означає, що обрамлення панелі буде опуклим і ширина обрамлення буде дорівнювати п'яти пiкселям. У властивості Caption (заголовок) для кнопки запишіть: «Закрити малюнок». У процедурі для щиглика на цій панелі запишіть наступні оператори:

Iraagel.Visible:=False;

Panel2.BevelWidth:=3;

Timer1.Enabled:=True;

Перший оператор робить малюнок невидимим. Другий оператор зменшує ширину обрамлення до трьох пікселів, створюючи ефект натискання на кнопку. Третій оператор включає таймер.

Помістіть на форму ще одну мітку: «Колір панелі змінюється при проходженні над нею покажчика миші». Під міткою помістіть компонент TPanel (панель). У властивості Caption (заголовок) для панелі запишіть: «Кнопка, що змінює колір». Для цієї панелі в Інспекторі об'єктів на листі властивостей виберіть властивість On MouseMove (рух миші) і двічі клацніть на порожнім вікні поруч з назвою властивості. У тілі процедури для цієї події запишіть наступні оператори:

Panel3.Color:=clGray;

Timer1.Enabled:=True;

Перший оператор робить колір панелі сірим. Другий оператор включає таймер.

Тепер треба створити процедуру для таймера. Зробіть подвійного кліка на таймері й у тілі процедури запишіть наступні оператори:

Tімеr1.Enabled:=False;

Panel1.Font.Color:=clWindowText;

Panel2.BevelWidth:=5;

Panel3.Color:=clScrollBar;

Перший оператор виключає таймер. Другий оператор повертає колишній колір тексту для першої панелі. Третій оператор повертає колишню ширину обрамлення для другої панелі. Четвертий оператор повертає колишній колір третій панелі.

На цьому конструювання проекту завершене і можна поекспериментувати самостійно.

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

1. Охарактеризуйте поняття консольного приложення.

2. Опишіть структуру вікна редагування Edit.

3. Опишіть структуру вікна редагування MaskEdit.

4. Охарактеризуйте багато строкове вікно редагування Memo.

5. Охарактеризуйте багатострокове вікно редагування RichEdit.

6. Опишіть роботу наступних компонентів вибору зі списку – ListBox, CheckBox, ComboBox.

7. Охарактеризуйте принципи роботи таблиці строк – компонент StringGrid.

8. Опишіть компоненти вводу та відображення чисел, дат та часу.


САМОСТІЙНА РОБОТА СТУДЕНТА

ЗМІСТОВИЙ МОДУЛЬ 4: ФАЙЛОВІ СТРУКТУРИ ДАНИХ. ДИНАМІЧНІ СТРУКТУРИ ДАНИХ

ТЕМА 4.2: ДИНАМІЧНІ СТРУКТУРИ

 

Самостійне заняття №23 –Варіантні змінні

План заняття

1. Поняття та характеристики модулю Variant Delphi

2. Принципи процедури обробки варіантних масивів Delphi

Вариантные переменные

При рассмотрении типа Record мы ознакомились с вариантной частью записи, где в одном фрагменте памяти можно хранить информацию нескольких типов. Такой метод недостаточно нагляден. Много ли пользы от того, чтобы найти в памяти действительное значение с фиксированной запятой и интерпретировать его, как целое! Тип Variant (не имеющий ничего общего с вариантной частью записи) более "проворен" и полезен в управлении данными разных типов. Переменным типа Variant можно присваивать любые значения любых целых, действительных, строковых и булевых типов. Для совместимости с другими языками программирования предусмотрена также возможность присвоения этим переменным значений даты/времени и объектов OLE Automation. Кроме того, вариантные переменные могут содержать массивы переменной длины и размерности с элементами указанных типов.
Все целые, действительные, строковые, символьные и булевы типы совместимы с типом Variant в отношении операции присваивания. Вариантные переменные можно сочетать в выражениях с целыми, действительными, строковыми, символьными и булевыми; при этом все необходимые преобразования Delphi выполняет автоматически. Можно произвольно задавать для выражении тип Variant в форме Variant (X).

В Object Pascal определены два особых значения Variant. Значение Unassigned применяется для указания, что вариантной переменной пока не присвоено значение какого бы то ни было типа. Значение Null указывает на наличие в переменной данных неизвестного типа или потерю данных. Разницу между этими двумя значениями трудно уловить. Значение Unassigned присваивается вариантным переменным автоматически при их создании, независимо от того, локальная это переменная или глобальная, и является ли она частью другой, структурной, переменной, такой как запись или массив. Unassigned означает, что к данной вариантной переменной еще не обращались. Null же означает, что к вариантной переменной обращались, но не ввели в нее никакой информации. Таким образом, Null указывает, что значение вариантной переменной недействительно или отсутствует.

Вариантные переменные предоставляют широкие возможности формирования выражений с переменными разных типов. Однако за это приходится платить большим, по сравнению с жестко задаваемыми типами, расходом памяти. К тому же на выполнение операций с вариантными переменными требуется больше времени.

Интересна проблема использования вариантной переменной как массива. Элементы этого массива должны быть одного типа. На первый взгляд, это вполне естественное условие. Однако элементам массива можно присвоить и тип Variant! Тогда каждый элемент сможет содержать информацию разных типов, в том числе массив Variant. Как правило, вариантные массивы создаются с помощью процедуры VarArrayCreate.

Для передачи двоичной информации между контроллерами автоматизации OLE и серверами обычно применяются вариантные массивы с элементами varByte. Вариантные массивы типа varByte не могут подвергаться никаким преобразованиям. Нельзя также переформатировать содержащуюся в них двоичную информацию. Эффективный доступ к ним осуществляется с помощью процедур VarArrayLock и VarArrayUnlock.
Элементы вариантного массива не могут иметь тип varString. Для создания вариантных массивов со строковыми элементами следует выбрать тип varOleStr.

Процедуры обработки вариантных массивов

В табл. 1.9 перечислены стандартные процедуры и функции обработки вариантных массивов, определенные в модуле System.

Таблица 1.9. Процедуры и функции обработки вариантных массивов

 

Процедура/функция Описание
VarArrayCreate Создает вариантный массив с заданными пределами и типом
VarArrayDimCount Возвращает число измерений данного вариантного массива
VarArrayHighBound Возвращает верхний предел измерения вариантного массива
VarArrayLock Фиксирует вариантный массив
VarArrayLowBound Возвращает нижний предел измерения вариантного массива
VarArrayOf Возвращает вариантный массив с указанными элементами
VarArrayRedim Изменяет верхний предел вариантного массива
VarArrayUnlock Отменяет фиксацию вариантного массива
VarAsType Преобразует вариантную переменную в указанный тип
VarCast Преобразует вариантную переменную в указанный тип и записывает значение
VarClear Сбрасывает значение вариантной переменной
VarCopy Копирует одну вариантную переменную в другую
VarFromDateTime Возвращает вариантную переменную, содержащую переменную даты/времени
VarIsArray Возвращает True, если вариантная переменная является массивом
VarIsEmpty Возвращает True, если вариантная переменная содержит Unassigned
VarIsNull Возвращает True, если вариантная переменная содержит Null
VarToDateTime Преобразует вариантную переменную в значение даты/времени
VarType Преобразует вариантную переменную в указанный тип и записывает значение


В табл. 1.10 перечислены типы значении, которые можно присваивать вариантным переменным, и вариантные типы результата.

Таблица 1.10. Вариантные типы

 

Тип выражения Вариантный тип
Целый varlnteger
Действительный, кроме Currency varDouble
Currency varCurrency
Строковый и символьный varString
Булев varBoolean

 

Вариантные переменные в отношении операции присвоения совместимы с элементарными типами данных Object Pascal (Integer, Real, String и Boolean). Все нужные преобразования Delphi выполняет автоматически. При необходимости конкретно указать, что вариантное значение надо интерпретировать как целое, действительное, строковое или булево, следует задать тип в форме TypeName (V), где TypeName — идентификатор соответствующего типа, V— выражение Variant. Задание типа изменяет только способ считывания значения из вариантной переменной, а не само значение внутри ее. Внутреннее же представление изменяется с помощью процедур VarAsType и VarCast.

 

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

 

1. Надати поняття та характеристики модулю Variant Delphi

2. Охарактеризувати принципи процедури обробки варіантних масивів Delphi


САМОСТІЙНА РОБОТА СТУДЕНТА

ЗМІСТОВИЙ МОДУЛЬ 4: ФАЙЛОВІ СТРУКТУРИ ДАНИХ. ДИНАМІЧНІ СТРУКТУРИ ДАНИХ

ТЕМА 4.2: ДИНАМІЧНІ СТРУКТУРИ

 

Самостійне заняття №24 –Типізовані константи

План заняття

1. Поняття та характеристика типізованих констант Delphi

2. Приклади застосування типізованих констант

 








Дата добавления: 2014-12-01; просмотров: 1153;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.02 сек.