ООП на Delphi

Содержание

Слайд 2

Объектно – ориентированное программирование
Создание интерфейса оконного приложения

Объектно – ориентированное программирование Создание интерфейса оконного приложения

Слайд 3

На этом уроке:
Мы научимся создавать и проверять условия, пользоваться компонентами

На этом уроке: Мы научимся создавать и проверять условия, пользоваться компонентами Radio
Radio Button и Checkbox и составим простейшую тестирующую программу

DELPHI - 4

Вопросы:
1. Компоненты Delphi Radio Button и Checkbox
2. Создание простейшей тестирующей программы

Слайд 4

Объектно – ориентированное программирование на DELPHI - 4

1. Компоненты Delphi Radio

Объектно – ориентированное программирование на DELPHI - 4 1. Компоненты Delphi Radio Button и Checkbox
Button и Checkbox

Слайд 5

Компоненты Radio Button и Check Box

Компоненты Radio Button и Check Box

Компоненты Radio Button и Check Box Компоненты Radio Button и Check Box
позволяют сделать выбор из нескольких условий, причем Radio Button позволяет сделать единственный выбор из многих условий, а Check Box – множественный выбор

С этими компонентами мы постоянно встречаемся, работая в операционной системе Windows:

Radio Button - ы для выбора одной из нескольких систем исчисления, а также одной из мер измерения угла

Check Box - ы для выбора сразу нескольких условий из многих

Слайд 6

Компоненты Radio Button и Check Box

Компонент Radio Button

Radio Button может

Компоненты Radio Button и Check Box Компонент Radio Button Radio Button может
иметь только 2 значения:
False (ложно)
True (истинно)

Кроме этого у радиокнопки есть множество других свойств: можно изменить надпись на кнопке, ее цвет, положение, доступность ...

☝ Посмотрите внимательно набор свойств компонента Radio Button в инспекторе объектов

Слайд 7

Компоненты Radio Button и Check Box

Компонент Check Box

Check Box
может иметь

Компоненты Radio Button и Check Box Компонент Check Box Check Box может
только 2 значения:
False (ложно)
True (истинно)

Кроме этого у Check Box-а есть множество других свойств: можно изменить надпись, цвет, положение, доступность ...

☝ Посмотрите внимательно набор свойств компонента Check Box в инспекторе объектов

Слайд 8

Компоненты Radio Button и Check Box

Для объединения Radio Button и Check

Компоненты Radio Button и Check Box Для объединения Radio Button и Check
Box при размещении на форме удобно и красиво применять компоненты Group Box и Radio Group

Использование Group Box:

Помещаем компонент Group Box на форму
Помещаем на него необходимое количество компонент (например Check Box, а можно и других)
В свойстве Caption изменяем надписи

В результате мы получаем группу независимых переключателей, где значение True (или False) может иметь сразу несколько переключателей – т.е. мы можем осуществить множественный выбор

Слайд 9

Компоненты Radio Button и Check Box

Использование Radio Group:

Помещаем компонент Radio

Компоненты Radio Button и Check Box Использование Radio Group: Помещаем компонент Radio
Group на форму
Раскрываем свойство Items этого компонента и заполняем строки для будущих зависимых переключателей, нажимая Enter после каждой строки
В свойстве Caption компонента изменяем заголовок

В результате мы получаем группу зависимых переключателей, где значение True может иметь только один из всех переключателей, т.е. мы можем осуществить единственный выбор

Слайд 10

Объектно – ориентированное программирование на DELPHI - 4

2. Создание простого теста

Объектно – ориентированное программирование на DELPHI - 4 2. Создание простого теста

Слайд 11

Создание простого теста

А сейчас давайте попробуем, используя компоненты Radio Button и

Создание простого теста А сейчас давайте попробуем, используя компоненты Radio Button и
Check Box создать простой тест с минимальными требованиями к программе (обойдемся пока приложением из одной формы, без регистрации, отдельных файлов тестов, картинок и пр.) – сделаем это по шагам

Конечно, сначала нужно составить тест на бумаге. Для примера возьмем тест из 5 вопросов, причем первые три вопроса с единственным выбором, а последние два – с множественным:

с единственным выбором

с множественным выбором

ШАГ 1

Слайд 12

Создание простого теста

Сейчас давайте определим требования к программе :

ШАГ 2

Для

Создание простого теста Сейчас давайте определим требования к программе : ШАГ 2
первой тестирующей программы мы ограничимся только следующими функциями:
Подсчет числа верных ответов
Подсчет % верных ответов
Вывод результата после окончания теста
Блокировка возврата к предыдущим вопросам
Использование 4 вариантов выбора ответа
Использование заданий как с единственным, так и множественным выбором ответа
После каждого ответа программа должна оповещать нас о правильности нашего выбора
И на этом функциональность программы пока ограничим

Слайд 13

Следующим шагом будет разработка внешнего вида приложения и определение компонент, которых

Следующим шагом будет разработка внешнего вида приложения и определение компонент, которых мы
мы будем использовать для ввода и вывода информации

ШАГ 3

Размещаем для каждого вопроса свой компонент Group Box

Размещаем Label для вывода текста вопроса

Размещаем Radio Group на 4 варианта для выбора ответов

Создание простого теста

Слайд 14

Следующим шагом будет разработка внешнего вида приложения и определение компонент, которых

Следующим шагом будет разработка внешнего вида приложения и определение компонент, которых мы
мы будем использовать для ввода и вывода информации

ШАГ 3

Здесь помещаем Label для визуального оповещения (верно/ неверно мы ответили)

Ставим кнопку для проверки выбранного ответа

Создание простого теста

Слайд 15

Следующим шагом будет разработка внешнего вида приложения и определение компонент, которых

Следующим шагом будет разработка внешнего вида приложения и определение компонент, которых мы
мы будем использовать для ввода и вывода информации

ШАГ 3

Аналогично оформляем место для 2 и 3 вопросов

Создание простого теста

Слайд 16

Следующим шагом будет разработка внешнего вида приложения и определение компонент, которых

Следующим шагом будет разработка внешнего вида приложения и определение компонент, которых мы
мы будем использовать для ввода и вывода информации

ШАГ 3

Для 4 и 5 вопросов (множественный выбор) вместо радиокнопок вставляем по 4 Check Box - a

Размещаем компонент Memo для вывода результатов теста

И, наконец, кнопку для завершения работы с программой

Создание простого теста

Слайд 17

Сделаем соответствующие надписи на компонентах формы (и не забудем разместить манифест

Сделаем соответствующие надписи на компонентах формы (и не забудем разместить манифест XP)
XP)

ШАГ 4

В результате мы получили примерно такую форму, на которой есть вопросы, варианты ответов, Memo для вывода результатов, кнопки проверки и выхода

Создание простого теста

Слайд 18

Приложение оформлено. Начнем программирование событий. И самое первое событие, которое возникает

Приложение оформлено. Начнем программирование событий. И самое первое событие, которое возникает каждый
каждый раз при запуске программы – создание формы (On Create)

ШАГ 5

Что должно происходить при запуске программы?

2. Memo тоже должен быть невидим и появляться только после прохождения теста

Метки (Label 6,7,8,9,10) должны быть невидимы

3. Счетчик k верно выполненных вопросов должен обнуляться

Создание простого теста

Слайд 19

Приложение оформлено. Начнем программирование событий. И самое первое событие, которое возникает

Приложение оформлено. Начнем программирование событий. И самое первое событие, которое возникает каждый
каждый раз при запуске программы – создание формы (On Create)

ШАГ 5

Сделаем двойной щелчок по форме и в редакторе кода запишем процедуру создания формы (On Create)

Делаем невидимыми Label – ы и Memo

Счетчику k присваиваем ноль

Объявляем переменную k, которая будет являться счетчиком числа верных ответов

Создание простого теста

Слайд 20

Сейчас напишем отклик на событие нажатия на кнопку «ПРОВЕРИТЬ»

ШАГ 6

Сделаем

Сейчас напишем отклик на событие нажатия на кнопку «ПРОВЕРИТЬ» ШАГ 6 Сделаем
двойной щелчок по кнопке «ПРОВЕРИТЬ» в первом вопросе и запишем соответствующий код.

Кнопку «ПРОВЕРИТЬ» в первом вопросе делаем недоступной, после того, как она нажата.
Это исключает возможность возврата к первому вопросу и выбора другого ответа

Давайте его разберем

Проверяем условие: соответствует ли наш выбор правильному, т.е выбран ли переключатель с индексом 2

☝ Заметьте ! Индексы переключателей в Delphi имеют нумерацию, начинающуюся с нуля, поэтому верный ответ у нас обозначен индексом 2, хотя на самом деле это третий вариант ответов (посмотрите на тест в бумажном варианте)

Создание простого теста

Слайд 21

Сейчас напишем отклик на событие нажатия на кнопку «ПРОВЕРИТЬ»

ШАГ 6

Сделаем

Сейчас напишем отклик на событие нажатия на кнопку «ПРОВЕРИТЬ» ШАГ 6 Сделаем
двойной щелчок по кнопке «ПРОВЕРИТЬ» в первом вопросе и запишем соответствующий код.

Если условие выполняется (выбран верный ответ), то - значение счетчика верных ответов увеличиваем на единицу
- Метку 6(Label6), где выводится :верно/неверно делаем видимой и пишем в ней надпись ВЕРНО зеленым цветом

Давайте его разберем

Если условие не выполняется, то счетчик не увеличиваем, а метку 6 делаем видимой и выводим надпись НЕВЕРНО, причем красным цветом

☝ Очевидно, что для кнопок проверки 2 и 3 вопросов код будет абсолютно таким же за исключением номеров Label-ов для вывода ВЕРНО/НЕВЕРНО, поэтому Вы можете написать его самостоятельно (не забывайте, что в редакторе можно использовать копирование кода – это гораздо быстрее)

Создание простого теста

Слайд 22

Следующим шагом опишем процедуры проверки ответа в вопросах 4 и 5

Следующим шагом опишем процедуры проверки ответа в вопросах 4 и 5 –
– там код будет немного другой ввиду множественного выбора и других используемых компонент

ШАГ 7

Сделаем двойной щелчок по кнопке «ПРОВЕРИТЬ» в 4 вопросе и запишем соответствующий код.

Проверяем выбранные ответы : ответ будет верным только тогда, когда первый и четвертый боксы будут выбраны (True), а второй и третий не выбраны (false)

В этом случае- значение счетчика верных ответов увеличиваем на единицу
- Метку 9(Label9) делаем видимой и пишем в ней надпись ВЕРНО зеленым цветом

Если условие не выполняется, то счетчик не увеличиваем, метку 9 делаем видимой и выводим надпись НЕВЕРНО красным цветом

Создание простого теста

Слайд 23

Хотя вопрос 5 тоже с множественным выбором, то код обработки этой

Хотя вопрос 5 тоже с множественным выбором, то код обработки этой кнопки
кнопки аналогичен кнопке 4, но давайте добавим в нее дополнительные функции: после нажатия этой кнопки должны выводиться результаты теста в Memo

ШАГ 8

Эта часть аналогична кнопке 4 вопроса и объяснений здесь не требуется

Делаем видимым компонент Memo для вывода результатов

Выводим результаты теста

Создание простого теста

Слайд 24

Давайте посмотрим, как выводится в Memo результат теста

ШАГ 8

В апострофах

Давайте посмотрим, как выводится в Memo результат теста ШАГ 8 В апострофах
(одинарных кавычках), как и в Турбо Паскале, выводится строка символов:
Всего вопросов - 5

Давайте вспомним таблицу кодировки символов - ASCII – символы с номерами 13 и 10 зарезервированы для переноса курсора на следующую строку (Enter) и в ее начало соответственно
Это значит, что вывод следующего элемента начнется с начала следующей строки

Опять вывод строки
Количество верных ответов

Создание простого теста

Слайд 25

Давайте посмотрим, как выводится в Memo результат теста

ШАГ 8

Выводим значение

Давайте посмотрим, как выводится в Memo результат теста ШАГ 8 Выводим значение
счетчика k, естественно, переводя его в строковый тип (с этим мы уже знакомы)
(inttostr)

Опять переводим курсор на начало следующей строки

Выводим текст
Процент
выполнения
теста

А здесь подсчитываем процент выполнения и переводим его в строковый тип (из вещественного)

(floattostr)

Выводим символ %

И вот результат, выведенный в Memo

Создание простого теста