Разделы презентаций


Меню программы на Delphi

Содержание

Объектно – ориентированное программирование на DELPHI - 8@ Краснополянская школа № 1 Домнин Константин Михайлович 2006 год

Слайды и текст этой презентации

Слайд 1 Цикл презентаций «ООП на Delphi» посвящен объектно – ориентированному

программированию с использованием одной из самых распространенных систем быстрой разработки

приложений – Delphi
Используя данный учебный курс, можно самостоятельно овладеть основами объектно – ориентированного программирования на Delphi. Для расширения Ваших знаний к курсу приложен ряд учебных пособий и справочников по Delphi
Цикл содержит 13 презентаций:
ООП на Delphi – 1: Знакомство с системой программирования Borland Delphi. Объекты (компоненты) и их свойства и методы
ООП на Delphi – 2: Первая программа на Delphi, сохранение и компиляция
ООП на Delphi – 3: Программное изменение свойств объектов
ООП на Delphi – 4: Условия в Delphi. Создание простого теста
ООП на Delphi – 5: Элементы ввода и вывода информации. Обработка исключений
ООП на Delphi – 6: Заставка программы и элемент таймер
ООП на Delphi – 7: Программируем свою игрушку
ООП на Delphi – 8: Меню программы, панель статуса, диалоги
ООП на Delphi – 9: Создаем свой текстовый редактор
ООП на Delphi – 10: Базы данных на Delphi
ООП на Delphi – 11: Калькулятор на Delphi. Обработка исключительных ситуаций
ООП на Delphi – 12: Создаем тестирующую систему
ООП на Delphi – 13: Графика на Delphi

Delphi использует язык программирования Объект Паскаль, поэтому лучше сначала изучить обычный Паскаль и поработать в ТурбоПаскале, а затем и переходить к Delphi – перейти будет очень просто, т.к синтаксис языка остается неизменным.
Изучение ООП на Delphi желательно проводить в старших профильных классах – количество часов, отводимое на информатику там вполне достаточно для освоения основ ООП на Delphi

Цикл презентаций «ООП на Delphi» посвящен объектно – ориентированному программированию с использованием одной из самых распространенных

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

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

Объектно – ориентированное программирование на DELPHI - 8@ Краснополянская школа № 1 Домнин Константин Михайлович 2006 год

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

использовать меню программы и панель статуса, а также познакомиться с

диалогами

DELPHI - 8

Вопросы:
1. Создание меню программы
2. Создание панели статуса
3. Использование диалогов

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

Слайд 4Объектно – ориентированное программирование на DELPHI - 8
Создание меню

программы

Объектно – ориентированное программирование на DELPHI - 8 Создание меню программы

Слайд 5Создание меню программы
Многие профессиональные программы содержать

в своей верхней части главное меню с раскрывающимися опциями (например

пакет офисных программ MS OFFICE)

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


Рассмотрим создание такого меню:

Создание меню программы    Многие профессиональные программы содержать в своей верхней части главное меню с

Слайд 6Создание меню программы
Для создания меню служит

компонент Main Menu, находящийся на вкладке Стандартные

ШАГ 1

Поместим на нашу форму компонент Main Menu

ШАГ 2

Щелкнув правой по Main Menu, выберем в контекстном меню раздел Дизайнер меню – раздел, с помощью которого мы и сформируем нужное нам меню


Создание меню программы    Для создания меню служит компонент Main Menu, находящийся на вкладке СтандартныеШАГ

Слайд 7Создание меню программы
ШАГ 3
Сейчас в дизайнере меню

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

мы хотим иметь.
Пусть меню содержит 3 раздела:
Файл (с опциями Создать, открыть, сохранить)
Правка (с опциями копировать, вырезать, вставить)
Справка (с опциями о программе, помощь)

Печатаем слово Файл и нажимаем Enter

Печатаем Создать и снова Enter, и так же открыть и сохранить

Для того чтобы создать разделяющую полосу, группирующую сходные функции, напечатаем знак «-» (минус и тоже Enter)

И так же Выход. (Наименование опций соответствует свойству Caption в инспекторе объектов)

Создание меню программыШАГ 3   Сейчас в дизайнере меню можно сформировать нужные разделы   Сначала

Слайд 8Создание меню программы
ШАГ 3
Щелкаем стрелку вправо

на клавиатуре и таким же образом формируем раздел меню Правка,

а затем и Справка.
Таким образом мы получили систему раскрывающихся меню

Часто раскрывающие опции имеют маленькие пиктограммы для пояснения функции данной опции
Рассмотрим, как их сделать, например для опции Помощь раздела Справка




Создание меню программыШАГ 3    Щелкаем стрелку вправо на клавиатуре и таким же образом формируем

Слайд 9Создание меню программы
ШАГ 3
Находясь в опции

Помощь, открываем свойство Bitmap этой опции в инспекторе объектов и

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


В результате мы получили систему раскрывающихся меню

Посмотреть ->

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

Создание меню программыШАГ 3    Находясь в опции Помощь, открываем свойство Bitmap этой опции в

Слайд 10Объектно – ориентированное программирование на DELPHI - 8
Создание панели

статуса

Объектно – ориентированное программирование на DELPHI - 8 Создание панели статуса

Слайд 11Панель статуса
Панель статуса (состояния) – Status Bar,

как и система раскрывающихся меню является неотъемлемой частью многих программ

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


В нашей программе с меню уже создана панель статуса (точнее полоса состояния, состоящая из нескольких панелей (из четырех))

Компонент StatusBar находится на вкладке Win 32


Это первая панель полосы состояния (StatusBar.Panel[0]) – нумерация панелей начинается с нуля !

Основное свойство панели – отображаемый в ней текст, например StatusBar.Panel[1].Text:=‘Время’; означает, что во второй панели будет выведен текст ‘Время’

Посмотрите в инспекторе объектов другие свойства StatusBar

Панель статуса   Панель статуса (состояния) – Status Bar, как и система раскрывающихся меню является неотъемлемой

Слайд 12Панель статуса
Для примера давайте создадим программу с

полосой состояния из двух панелей, в первой из которых отображается

текст «Время работы с программой :», а во второй идет отсчет времени работы с программой

ШАГ 1

Помещаем на форму компонент StatusBar




В инспекторе объектов раскрываем свойство Status Bar-a Panels

В редакторе панелей добавляем 2 панели, нажимая на пиктограмму добавления панели

Панель статуса   Для примера давайте создадим программу с полосой состояния из двух панелей, в первой

Слайд 13Панель статуса
Для примера давайте создадим программу с

полосой состояния из двух панелей, в первой из которых отображается

текст «Время работы с программой :», а во второй идет отсчет времени работы с программой

ШАГ 1

Помещаем на форму компонент StatusBar



В свойстве первой панели Text (Panel 0) пишем текст «Время работы с программой»
В свойстве Width (ширина панели) поставим нужную ширину для отображения этого текста (этот текст влазит в 200 пк)

Панель статуса   Для примера давайте создадим программу с полосой состояния из двух панелей, в первой

Слайд 14Панель статуса
Для примера давайте создадим программу с

полосой состояния из двух панелей, в первой из которых отображается

текст «Время работы с программой :», а во второй идет отсчет времени работы с программой

ШАГ 1

Помещаем на форму компонент StatusBar



Для второй панели (Panel 1) писать ничего не будем, потому что в ней будет идти время, поэтому сделаем это программно с использованием элемента Таймер

Панель статуса   Для примера давайте создадим программу с полосой состояния из двух панелей, в первой

Слайд 15Панель статуса
ШАГ 2
Поместим на форму компонент

Таймер, сделаем его тикающим с частотой 1 сек (Enabled=True, Interval=1000)

При выводе в вторую панель времени работы программы нам придется использовать две переменные типа Дата/Время (TDateTime) – есть такой тип данных в Delphi, как и других системах разработки:
В первой переменной (обозначим ее S) – будет храниться время (системное время нашего компьютера) в момент старта программы и изменяться оно при работе программы не будет
Во второй переменной (обозначим ее d) – будет храниться текущее время компьютера, которое будет считываться по таймеру каждую секунду с времени операционной системы

А во второй панели (Panel 1) мы будем выводить разницу d и s, которую преобразуем из типа Дата/Время к строковому типу, соответствующему свойству Text в панели – получится время работы с программой, идущее с нуля

Панель статусаШАГ 2    Поместим на форму компонент Таймер, сделаем его тикающим с частотой 1

Слайд 16Панель статуса
ШАГ 2
Рассмотрим программный код:

Объявим переменные d и s типа Дата/Время (TDateTime)

В процедуре создания формы (запуска приложения) присвоим s текущее время (зафиксируем момент времени)
Панель статусаШАГ 2    Рассмотрим программный код:   Объявим переменные d и s типа

Слайд 17Панель статуса
ШАГ 2
Рассмотрим программный код:

В процедуре OnTimer с каждым «тиканьем» таймера переменной d

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

Во второй панели выводим разницу идущего времени (d) и стоящего на месте (s), преобразуя эту разницу из формата времени (Time) в формат строки (string)


Панель статусаШАГ 2    Рассмотрим программный код:   В процедуре OnTimer с каждым «тиканьем»

Слайд 18Панель статуса
ШАГ 3
Сохраняем, компилируем и запускаем

программу. Мы видим, что во второй панели идет отсчет времени

работы с программой

При создании программного кода нам часто приходится использовать различные типы данных. Также часто приходится делать преобразование типов из одних в другие. Поэтому удобно иметь под рукой справочник по работе с различными типами данных, строками, файлами, памятью – все это есть в прилагаемом к курсу справочнике «Типы данных в Delphi»

Запускаем ->

Панель статусаШАГ 3    Сохраняем, компилируем и запускаем программу. Мы видим, что во второй панели

Слайд 19Объектно – ориентированное программирование на DELPHI - 8
Использование диалогов

Объектно – ориентированное программирование на DELPHI - 8 Использование диалогов

Слайд 20Использование диалогов
А сейчас давайте познакомимся с организацией

диалога компьютера и пользователя в процессе работы программы.

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

Сейчас мы научимся создавать такие диалоговые окна
Надо сказать, что здесь мы будем использовать функции самой операционной системы Windows (WinApi)
Однако в Delphi существует большой набор компонент, реализующих стандартные функции открытия (файла), сохранения, поиска ... но с ними мы познакомимся на следующем уроке при создании собственного текстового редактора

Использование диалогов   А сейчас давайте познакомимся с организацией диалога компьютера и пользователя в процессе работы

Слайд 21Использование диалогов
Итак, диалоги:
Рассмотрим 3 способа

организации диалогов
procedure ShowMessagе
function MessageDlg
function MessageBox

Самый простой способ – использование процедуры ShowMessage (показать сообщение)
Формат записи:
procedure ShowMessage(const Msg: String) – здесь const – выражение строкового типа, которое будет «выдано» в сообщении (и конечно оно записывается в апострофах). Этот способ не только самый простой, но и функционально ограниченный, т.к. в окне диалога есть только кнопка ОК, которая закрывает окно и больше никаких функций

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

1 способ (ShowMessage)

Использование диалогов   Итак, диалоги: Рассмотрим 3 способа организации диалоговprocedure ShowMessagе function MessageDlg function MessageBox

Слайд 22Использование диалогов
Давайте сначала запустим программу и посмотрим

действие диалогов, а затем разберем код

Запустите программу и попробуйте:
Ввести в Edit любого коэффициента не цифру, а букву
Нажать кнопку НАЙТИ, не введя все коэффициенты

Запустить ->


при ошибочном введении буквы вместо цифры

при нажатии кнопки НАЙТИ, если не все коэффициенты введены

Мы видим, что выходят сообщения

Использование диалогов   Давайте сначала запустим программу и посмотрим действие диалогов, а затем разберем код

Слайд 23Использование диалогов
Рассмотрим код
1.

Попытка ввести в Edit вместо числа букву (страховка пользователя от

случайного нажатия «не той» клавиши

Здесь мы использовали событие Edit1.KeyPress (нажатие клавиши, когда фокус ввода имеет Edit1) – находим его в инспекторе объектов
А дальше понятно:
Делаем проверку условия
Если нажата клавиша, соответствующая одной из множества русских или латинских букв, то ничего не вводим (Key:=#0 – вспомните кодовую таблицу ASCII) и выдаем сообщение, что надо ввести цифру

Использование диалогов   Рассмотрим код    1. Попытка ввести в Edit вместо числа букву

Слайд 24Использование диалогов
Рассмотрим код
2.

Попытка нажать кнопку НАЙТИ, когда еще не все коэффициенты введены

Здесь при нажатии кнопки НАЙТИ проверяется, а не является один из Edit-ов для ввода коэффициентов «пустым»
Если ДА, то напоминаем о необходимости ввести все коэффициенты
ИНАЧЕ следует алгоритм расчета корней уравнения ...
Использование диалогов   Рассмотрим код    2. Попытка нажать кнопку НАЙТИ, когда еще не

Слайд 25Использование диалогов
2 способ (MessageDlg)
function MessageDlg (const

Msg: String; DlgType: TMsgDlgType; Buttons: TMsgDlgButtons; HelpCtx: integer): integer,

Здесь:
const Msg: String – это текст нашего сообщения
DlgType: TMsgDlgType –это вид диалогового окна




Buttons - кнопки диалогового окна: mbYes, mbNo, MbCancel, mbRetry, mbAbort, mbOk, mbIgnore, mbHelp, mbAll, mbYesToAll, mbNoToAll - словом, все, какие ни есть и даже готовые комбинации: mbYesNoCancel, mbOKCancel, mbYesAllNoAllCancel, mbAbortRetryIgnore, bmAbortIgnore.

HelpCtx: integer – ставьте ноль

Использование диалогов    2 способ (MessageDlg)function MessageDlg (const Msg: String; DlgType: TMsgDlgType; Buttons: TMsgDlgButtons; HelpCtx:

Слайд 26Использование диалогов
2 способ (MessageDlg)

И опять давайте посмотрим пример, а затем разберем код

Запустите программу и попробуйте:
Нажать на кнопку ОЧИСТИТЬ

Запустить ->

В результате мы видим сообщение более функциональное

В сообщении присутствует значок для привлечения внимания и уже две кнопки, дающие возможность выбора
Недостаток: кнопки не русифицированы

Использование диалогов    2 способ (MessageDlg)   И опять давайте посмотрим пример, а затем

Слайд 27Использование диалогов
Рассмотрим код

Это текст

нашего сообщения


Это вид значка в

окне


Здесь мы выбрали 2 кнопки: ОК и Cancel

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


Использование диалогов   Рассмотрим код   Это текст нашего сообщения     Это

Слайд 28Использование диалогов
Рассмотрим код

Если нажата

кнопка ОК, то очищаем все Edit -ы

В этом алгоритме мы используем case – выбор (вспомните Паскаль)





Если нажата кнопка Cancel, закрываем диалог

Использование диалогов   Рассмотрим код   Если нажата кнопка ОК, то очищаем все Edit -ы

Слайд 29Использование диалогов
function MessageBox (Parent: HWnd; Txt, Caption: PChar; TextType: Word):

Integer




3 способ (MessageBox)
Здесь:
Parent: HWnd–

"хозяин" (окно, владеющее сообщением)
Txt - 'текст сообщения'
Caption – заголовок диалогового окна
TextType – параметр, определяющий вид иконки в окне и какие в нем будут кнопки, например (некоторые из вариантов):

Использование диалоговfunction MessageBox (Parent: HWnd; Txt, Caption: PChar; TextType: Word): Integer    3 способ (MessageBox)

Слайд 30Использование диалогов
3 способ (MessageBox)

Преимущества этого способа в том, что кнопки окна «русские» (точнее

говоря – они соответствуют языковой версии установленной на компьютере Windows)

Запустите программу и попробуйте:
Нажать на кнопку ВЫХОД

Запустить ->

В результате мы видим сообщение с русскими кнопками – это удобнее

Использование диалогов    3 способ (MessageBox)   Преимущества этого способа в том, что кнопки

Слайд 31Использование диалогов
Рассмотрим код

Указываем, что «хозяином» диалога является форма Form1

Это текст нашего сообщения



Это заголовок диалогового окна


Это параметр, указывающий, что в окне 2 кнопки (ДА и НЕТ) и иконка предупреждения


Использование диалогов   Рассмотрим код    Указываем, что «хозяином» диалога является форма Form1

Слайд 32Использование диалогов
Рассмотрим код

Если выбрана кнопка ДА (Yes), то форма 1 закрывается




Если выбрана кнопка НЕТ (no), диалог прерывается

И на этом мы закончим знакомство с диалогами

Использование диалогов   Рассмотрим код    Если выбрана кнопка ДА (Yes), то форма 1

Слайд 33 На этом уроке мы научились создавать

выпадающее меню программы, использовать панель статуса, а также познакомились с

созданием диалогов пользователя и программы

ИТОГИ УРОКА:

ООП на Delphi – 9:
Мы познакомимся с стандартными диалогами и создадим свой текстовый редактор

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

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

Слайд 34Домнин Константин Михайлович
E – mail: kdomnin@list.ru
2006 год.

Домнин Константин МихайловичE – mail: kdomnin@list.ru2006 год.

Обратная связь

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

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика