Начала объектно-ориентированного программирования в Delphi (уроки 1–3)

Разделы: Информатика


Урок 1: Объекты: свойства и методы. Проекты и приложения

Цель: Познакомить учащихся с основной структурной единицей ООП, показать области применения ООП, дать понятие проекта и приложения.

1. Теоретический материал.

Объектно-ориентрованное программирование широко используется для создания различных прикладных программ, имеющих графический интерфейс. В частности, известные всем приложения MS Office были созданы именно с помощью программно-ориентированных языков, которые позволяют как в конструкторе из некоторого набора элементов (программных объектов) собирать рабочее окно любого приложения.

Основной единицей в ООП является программный объект, который соединяет в себе как описывающие его данные (свойства), так и средства обработки этих данных (методы).

Например, рассмотрим рабочее окно приложения MS Word.

В данном случае объектами будут как кнопки панели инструментов, так и элементы линейки и сама рабочая область, в которой набирается текст. Свойства элементов описывают их внешний вид, размеры, а также место положения на экране. Методы обозначают какие действия может производить тот или иной объект. Так кнопка отправляет открытый на экране документ на печать, другая кнопка будет выполнять другое действие. Кроме того, каждый объект реагирует на те или иные события, т.е. те действия, которые пользователь должен совершить, чтобы кнопка (или другой объект) начал выполнять свою задачу. Например, событием, вызывающим метод любой кнопки в MS Word является щелчок по левой кнопке мыши. Только после этого любая кнопка начинает работать.

Программные объекты обладают свойствами, могут использовать методы и реагируют на события. Классы объектов являются шаблонами, определяющими наборы свойств, методов и событий, по которым создаются объекты. Например, в данном случае мы имеем несколько классов объектов: кнопки , , и т.д., которые реагируют на щелчок левой кнопки мыши и воспроизводят различные методы; текстовые поля с выпадающими списками: , , и т.п., которые имеют свой набор методов, флажки: , событием для которых будет установление галочки в текстовое поле; и другие классы объектов.

Объект, созданный по шаблону класса, является экземпляром класса и наследует весь набор свойств, методов и событий этого класса. Каждый элемент класса имеет уникальное имя для данного класса (например, сохранить, печать, правописание …), различные экземпляры класса обладают одинаковым набором свойств, однако значения свойств у них могут отличаться (внешний вид кнопок и размеры одинаковы, но картинки на них разные).

2. Показать учащимся внешний вид главного рабочего окна системы ООП Delphi (с помощью мультимедиапроектора), выдать распечатанные заранее заготовки с изображением главного окна. Показать примеры проектов созданных в среде ООП Delphi (простой проект “переменные”, тест, обучающую программу и т.д.).

3. Проекты и приложения.

С одной стороны, система ООП визуального программирования является системой программирования, так как позволяет кодировать алгоритмы на данном языке. С другой стороны, система ООП является средой проектирования, так как позволяет осуществлять визуальное проектирование графического интерфейса.

Результатом процессов программирования и проектирования является проект, который объединяет в себе программный код и графический интерфейс.

Проект включает в себя программные модули форм и самостоятельные программные модули в виде отдельных файлов.

Проект может быть запущен только из системы ООП.

Для того, чтобы процессор мог выполнить программу, она должна быть помещена в память компьютера и при этом записана на машинном языке, но пользователи обычно пишут программы на языке программирования, который непонятен процессору.

Для перевода программы на машинный язык служат программы-переводчики (трансляторы), для каждого языка программирования свой транслятор.

Трансляторы языков программирования могут быть двух типов: интерпретаторы и компиляторы.

Интерпретатор – программа, которая обеспечивает последовательный “перевод” инструкций программы с одновременным их выполнением, причем это действие выполняется при каждом запуске программы на выполнение и только в среде программирования. Удобен в использовании на этапе отладки программы.

Компилятор переводит весь текст программы на машинный язык и сохраняет его в исполнимом файле (.ехе), образуя приложение. Затем этот исполнимый файл можно запускать на выполнение многократно прямо в операционной системе (даже в отсутствие среды программирования на ПК).

Приложение объединяет программный код и графический интерфейс в одном исполнимом файле, который может запускаться непосредственно из операционной системы.

4. Д/з: п.4.3. вопросы на стр. 200.

Главное окно Delphi

Урок 2: Знакомство со средой ООП Delphi

Цель: дать представление учащимся о простейших компонентах Delphi, их свойствах, правилах создания и сохранения проектов и приложений.

1. Ответить на вопросы стр.200.

  1. В чем состоит различие между интерпретаторами и компиляторами?
  2. В чем состоит различие между проектом и приложением?

2. Теоретический материал.

Среда Delphi – это интегрированная среда для разработки и отладки приложений, в основе которой лежит язык Object Pascal.

Для сохранения проекта обычно используют отдельную папку, т.к. проект состоит не из одного, а из нескольких файлов различных типов:

Project1.dpr – сам проект;

Unit1.pas – программная часть (файл кода);

*.dfm – форма;

*.exe – исполняемый модуль.

Можно сохранять файлы по отдельности с помощью команд Save as (Unit1)

Save Project. Но для того, чтобы сохранить все изменения, выполненные в проекте, необходимо использовать команды File – Save all.

Этапы разработки проектов:

  1. Создание графического интерфейса проекта – установка на форму необходимых компонентов.
  2. Установка значений свойств объектов графического интерфейса с помощью окна ИНСПЕКТОР ОБЪЕКТОВ.
  3. Вызвать нужное событие для определенного компонента.
  4. Прописать и отредактировать программный код, вызвав заготовку обработчика события для компонента двойным щелчком левой кнопки мыши по этому компоненту.
  5. Запустить программу на выполнение для выявления ошибок (аварийное завершение программы Run – Program reset).
  6. Сохранить проект с использованием команд File – Save all.

Для создания приложения требуется после создания проекта откомпилировать его, воспользовавшись командой Project – Compile all progect.

Для создания нового приложения следует выполнить команду File – New – Application.

Компоненты и их свойства.

Вкладка Standart:

  1. TLabel - метка (текст на форме) используется для вывода информации на форму (подсказки, надписи, результаты вычислений);
  2. TEdit – поле ввода информации, используется для вода данных в программу с клавиатуры;
  3. TButton – кнопка, вызывающая выполнение какого-либо действия.

Свойства:

  1. Caption – текст внутри компонента;
  2. Text - текст внутри компонента;
  3. Name – имя компонента, по которому к нему можно обращаться в программе;
  4. Left – расстояние от левой границы формы до компонента;
  5. Top – расстояние от верхней границы формы до компонента;
  6. Width – ширина компонента;
  7. Height – высота компонента;
  8. Color – цвет компонента;
  9. Font – шрифт, его характеристики;
  10. Visible – видимость компонента;
  11. Enabled – активность (доступность) компонента.

Свойства, касающиеся расположения компонента на форме и его размеров, можно установить с помощью окна Инспектор объектов или просто поставить компонент в нужное место на форме с помощью мыши.

Пример 1: Создать проект, который после ввода на форму имени пользователя здоровается и меняет цвет формы.

3. Создадим графический интерфейс проекта.

Установить свойства объектов в соответствии с таблицей:

Элемент Cвойство Значение
Label1 Caption Введите имя
Edit1 Text Очистить
Button1 Caption Ввод

4. Создадим программный код проекта:

Двойным щелчком левой кнопки мыши по компоненту Button1 перейти в окно программного кода и записать программный код:

procedure TForm1.Button1Click(Sender: TObject);

begin

label1.Caption:='Привет, '+Edit1.Text+'!!!';

Form1.Color:=clRed;

end;

5. Д/з: п. 4.5, конспект в тетради.

Урок 3: Переменные и функции преобразования типов переменных

Цель: показать приемы создания вычислительных проектов в Delphi.

1. Повторение и закрепление материала, изученного на предыдущем уроке.

Пример 1_1: Напишите приложение, модифицирующее пример 1, т.е. после ввода имени в текстовое поле и нажатия на кнопку ВВОД форма должна менять цвет случайным образом.

Для получения различных цветов для формы воспользуемся функцией RGB. Функция RGB (Red, Green, Blue)принимает три параметра – уровни интенсивности красного, зеленого и синего цветов соответственно и возвращает цвет Win32 как целое значение. Для каждого уровня интенсивности существует 256 возможных значений. Например, RGB(255,0,0) возвращает цветовое значение для красного цвета, а RGB(255,0,255) – для сиреневого цвета.

Таким образом, щелчок левой кнопкой мыши по кнопке Ввод будет порождать событие OnClick кнопки Button1(ВВОД), после которого цвет формы будет меняться произвольным образом.

Для этого изменим код программы для примера 1 следующим образом:

procedure TForm1.Button1Click(Sender: TObject);

begin

label1.Caption:='Привет, '+Edit1.Text+'!!!';

Form1.Color:=RGB(random(256),random(256),random(256));

end;

Пример 1_2: Напишите приложение, в котором при нажатии левой кнопкой мыши на кнопку ВВОД происходит смена цвета формы с красного на зеленый, и, наоборот, с зеленого на красный.

В соответствии с условием задачи в обработчике события OnClick кнопки Button1(ввод) необходимо проанализировать свойство Color формы: если его значение соответствует красному, то изменить его на зеленый (clGreen), иначе присвоить значение красный.

Для этого изменим код программы для примера 1 следующим образом:

procedure TForm1.Button1Click(Sender: TObject);

begin

label1.Caption:='Привет, '+Edit1.Text+'!!!';

if Form1.Color=clRed then Form1.Color:=clGreen else Form1.Color:=clRed;

end;

2. Теоретический материал.

Переменные и их преобразование

Функции преобразования типов

  1. StrToInt(S) –перевод из текста (строковой переменной) в целое число;
  2. StrToFloat(S)- перевод из текста в вещественное число;
  3. IntToStr(N) – перевод из целого числа в строку (текст);
  4. FloatToStr(N) – перевод из вещественного числа в строку.

Пример 2: Написать приложение, которое вычисляет сумму двух целых чисел, вводимых с клавиатуры в текстовые поля формы, и выдает ответ.

3. Создадим графический интерфейс проекта.

Установить свойства объектов в соответствии с таблицей:

Элемент Cвойство Значение
Label1 Caption +
Label2 Caption очистить
Edit1 Text очистить
Edit2 Text Очистить
Button1 Caption =

4. Создадим программный код проекта.

Двойным щелчком левой кнопки мыши по компоненту Button1 перейти в окно программного кода и записать программный код:

procedure TForm1.Button1Click(Sender: TObject);

var x,y,z:integer;

begin

x:=StrToInt(edit1.Text);

y:=strToInt(Edit2.Text);

z:=x+y;

label2.Caption:=IntToStr(z);

end;

Замечание: Чтобы изменить размер символов в надписях на кнопках и в текстовых полях формы, измените свойства Font у каждого компонента (или выделите все компоненты формы и поменяйте свойство Font сразу у всех объектов).

Пример 2_1: Написать приложение, которое вычисляет разность двух целых чисел, вводимых с клавиатуры в текстовые поля формы, и выдает ответ.

Пример 2_2: Написать приложение, которое вычисляет произведение двух целых чисел, вводимых с клавиатуры в текстовые поля формы, и выдает ответ.

Задания 2_1 и 2_2 выполнить самостоятельно.

5. Д/з: п. 4.6 вопросы на стр.218, конспект в тетради.