Приклад обробки виняткових ситуацій 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Приклад обробки виняткових ситуацій



Приклад:

Наступна програма, вид її діалогового вікна приведений на рис. 1, а текст — у лістингу 1, демонструє обробку виключень за допомогою інструкції try.

 

 

Рис.1. Діалогове вікно програми

 

unit UsTry_;

 

interface

 

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

StdCtrls;

 

type

TForm1 = class(TForm)

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Edit1: TEdit; //напруга

Edit2: TEdit; //опір

Label5: TLabel; //ток

Button1: TButton; //кнопка "Вирахувати"

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

 

var

Form1: TForm1;

 

implementation

 

{$R *.DFM}

 

procedure TForm1.Button1Click(Sender: TObject);

var

u:real; //напруга

r:real; //опір

i:real; //ток

begin

try

//інструкції, які можуть

//визвати виняткову ситуацію (помилку)

u:=StrToFloat(form1.edit1.text);

r:=StrToFloat(form1.edit2.text);

i:=u/r;

except

on EZeroDivide do //ділення на нуль

begin

ShowMessage('Задайте виличину опору!');

exit;

end;

on EConvertError do //помилка перетворення

begin

ShowMessage('Напруга і опір повинні бути задані числом.'+#13+

'При запису дробового числа використовуйте кому.');

exit;

end;

end;

form1.Label5.Caption:=FloatToStr(i)+'a';

end;

end.

У розглянутій програмі виключення можуть виникнути при обчисленні сили струму. Якщо користувач не уведе величину опорів, то при виконанні інструкції і:=u/r виникне виключення EzeroDivide. Якщо користувач невірно введе числове значення, наприклад для поділу цілої і дробової частин числа замість коми введе крапку, то виникне виключення типу EconvertError. Обоє виключення обробляються однаково: виводиться повідомлення, після чого процедура обробки події OnClick завершує свою роботу.

Інтегроване середовище розробки Delphi надають програмісту могутній засіб пошуку й усунення помилок у програмі — відладчик. Відладчик дозволяє виконувати трасування програми, спостерігати значення перемінних, контролювати виведені програмою дані.

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

1. Які глобальні об’єкти додатку ви знаєте, наведіть їх властивості?

2. Наведіть приклад використання об’єкту Додакта?

3. Наведіть приклад використання об’єкту Екран?

4. Що таке виключна ситуація?

5. Як види виключних ситуацій ви знаєте?

6. Наведіть правила використання захищеного блоку try finally?

7. Наведіть правила використання захищеного блоку try except?

8. Які найпоширеніші види помилок?

ЛАБОРАТОРНА робота №6

Тема. Розміщення на формі елементів керування та настроювання їх параметрів.

Мета роботи

Навчитись розміщувати на формі елементи керування та настроювати їх параметри, використовувати списки при розробці інтерфейсу програми на прикладі програми „Оголошення про нараду”, яка містить інформацію: день тижня, час дня, що мати з собою.

Короткі теоретичні відомості

Незалежний перемикач TCheckBox

Використовується для того, щоб користувач міг вказати своє рішення типу Так/Ні або Так/Ні/Не зовсім (у останньому випадку у віконці компоненту встановлюється прапор вибору, але саме віконце закрашується сірим кольором). Це рішення відбивається у властивості State компоненту, доступному як для читання, так і для запису. У складі діалогового вікна може бути декілька компонентів TCheckBox. Стан будь-якого з них не залежить від стану інших, тому такі перемикачі називаються незалежними.

Типове використання компоненту:

if CheckBox1.Checked then

Else

Або:

case CheckBoxl.State of cbChecked:...;

cbUnchecked:...;

cbGrayed:...;

end;

Властивості компоненту:

property Alignment: TLeftRight; Визначає положення тексту:
taLeftJustify - з лівого боку компоненту;
taRightJustify - З Правого боку

property AllowGrayed: Boolean; дозволяє / забороняє використання стану cbGrayed (Не зовсім)

ptoperty Caption: Strings Містить пов'язаний з компонентом текст

property Checked: Boolean; Містить вибір користувача типу Так/Ні. Стани cbUnchecked і cbGrayed відбиваються як False

property State: TCheckBoxState Містить стан компоненту: cbUnchecked - ні; cbChecked - так; cbGrayed - не зовсім

Властивість color компоненту фактично ігнорується, а властивості Height і width визначають розміри прямокутника, в якому виводиться пов'язаний з перемикачем текст, і не впливають на розміри прямокутного віконця. Сам текст указується у властивості Caption.

Компонент TRadioButton - залежні перемикачі

Компоненти TradioButton є залежні перемикачі, призначені для вибору одного з декількох взаємовиключних рішень. На форму (точніше, в компонент-контейнер) поміщається щонайменше два таких компонента. Вони можуть мати тільки два стани, визначуваних властивістю Сhecked. Якщо в одному компоненті цю властивість приймає значення True, у всіх інших компонентах, розташованих в тому ж контейнері, властивості Сhecked приймають значення False.

Крім властивості checked компонент TRadioButton має ще одну специфічну властивість - Alignment, Визначає положення тексту: taLeftJustify - з лівого боку компоненту; taRightJustify - З Правого боку, програміст не може змінювати розміри і колір круглого віконця компоненту.



Поделиться:


Последнее изменение этой страницы: 2016-09-13; просмотров: 193; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.118.9.7 (0.01 с.)