- •ЛР 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.
Языки программирования
Листинг 5.4. Ввод 11-значного телефонного номера
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); begin
if ((KEY<'0') or (KEY>'9') or (Length(Edit1.Text)>=11)) and (KEY<>#8) then {#8 — код
клавиши Backspace} begin
Key:=#0;
if (Length(Edit1.Text)>=11)=false then
ShowMessage('Допускаются только цифры!') else
ShowMessage('Длина текста превысила 11 знаков!') end;
end;
Событие осуществляет контроль верности ввода телефонного номера в строку ввода Edit1. Процедура допускает ввод только цифр, причем длина номера не должна превышать 11 символов. В противном случае ввод ошибочного символа отменяется (параметру-переменной Key присваивается значение #0) и выдается сообщение об ошибке.
Задание
Вариант 1
Разработайте приложение, состоящее из одной формы и нескольких (не менее 10) произвольных элементов управления.
Приложение должно позволять пользователю самостоятельно назначать местоположение элементов управления, перемещая их мышью во время выполнения программы.
Замечание Постарайтесь, чтобы листинг программы не превысил 100 строк кода!
55
СКФУ Кафедра компьютерной безопасности
Языки программирования
Вариант 2
Разработайте приложение-калькулятор позволяющее осуществлять 4 основных арифметических операции. Пользовательский интерфейс калькулятора должен позволять осуществлять расчёты без использования мышки (управление с клавиатуры)
Замечание Постарайтесь, чтобы листинг программы не превысил 200 строк кода!
Вариант 3
Разработайте приложение позволяющее осуществлять перетаскивание (интерфейс drag and drop) текстовых надписей из одного списка (компонент TListBox) в другой.
Замечание Постарайтесь, чтобы листинг программы не превысил 80 строк кода!
Вариант 4
Разработайте приложение содержащее не менее 5 компонентов TImage. Загрузите в один из компонентов рисунок. Реализуйте интерфейс (drag and drop) позволяющий осуществлять перетаскивание текстовых надписей из одного компонента в другой.
56
СКФУ Кафедра компьютерной безопасности
Языки программирования
Замечание Постарайтесь, чтобы листинг программы не превысил 80 строк кода!
Вариант 5
Разработайте приложение позволяющее пользователю (используя только клавиатуру) изменять размеры и положение главной формы.
Замечание Постарайтесь, чтобы листинг программы не превысил 60 строк кода!
57
СКФУ Кафедра компьютерной безопасности