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


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

Содержание

 Memo Компонент Memo (вкладка Standard) является редактором многострочного текста, в котором формат текста (шрифт, его атрибуты, выравнивание) одинаков для всего текста. Он снабжен многими функциями, свойственными большинству редакторов со стандартными комбинациями горячих клавиш для выделения

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

Слайд 1Использование строчного редактора, главного и контекстного меню, добавление новой формы

в проект и обработка исключительных ситуаций
Лекция 3

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

Слайд 2 Memo

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

его атрибуты, выравнивание) одинаков для всего текста. Он снабжен многими

функциями, свойственными большинству редакторов со стандартными комбинациями горячих клавиш для выделения фрагментов текста, работы с буфером обмена, отмены последней команды редактирования.
Весь текст окна Memo можно рассматривать как единое целое, представленное одной строкой типа string, внутри которой используются разделители типа символов возврата каретки и перевода строки, либо как N отдельных строк, разделенных между собой клавишей Enter.
 Memo		Компонент Memo (вкладка Standard) является редактором многострочного текста, в котором формат текста (шрифт, его атрибуты, выравнивание) одинаков для всего текста.

Слайд 3Основные свойства компонента Memo

Основные свойства компонента Memo

Слайд 4Основные свойства компонента Memo

Основные свойства компонента Memo

Слайд 5Методы свойства Lines
Для работы со строками используется свойство Lines, к

которому можно применять следующие методы

Методы свойства Lines		Для работы со строками используется свойство Lines, к которому можно применять следующие методы

Слайд 6Методы компонента Memo
При работе с компонентом часто используются следующие методы: • Clear –

позволяет очистить содержимое компонента Memo. Например, Memo1.Clear; • SetFocus – делает компонент Memo активным

(устанавливает фокус). Например, Memo1.SetFocus
Пример использования компонента

procedure TForm1.Button1Click(Sender: TObject); var a: array[1..5] of string; i: integer; st: string; begin if Memo1.Lines.Count=0 //исходные данные then begin ShowMessage(‘Исходные данных нет’); exit end else begin st:=’Введенный массив:’+#13; for i:=1 to 5 do begin a[i]:=Memo1.lines[i-1]; st:=st+IntToStr(i)+a[i]+#13 end; ShowMessage(st) end end;
 

Методы компонента MemoПри работе с компонентом часто используются следующие методы: • Clear – позволяет очистить содержимое компонента Memo. Например, Memo1.Clear;

Слайд 7Компонент MainMenu

Компонент MainMenu (вкладка Standard) представляет собой главное меню программы.
Он является невизуальным,

место его размещения на форме в процессе проектирования не имеет

значения для пользователя, так как при выполнении приложения он увидит только сгенерированное этим компонентом меню.
После установки компонента на форму необходимо создать пункты меню. Для этого следует либо дважды щелкнуть на компоненте левой кнопкой мыши, либо щелкнуть на нем правой кнопкой и выбрать в контекстном меню команду Menu Designer, либо щелкнуть в правой половине строки свойства Items
в инспекторе объектов: 
Для создания нового пункта меню необходимо поместить курсор в рамку из точек, обозначающую место расположения раздела, и задать в Инспекторе Объектов его свойство Caption, которое обозначает подпись пункта меню.
Если в свойство Caption ввести символ «–», то будет создана разделительная черта, можно воспользоваться командой контекстного меню InsertSeparator (Вставить разделитель).
Компонент MainMenuКомпонент MainMenu (вкладка Standard) представляет собой главное меню программы. Он является невизуальным, место его размещения на форме в процессе

Слайд 8Компонент MainMenu

Каждый пункт меню или подменю, т.е. каждый элемент свойства

Items, является объектом типа TMenuItem, обладающим своими свойствами, методами, событиями. Свойство

Name задает имя объекта, соответствующего разделу меню. Во избежание путаницы рекомендуется задавать объектам осмысленные имена.
Для вставки нового пункта меню необходимо выбрать пункт меню, выше или левее которого требуется сделать вставку и нажать клавишу Ins или вызвать команду Insert из контекстного меню (появляется при щелчке на окне правой кнопкой мыши).
Чтобы переместить пункт меню в другое место, необходимо отбуксировать его туда мышью. Для удаления выбранного пункта меню нужно нажать Del или вызвать команду Delete из контекстного меню.
Для создания подменю необходимо выбрать пункт меню, для которого требуется создать подменю, и нажать Ctrl+-> или вызвать команду Create Submenu из контекстного меню.
В процессе конструирования меню инспектор объектов отражает свойства пункта меню, в данный момент создаваемого пользователем.

Компонент MainMenu				Каждый пункт меню или подменю, т.е. каждый элемент свойства Items, является объектом типа TMenuItem, обладающим своими свойствами,

Слайд 9Компонент MainMenu
Свойства пунктов меню

Компонент MainMenuСвойства пунктов меню

Слайд 10Компонент MainMenu
При работе с меню основным используемым событием является событие OnClick,

возникающее при щелчке на пункте меню или при нажатии «горячих»

клавиш. К обработчику этого события можно перейти, используя вкладку Events инспектора объектов или щелкнув мышью по пункту меню на форме (обратите внимание – на форме, а не в Конструкторе Меню!). Если пункты меню повторяют какие-либо действия, т.е. события для данных действий уже существуют, то необходимо только в инспекторе объектов данного пункта меню выбрать уже сгенерированное событие.

Компонент MainMenu		При работе с меню основным используемым событием является событие OnClick, возникающее при щелчке на пункте меню или

Слайд 11Компонент PopupMenu
Компонент PopupMenu (вкладка Standard) предназначен для формирования контекстного меню. Контекстное меню создается аналогично

главному. Основное отличие заключается в том, что создание его завершается

привязкой к одному или несколькими элементам управления.
Свойство элементов PopupMenu должно быть в значении PopupMenu1 (имя компонента):  , в противном случае контекстное меню при нажатии на правую клавишу мыши не вызовется.
 

Компонент PopupMenu		Компонент PopupMenu (вкладка Standard) предназначен для формирования контекстного меню. Контекстное меню создается аналогично главному. Основное отличие заключается в том, что

Слайд 12Компонент PopupMenu
Для компонента PopupMenu основное событие – OnPopup, значение которого аналогично OnClick для MainMenu

Компонент PopupMenuДля компонента PopupMenu основное событие – OnPopup, значение которого аналогично OnClick для MainMenu

Слайд 13Добавление в проект новой формы

Каждое приложение может иметь несколько форм,

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

закрытии главного окна (формы) приложения прекращается работа всего приложения, при этом также закрываются все другие окна приложения. В начале работы Delphi по умолчанию делает главной первую форму (с первоначальным названием Form1).
Для подключения новой формы к проекту нужно воспользоваться командой File/New/Form или щелчком мыши на командной кнопке New Form   (Создать форму). При этом появятся новая пустая форма и связанный с ней модуль. Имя формы, данное ей Delphi по умолчанию, можно изменить на имя, более подходящее по смыслу. Переключаться между имеющимися в проекте формами можно с помощью командной кнопки View Form (Отобразить форму) или комбинацией Shift+F12.

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

Слайд 14Добавление в проект новой формы
У программы может быть только одна главная

форма – это форма, которая показывается при запуске программы, и неограниченное

число подчиненных форм, которые исходно на экране не появляются, а вызываются по команде из программы с помощью специальных методов. При конструировании приложения, состоящего из нескольких форм (окон), указать главную форму можно в окне параметров проекта, вызываемом командой Project/Options…. Главная форма выбирается в списке 
Main form вкладки Forms.
Форма с информационным окном About Box



При работе с программой иногда возникает необходимость вывода справки о приложении. Для этой цели можно использовать форму с информационным окном AboutBox, для вызова которой воспользуемся пунктом главного меню File/New/Other, в диалоговом окне New Items на закладке Form выберем пиктограмму AboutBox. Информационное окно имеет вид формы, на которой размещены компоненты Label, Image и Button . Работать с AboutBox можно как с обычной формой.

Добавление в проект новой формы		У программы может быть только одна главная форма – это форма, которая показывается при запуске

Слайд 15Организация взаимодействия форм
Главная форма должна знать о существовании другой формы,

это достигается ссылкой на модуль формы в предложении Uses, то есть,

если одна форма выполняет какие-либо действия с другой формой, то в списке uses раздела implementation (или interface) модуля первой формы должна быть ссылка на модуль второй формы, например:

Implementation
uses Unit2; //Ссылка на модуль второй формы
Ссылку на модуль другой формы можно устанавливать программно, но Delphi позволяет автоматически добавить ссылки следующим образом: на этапе разработки нужно активизировать главную форму, после чего обратиться к команде File/Uses Unit. В появившемся диалоговом окне нужно выбрать имя нужного модуля и щелкнуть на кнопке ОК. Вставляется ссылка в предложение, стоящее за зарезервированным словом Implementation, так как обычно главное окно в своей интерфейсной части не ссылается на элементы интерфейсной части второго окна.
После создания новой формы сразу нужно ее сохранить.

Организация взаимодействия форм		Главная форма должна знать о существовании другой формы, это достигается ссылкой на модуль формы в

Слайд 16Организация взаимодействия форм
Диалоговое окно Information




Если программист забудет сослаться на модуль,

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

в диалоговом окне Information и предложит вставить недостающую ссылку. В диалоговом окне сообщается о том, что одна форма использует другую, но модуль второй формы отсутствует в списке uses модуля первой формы. Для автоматического добавления ссылки на модуль достаточно нажать кнопку Yes. Форма может выполнять различные операции не только с другой формой, но и с её компонентами. В этом случае также нужна ссылка на модуль другой формы.
Например,
 Label1.Caption:=Form2.Edit1.Text.
Здесь при нажатии кнопки Button2 формы Form1 в надписи Label1 отображается текст редактора Edit1, расположенного на форме Form2.

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

Слайд 17Особенности модальных форм
Форма может быть модальной и немодальной. Немодальная форма позволяет переключиться в

другую форму приложения без своего закрытия. Модальная форма требует обязательного закрытия

перед обращением к любой другой форме приложения.
Менеджер проекта автоматически подключает новую форму к списку используемых форм и обеспечивает все необходимые действия по ее инициализации. Для того чтобы показать на экране ранее созданную подчиненную форму, можно применить один из следующих методов:
Имя_формы.Show; или
Имя_формы.ShowModal.

Особенности модальных форм		Форма может быть модальной и немодальной. Немодальная форма позволяет переключиться в другую форму приложения без своего закрытия. Модальная

Слайд 18Особенности модальных форм
Метод Show вызывает форму в немодальном режиме, а метод ShowModal вызывает форму

в модальном режиме и возвращает результат диалога с пользователем.
 Модальная форма

полностью берет на себя дальнейшее управление программой, поэтому оператор, следующий за вызовом ShowModal, получит управление только после её закрытия.
Для удаления формы с экрана используются методы Hide (спрятать) и Close (закрыть).
Для модальной формы определено свойство ModalResult, доступное только во время выполнения приложения. При открытии формы методом ShowModal сначала свойство ModalResult равно нулю (константа mrNone). Как только при обработке каких-то событий на форме свойству ModalResult будет присвоено положительное значение, модальная форма закроется. А значение её свойства ModalResult можно будет прочитать как результат, возвращаемый методом ShowModal.
Значения свойства ModalResult определяются тем, какая кнопка была нажата при закрытии модальной формы, и задаются следующими константами: mrNone; mrOk; mrCancel; mrAbort; mrRerty; mrIgnore; mrYes; mrNo; mrAll; mrNoToAll; mrYesToAll (за префиксом mr следует название кнопки).
Особенности модальных форм		Метод Show вызывает форму в немодальном режиме, а метод ShowModal вызывает форму в модальном режиме и возвращает результат диалога

Слайд 19Исключительные ситуации
В ходе выполнения программы могут возникать динамические ошибки (ошибки

времени выполнения Run Time Errors), которые являются следствием неправильной работы

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

Исключительные ситуации 		В ходе выполнения программы могут возникать динамические ошибки (ошибки времени выполнения Run Time Errors), которые

Слайд 20
Возникающие при выполнении программы динамические ошибки автоматически преобразовываются средствами Delphi в соответствующие

объекты-исключения. 
Объект-исключение содержит информацию о типе ошибки и при возникновении исключения

заставляет программу временно приостановиться.
После обработки исключения объект-исключение автоматически удаляется. При работе в среде Delphi при каждой исключительной ситуации среда перехватывает управление программой.
Для отмены реакции среды на исключительную ситуацию необходимо вызвать опцию Tools/Debugger Options и на вкладке Language Exceptions отменить переключатель Stop on Delphi Exceptions.
  В Delphi базовым классом для всех исключений служит класс Exception, от которого порождены многочисленные дочерние типы, соответствующие часто встречающимся случаям ошибок ввода/вывода, распределения памяти и т.п.

Исключительные ситуации

Возникающие при выполнении программы динамические ошибки автоматически преобразовываются средствами Delphi в соответствующие объекты-исключения. 		Объект-исключение содержит информацию о типе ошибки и

Слайд 21Наиболее используемые классы исключений

Наиболее используемые классы исключений

Слайд 22Обработка исключений
Для обработки исключений введены две конструкции:
try..finally и

try..except.
Конструкция try .. finally
Конструкция try..finally состоит из двух блоков (try и

finally):
try
//операторы, выполнение которых может вызвать ошибку
finally
//операторы, выполняемые всегда, даже в случае ошибки
end;
Если в любом из операторов блока try возникает исключение, то управление передается первому оператору блока finally. Если исключение не возникло, то выполняются все операторы обоих блоков. Конструкция try..finally не обрабатывает исключение, а выполняет действия, которые должны быть произведены даже в случае возникновения ошибки.

Обработка исключений	Для обработки исключений введены две конструкции: try..finally  и  try..except.	Конструкция try .. finallyКонструкция try..finally состоит из двух

Слайд 23Обработка исключений
Например,
var f: File;
begin AssignFile(f, 'Somefile.ext');
try // оператор, в котором возможна

ошибка
Reset(f); // работы с файлом
Finally
CloseFile(f)
end;

Обработка исключенийНапример,var f: File;begin AssignFile(f, 'Somefile.ext');try // оператор, в котором возможна ошибкаReset(f); // работы с файломFinallyCloseFile(f)end;

Слайд 24Обработка исключений
Конструкция try .. except
Конструкция try..except также состоит из двух блоков
(try

и except):

try
//операторы, выполнение которых может вызвать ошибку
except
//операторы, которые выполняются только

в случае ошибки
end;
 
Конструкция try..except работает так: если в любой из инструкций блока try возникает исключение, то управление передается первой инструкции блока except, которая ликвидирует исключительную ситуацию и восстановит работоспособность программы. Если же исключение не возникло, то инструкции блока except не выполняются.
Обработка исключений	Конструкция try .. exceptКонструкция try..except также состоит из двух блоков (try и except):try//операторы, выполнение которых может вызвать ошибкуexcept//операторы,

Слайд 25Обработка исключений
Например:
var f: File;
begin
AssignFile(f, 'Somefile.txt');
try //оператор, в котором возможна ошибка
Reset(f);

// работы с файлом
except
ShowMessage(‘Ошибка работы с файлом Somefile.txt’);
CloseFile(f)
end;
end;

Обработка исключенийНапример:var f: File;beginAssignFile(f, 'Somefile.txt');try //оператор, в котором возможна ошибкаReset(f); // работы с файломexceptShowMessage(‘Ошибка работы с файлом

Слайд 26Обработка исключений
Блок except можно разбить на несколько частей с помощью конструкции on..do,

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

обработки:
Try
Оператор1;
Оператор2;
. . .
Except
on Идентификатор1: класс исключения do Оператор обработки ИС этого класса;
on Идентификатор2: класс исключения do Оператор обработки ИС этого класса;
. . .
else Операторы обработки исключения по умолчанию
end;

Обработка исключений		Блок except можно разбить на несколько частей с помощью конструкции on..do, позволяющей анализировать класс исключения для его более

Слайд 27Обработка исключений
При возникновении исключительной ситуации конструкции on..do просматриваются последовательно, в

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

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

Обработка исключений		При возникновении исключительной ситуации конструкции on..do просматриваются последовательно, в порядке их описания. 		Каждый тип исключительной ситуации,

Слайд 28Обработка исключений
Идентификатор – это локальная переменная класса исключения, которую можно использовать

для доступа к объекту возникшего исключения внутри конструкции on..do. 
Идентификатор (произвольное имя, заданное

программистом) является необязательным элементом и может отсутствовать, при этом не ставится и разделительный знак двоеточия (:).
Стандартная обработка подразумевает вывод на экран сообщения с указанием типа ошибки, имени модуля и адреса, где она имела место. Однако ее легко переопределить:
Try
U:= 220.0;
R:= 0;
I:=U/R;
Except
on EZeroDivide do ShowMessage('Короткое замыкание!')
end;

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

Слайд 29Обработка исключений
Можно обработать исключение со стандартным сообщением кода ошибки. Например:
try
Reset(f);
while

not EOF(f) do
begin … end; // возможна ошибка работы с

файлом
Close(f);
except on E:EInOutError do ShowMessage(′При выполнении файловой операции’ + #13#10 + ‘возникла ошибка №′+ IntToStr(E.ErrorCode))
end;

Обработка исключений		Можно обработать исключение со стандартным сообщением кода ошибки. Например:tryReset(f);while not EOF(f) dobegin … end; // возможна

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

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

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

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

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


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

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