
- •ЛР 1. Операторы и выражения Delphi
- •Оператор присваивания
- •Арифметические операторы
- •Оператор конкатенации строк
- •Логические операторы
- •Операторы поразрядного сдвига
- •Операторы отношения
- •Операторы множеств
- •Составной оператор begin..end
- •Условный оператор if..then..else
- •Оператор-селектор case
- •Оператор перехода goto
- •Оператор with..do
- •Организация циклов
- •Цикл с параметром for..do
- •Инструкция in в цикле for..do
- •Цикл с предусловием while..do
- •Цикл с постусловием repeat..until
- •Вложенные циклы
- •Операторы break и continue
- •ЗАДАНИЕ
- •Вариант 1.
- •Вариант 2
- •Вариант 3
- •Вариант 4
- •Вариант 5
- •Вариант 6
- •Вариант 7
- •Вариант 8
- •Вариант 9
- •Вариант 10
- •Вариант 11
- •Вариант 12
- •ЛР 2. Структурные типы
- •Множества
- •Записи
- •Вариантные поля
- •Усовершенствованная запись
- •Массивы
- •Объявление массива
- •Обращение к ячейкам массива
- •Динамический массив
- •ЗАДАНИЕ
- •Вариант 1
- •Вариант 2
- •Вариант 3
- •Вариант 4
- •Вариант 5
- •Вариант 6
- •Вариант 7
- •Вариант 8
- •Вариант 9
- •Вариант 10
- •Вариант 11
- •Вариант 12
- •ЛР 3. Объекты и классы
- •Проектирование класса
- •Управление жизненным циклом объекта
- •Опережающее объявление класса
- •Ограничение видимости членов класса
- •Свойства объекта
- •Особенности объявления методов
- •Поля класса и методы класса
- •Иерархия наследования
- •Полиморфизм
- •ЗАДАНИЕ
- •Вариант 1
- •Вариант 2
- •Вариант 3
- •Вариант 4
- •ЛР4. Опорные классы VCL
- •Класс TObject
- •Класс TPersistent
- •Основа компонента, класс TComponent
- •Владение компонентом
- •Класс TControl
- •Принадлежность к родительскому контейнеру
- •Размещение и размеры элемента управления
- •События, связанные с изменением размеров
- •Выравнивание элемента управления в контейнере
- •Видимость и активность элемента управления
- •Задание
- •Вариант 1
- •Вариант 2
- •Вариант 3
- •Вариант 4
- •Вариант5
- •Совет
- •ЛР5. Обработка клавиатурных событий и событий мышки
- •Щелчки кнопками мыши
- •Перемещение указателя мыши
- •Вращение колесика мыши
- •Операция перетаскивания drag and drop
- •Обработка событий клавиатуры
- •Задание
- •Вариант 1
- •Вариант 2
- •Вариант 3
- •Вариант 4
- •Вариант 5
- •ЛР 6. Классы потоков данных
- •Прототип потоков данных, класс TStream
- •Потоки с дескриптором, класс THandleStream
- •Файловый поток данных, класс TFileStream
- •Пример работы с файловым потоком данных
- •Задание
- •Вариант 1.
- •Вариант 2.
- •Вариант 3.
- •Вариант 4.
- •Вариант 5.

Языки программирования
Видимость и активность элемента управления
Каждый визуальный элемент управления может лишиться права отображаться на экране компьютера. Для этого следует обратиться к методу
procedure Hide; // аналог visible:= false;
Для того чтобы компонент вновь появился на экране, вызывают процедуру procedure Show; // аналог visible := true;
Вместо этих процедур можно воспользоваться свойством property Visible: Boolean; //по умолчанию True
позволяющим включить (true) или отключить (false) отображение элемента.
Очень часто вместо того чтобы скрывать от пользователя ненужный компонент, программисты просто переводят его в пассивный режим. Для этого предназначено свойство
property Enabled: Boolean; //по умолчанию true
При установке свойства в состояние false элемент управления перестает реагировать на попытки обратиться к нему.
Задание
Разработайте приложение VCL, состоящее из единственной формы и не содержащее ни одного элемента управления.
Вариант 1
В момент создания главной формы приложения динамически создайте 25 панелей TPanel и разместите их на форме (по 5 панелей в ряду), так, чтобы они заняли всю клиентскую область формы.
При изменении размеров формы панели должны самостоятельно подстраиваются под новые размеры.
Вариант 2
В момент создания главной формы приложения динамически создайте 15 фигур TShape, из них 5 квадратов, 5 кругов и 5 квадратов со скруглёнными углами. Разместите фигуры на форме в три колонки (квадраты слева, круги по центру и квадраты со скруглёнными углами справа).
44
СКФУ Кафедра компьютерной безопасности

Языки программирования
При изменении размеров формы фигуры должны самостоятельно подстраиваться под вертикальный размер, сохраняя свои позиции по горизонтали.
Вариант 3
В момент создания главной формы приложения динамически создайте 20 строк ввода TEdit. В свойстве Text строк ввода должен находиться порядковый номер компонента (от 1 до 20). Разместите элементы управления на форме в две колонки, так, чтобы строки ввода с нечётными значениями расположились у левой границы формы, а с чётными — у правой.
При изменении размеров формы строки ввода должны самостоятельно выравниваться по соответствующему краю.
45
СКФУ Кафедра компьютерной безопасности

Языки программирования
Вариант 4
В момент создания главной формы приложения динамически создайте 64 прямоугольника с помощью компонента TShape. Окрасьте фигуры в чёрный и белый цвета и равномерно разместите по клиентской части формы, так чтобы получилась мозаика, напоминающая шахматную доску.
При изменении размеров формы ячейки “шахматной доски” должны самостоятельно подстраиваются под новые размеры.
Вариант5
В момент создания главной формы приложения динамически создайте 8 белых и 8 чёрных прямоугольников с помощью компонента TShape. Разместите созданные фигуры по диагоналям формы так, чтобы в диагонали находились фигуры одного цвета
46
СКФУ Кафедра компьютерной безопасности

Языки программирования
При изменении размеров формы прямоугольники должны самостоятельно подстраиваются под новые размеры.
Совет
1.В момент создания главной формы проекта у неё возникает событие OnCreate().
2.Чтобы ваше приложение смогло отреагировать на изменение размера формы воспользуйтесь событием OnResize() формы проекта!
47
СКФУ Кафедра компьютерной безопасности