Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лекції для 3ОТ1.doc
Скачиваний:
10
Добавлен:
21.02.2016
Размер:
16.31 Mб
Скачать

Упражнения. Совершенствование проекта.

1. Изменить интерфейс программы: изменить шрифты, цвет экрана и букв.

Подсказка. Возможно придется в коде подкорректировать количество пробелов.

2. Сделать так, чтобы когда курсор мыши находится в поле ListBox1, появлялась бы подсказка о том, что надо сделать.

Подсказка. Воспользуйтесь свойствами Hint Showhint компонента ListBox1.

3. Сделать так, чтобы при нажатии клавиши Close появлялось бы окно сообщения “Вы уверены?”

Подсказка. Применить функцию MessageDlg.

Контрольні питання:

  1. Надайте характеристику індикаторам CheckBox та CheckListBox.

  2. Надайте характеристику компонентам TrackBar та ScrollBar.

  3. Опишіть процедуру роботи компонента Timer.

  4. Охарактеризуйте роботу компонента MainMenu - Головне меню.

  5. Надайте характеристику компоненту HotKey.

  6. Надайте загальну характеристику панелям Delphi.

  7. Надайте загальну характеристику панелям загального призначення – Panel, GroupBox, Bevel, ScrollBox, Splitter.

  8. Надайте характеристику багатосторінковим панелям та їх компонентам – TabControl, PageControl, TabSet, TabbedNoteBook, NoteBook.

  9. Охарактеризуйте роботу інструментальних панелей та їх компонентів – ToolBar nf PageScroller.

  10. Опишіть роботу перестроюваних панелей та їх компонентів CoolBar та ControlBar.

  11. Охарактеризуйте роботу полоси стану – StatusBar.

САМОСТІЙНА РОБОТА СТУДЕНТА

Змістовий модуль 6: програмування з графами

Тема 6.4: обробка виключних ситуацій

Самостійне заняття №35 – Помилки та виключення

План заняття

  1. Поняття синтаксичних помилок

  2. Поняття логічних помилок

  3. Поняття динамічних помилок

  4. Характеристика поняття виключна ситуація

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

1) Синтаксические ошибки возникают при нарушении синтак­ сиса языка. Эти ошибки выявляются компилятором на этапе раз­ работки программы. Компилятор указывает разработчику строку в тексте программы, где имеется ошибка, и выдает соответствую­ щую информацию о ней.

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

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

Разработчик приложения должен учитывать возможность воз­никновения ошибок выполнения и обрабатывать их определен­ным образом. Для обработки динамических ошибок в Delphi вве­дено понятие исключительной ситуации.

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

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

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

Класс Exception входит в состав модуля SysUtils и явля­ется базовым для всех исключений. Потомки этого класса содер­жат большое количество исключений, которые могут возникнуть в процессе выполнения приложения. Любые новые классы исклю­чительных ситуаций должны также создаваться как потомки клас­са Exception. В этом случае обеспечивается возможность их распознавания и обработки как исключений.

Класс Exception имеет всего два свойства.

Свойство Message (тип String) содержит описание исклю­чительной ситуации. Этот текст обычно выводится в диалоговом окне глобального обработчика исключительных ситуаций.

Свойство HelpContext (тип THelpContext) содержит но­мер идентификатора контекстной помощи для объекта исключения. Данное свойство обеспечивает отображение соответствующего раз­дела справки при вызове контекстной помощи.

Основные методы класса Exception представлены ниже.

Метод Create (const Msg: String) позволяет создать объект исключительной ситуации, текст с описанием которой со­держится в параметре Msg.

Метод CreateFmt (const Msg: String; const Args: array of const) также служит для создания объекта исключительной ситуации, но дополнительно позволяет задавать текст сообщения в форматированном виде.

Метод CreateHelp (const Msg: String; Ahelp-Context: Integer) предназначен для создания объекта ис­ключения с заданием для него номера идентификатора контекст­ной помощи.

Метод CreateFmtHelp (const Msg: String; const Args: array of const; AhelpContext: Integer) ис­пользуется для создания объекта исключения и дает возможность задавать текст сообщения в форматированном виде и устанавливать номер идентификатора контекстной помощи для данного объекта.

Обработка конкретных исключительных ситуаций может осу­ществляться не только с использованием самого класса Excep­tion, но также при помощи большого числа потомков данного класса. В свою очередь, многие из потомков класса Exception также порождают новые классы, обеспечивающие обработку ис­ключительных ситуаций, что образует целую иерархию объектов исключений. Так, например, класс EIntError является потомком класса Exception. Он представляет собой базовый класс для об­работки ошибок, связанных с операциями над целыми числами. От данного класса происходит ряд других классов, предназначенных для обработки специализированных исключений, таких, как при­своение целочисленной переменной значения, выходящего за пре­делы допустимого диапазона (класс ERangeError), или деление целого числа на нуль (класс EDivByZero).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]