Элементы ввода и вывода на Delphi

Содержание

Слайд 2

Объектно – ориентированное программирование на DELPHI - 5 @ Краснополянская школа

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

@ Краснополянская школа №

1 Домнин Константин Михайлович 2006 год
Слайд 3

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

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

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

DELPHI - 5

Вопросы:
1. Элементы ввода и вывода информации
2. Создание программы расчета корней квадратного уравнения
3. Обработка исключений

Слайд 4

Объектно – ориентированное программирование на DELPHI - 5 1. Элементы ввода и вывода информации

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

1. Элементы ввода

и вывода информации
Слайд 5

Элементы ввода и вывода информации В каждой программе для взаимодействия компьютера

Элементы ввода и вывода информации

В каждой программе для взаимодействия компьютера

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

Рассмотрим подробнее некоторые часто применимые компоненты, их свойства и применение

Delphi содержит большой набор компонент для ввода, вывода и редактирования информации

Слайд 6

Элементы ввода и вывода информации Компонент Label (метка) Label (метка) Применяется

Элементы ввода и вывода информации

Компонент Label (метка)

Label (метка)
Применяется для отображения

текста, который не изменяется пользователем. (только программно)

Основное свойство: Caption (надпись)
Это свойство можно изменять программно:
Label1.Caption:=‘Привет !’;
Некоторые дополнительные свойства
Изменение цвета шрифта
Label1.Font.Color:=RGB(200,100,200);
Изменение размера шрифта
Label1.Font.Size:=24;

☝ Посмотрите внимательно набор свойств компонента Label в инспекторе объектов и поэкспериментируйте с ними

Слайд 7

Элементы ввода и вывода информации Компонент Edit (окно редактирования) Edit Отображение,

Элементы ввода и вывода информации

Компонент Edit (окно редактирования)

Edit
Отображение, ввод и

редактирование однострочных текстов. Имеется возможность оформления объемного бордюра.

Основное свойство: Text
Это свойство можно изменять программно и путем ввода с клавиатуры
Edit1.Text:=‘Привет!';
Некоторые дополнительные свойства:
Изменение цвета шрифта
Edit1.Font.Color:=rgb(255,255,255); / цвет шрифта – белый/
Изменение фона окна
Edit1.Color:=rgb(0,0,0); /фон окна – черный/

☝ Посмотрите внимательно набор свойств компонента Edit в инспекторе объектов и поэкспериментируйте с ними

Слайд 8

Элементы ввода и вывода информации Компонент Memo (многострочное окно редактирования) Memo

Элементы ввода и вывода информации

Компонент Memo (многострочное окно редактирования)

Memo
Отображение, ввод

и редактирование многострочных текстов. Имеется возможность оформления объемного бордюра.

Основное свойство: Lines
Откройте в инспекторе объектов свойство Lines и у Вас откроется редактор строк

Слайд 9

Элементы ввода и вывода информации Компонент Memo (многострочное окно редактирования) Memo

Элементы ввода и вывода информации

Компонент Memo (многострочное окно редактирования)

Memo
Отображение, ввод

и редактирование многострочных текстов. Имеется возможность оформления объемного бордюра.

☝ Посмотрите внимательно набор свойств компонента Memo в инспекторе объектов и поэкспериментируйте с ними

В компоненте Memo формат (шрифт, его атрибуты, выравнивание) одинаков для всего текста и определяется свойством Font.

Если в коде мы запишем:
memo1.Color:=rgb(0,255,255);
memo1.Font.Size:=14;
memo1.Font.Color:=rgb(255,0,0);
memo1.Text:='Привет !';
то увидим следующее:

Слайд 10

Элементы ввода и вывода информации Компонент List Box List Box Отображение

Элементы ввода и вывода информации

Компонент List Box

List Box
Отображение стандартного окна

списка Windows, позволяющего пользователю выбирать из него пункты.

Основное свойство: Items

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

listbox1.Items.Add(‘Оля'); - добавление записи Оля
listbox1.Color:=rgb(0,255,255);; - установка цвета фона бокса

Слайд 11

Элементы ввода и вывода информации Компонент Rich Edit Rich Edit Компонент

Элементы ввода и вывода информации

Компонент Rich Edit

Rich Edit
Компонент представляет собой

окно редактирования в стиле Windows 95 в обогащенном формате RTF, позволяющее производить выбор атрибутов шрифта, поиск текста и многое другое .

☝ Посмотрите внимательно набор свойств компонента Rich Edit в инспекторе объектов и поэкспериментируйте с ними

Элемент Rich Edit похож по свойствам на Memo, но обладает большими возможностями
Вы можете менять атрибуты текста, выполняя отдельные фрагменты различными шрифтами, размерами, цветами, стилями. Устанавливаемые атрибуты влияют на выделенный текст или, если ничего не выделено, то на атрибуты нового текста, вводимого начиная с текущей позиции курсора

Слайд 12

Элементы ввода и вывода информации На этом знакомство с компонентами ввода,

Элементы ввода и вывода информации

На этом знакомство с компонентами ввода,

вывода и редактирования информации закончим
Отметим, что мы рассмотрели лишь часто применимые компоненты, с другими вы можете познакомиться в справочнике А.Я. Архангельского «100 компонентов общего назначения Delphi», который приложен к данному курсу

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

Слайд 13

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

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

2. Создаем программу

расчета корней квадратного уравнения
Слайд 14

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

Программа расчета корней квадратного уравнения

Прежде, чем приступить к разработке программы,

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

Алгоритм данной программы известен каждому школьнику, его можно изобразить в виде следующей блок - схемы

Нахождение дискриминанта
d = b2 – 4 ac

Конец

Ввод коэффициентов
a, b, c

Корней нет

Начало

d<0

нет

да

d=0

нет

да

Два корня

Один корень

Слайд 15

Программа расчета корней квадратного уравнения После разработки алгоритма приступим к его

Программа расчета корней квадратного уравнения

После разработки алгоритма приступим к его

реализации в Delphi


На форме должны быть:
3 Edit-a для ввода коэффициентов уравнения
1 Edit для отображения вычисления дискриминанта
2 Edit-a для отображения вычисления корней уравнения
2 кнопки:
«НАЙТИ» - для вычисления корней
«ОЧИСТИТЬ» - для очистки всех Edit – oв
несколько Label –ов для вывода текста
Причем для украшения программы применим компонент Manifest XP, а также Group Box

Рассмотрим создание программы по шагам, причем объяснений будет уже меньше – мы уже кое – что умеем (смотри предыдущие уроки)

Слайд 16

Программа расчета корней квадратного уравнения ШАГ 1 Запускаем Delphi, размещаем на

Программа расчета корней квадратного уравнения

ШАГ 1

Запускаем Delphi, размещаем на форме

необходимые компоненты:

Group Box2

Компонент Group Box находится на стандартной панели компонент
В свойстве Group Box – Caption делаем соответствующие надписи

Group Box1

Group Box3

Слайд 17

Программа расчета корней квадратного уравнения ШАГ 1 Размещаем все Label –ы

Программа расчета корней квадратного уравнения

ШАГ 1

Размещаем все Label –ы для

отображения текста

Label1

Label2

Label3

Label4

Label5

Label6

Label7

Слайд 18

Программа расчета корней квадратного уравнения ШАГ 1 Размещаем Edit-ы для отображения

Программа расчета корней квадратного уравнения

ШАГ 1

Размещаем Edit-ы для отображения и

ввода данных

Edit1

Edit2

Edit3

Edit6

Edit4

Edit5

Слайд 19

Программа расчета корней квадратного уравнения ШАГ 1 И наконец размещаем кнопки

Программа расчета корней квадратного уравнения

ШАГ 1

И наконец размещаем кнопки и

манифест XP

Manifest XP

Button1

Button2

Делаем соответствующие надписи на кнопках, подгоняем размер формы – и сейчас можно приступать к написанию кода

Слайд 20

Программа расчета корней квадратного уравнения ШАГ 2 Сейчас в интерфейсной части

Программа расчета корней квадратного уравнения

ШАГ 2

Сейчас в интерфейсной части модуля

необходимо объявить используемые переменные (нажмите F12 – и вы в редакторе)


Объявляем переменные и указываем их тип – real (все величины могут принимать действительные значения

Слайд 21

Программа расчета корней квадратного уравнения ШАГ 3 Приступаем к написанию кода,

Программа расчета корней квадратного уравнения

ШАГ 3

Приступаем к написанию кода, сначала

для кнопки «НАЙТИ» (Button1). Делаем по ней двойной щелчок и мы в редакторе кода, где записываем следующий код (это знакомый нам Паскаль, но есть небольшие отличия)

Это процедура нажатия на кнопку «НАЙТИ», созданная Delphi автоматически

А эти три строчки нам пока незнакомы
Что это?

Слайд 22

Программа расчета корней квадратного уравнения ШАГ 3 Приступаем к написанию кода,

Программа расчета корней квадратного уравнения

ШАГ 3

Приступаем к написанию кода, сначала

для кнопки «НАЙТИ» (Button1). Делаем по ней двойной щелчок и мы в редакторе кода, где записываем следующий код (это знакомый нам Паскаль, но есть небольшие отличия)

Дело в том, что переменные a,b и с – вещественного типа, а значение окна редактирования (Edit.Text) –имеет строковый тип
Поэтому присваивание напрямую:
a:= Edit1.Text вызовет ошибку несоответствия типов
Выражение strtofloat – указание компилятору перевести строковый тип, присущий тексту Edit-а, в вещественный тип, соответствующий переменной a (b и с)

Слайд 23

Программа расчета корней квадратного уравнения ШАГ 3 Приступаем к написанию кода,

Программа расчета корней квадратного уравнения

ШАГ 3

Приступаем к написанию кода, сначала

для кнопки «НАЙТИ» (Button1). Делаем по ней двойной щелчок и мы в редакторе кода, где записываем следующий код (это знакомый нам Паскаль, но есть небольшие отличия)

Это понятно: вычисление дискриминанта

А здесь опять преобразование типов, только наоборот:
Значению Edit6.Text присваивается значение дискриминанта, но при этом вещественный тип переменной d преобразуется в строковый тип значения Edit-а
(floattostr)

Слайд 24

Программа расчета корней квадратного уравнения ШАГ 3 Приступаем к написанию кода,

Программа расчета корней квадратного уравнения

ШАГ 3

Приступаем к написанию кода, сначала

для кнопки «НАЙТИ» (Button1). Делаем по ней двойной щелчок и мы в редакторе кода, где записываем следующий код (это знакомый нам Паскаль, но есть небольшие отличия)

Проверяем условие (если дискриминант меньше нуля), то выводим в Edit-ах для корней значения «Корней нет»

Иначе рассчитываем корни и выводим их в соответствующих Edit-ах
(Здесь мы немного упростили, объединив две ветви алгоритма в одну)

Слайд 25

Программа расчета корней квадратного уравнения ШАГ 4 Сейчас запишем код для

Программа расчета корней квадратного уравнения

ШАГ 4

Сейчас запишем код для кнопки

«ОЧИСТИТЬ» (Button2)

Свойству Text каждого Edit- а присваиваем пустое значение

Слайд 26

Программа расчета корней квадратного уравнения ШАГ 6 Сохраняем проект, компилируем и

Программа расчета корней квадратного уравнения

ШАГ 6

Сохраняем проект, компилируем и запускаем

готовую программу

Попробуем ввести значение коэффициентов и посмотреть результат

Попробовать ->

☝ А сейчас проверьте работу программы по контрольным примерам:

Слайд 27

Объектно – ориентированное программирование на DELPHI - 5 2. Обработка исключений

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

2. Обработка исключений

Слайд 28

Программа расчета корней квадратного уравнения Давайте разберемся, что такое исключение Запустим

Программа расчета корней квадратного уравнения

Давайте разберемся, что такое исключение

Запустим калькулятор

и попробуем ввести следующие значения коэффициентов:
(а=0, b и c – произвольные)

При нажатии кнопки «НАЙТИ» программа не работает, выходит окно сообщения

В чем дело ?
Давайте посмотрим, как мы находим корни уравнения

Когда переменной а присваивается значение 0, то знаменатель этой дроби тоже ноль, а на ноль делить нельзя –программа не может выполнить действие, которое мы ее заставляем и прерывается – возникает исключительная ситуация (исключение), которое мы должны обработать – написать код

Слайд 29

Программа расчета корней квадратного уравнения Обработка этого исключения Ясно, что мы

Программа расчета корней квадратного уравнения

Обработка этого исключения

Ясно, что мы перед

расчетом дискриминанта и корней должны проверить – а не введен ли в Label1 ноль. Если введен – то это уже не квадратное уравнение и считать надо по другой формуле (x= - c / b), если не введен – можно считать как обычно

Откроем файл нашего проекта (ведь он у нас сохранен) и перейдем в редактор кода

После присвоения переменным a,b и с значений из соответствующих Label-ов вставляем проверку этого условия

Если условие выполняется, то в одном Label-е выводим сообщение, а в другом –результат вычисления по другой формуле

Слайд 30

Программа расчета корней квадратного уравнения Обработка этого исключения Ясно, что мы

Программа расчета корней квадратного уравнения

Обработка этого исключения

Ясно, что мы перед

расчетом дискриминанта и корней должны проверить – а не введен ли в Label1 ноль. Если введен – то это уже не квадратное уравнение и считать надо по другой формуле (x= - c / b), если не введен – можно считать как обычно

Иначе действуем по старому, не забудьте добавить begin …end

Сохраните, скомпилируйте, запустите программу и попробуйте ввести для а ноль, для b,с – произвольно: программа считает

Таким образом мы обработали одно исключение, но может быть, есть еще что-то?

попробовать

Слайд 31

Программа расчета корней квадратного уравнения А что будет, если мы случайно

Программа расчета корней квадратного уравнения

А что будет, если мы случайно

в окно ввода коэффициента уравнения введем вместо числа – текст или какие – то знаки препинания (или вообще ничего не введем)?

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

☝ При создании даже простой программы мы всегда должны обдумывать и обрабатывать исключения, хотя часто они «не видны» и проявляются только в некоторых ситуациях при работе уже готовой программы
Обработка исключений – дело довольно кропотливое и в наш курс не входит, хотя на следующих уроках мы будем на это обращать внимание

Слайд 32

Программа расчета корней квадратного уравнения На этом уроке мы научились использовать

Программа расчета корней квадратного уравнения

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

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

ИТОГИ УРОКА:

ООП на Delphi – 6:
Мы научимся создавать
приложения, содержащие несколько форм,
заставку, появляющуюся при запуске программы
приложения, использующие элемент таймер

НА СЛЕДУЮЩЕМ УРОКЕ: