Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lektsii_po_OOP_Delphi.docx
Скачиваний:
54
Добавлен:
31.05.2015
Размер:
2.39 Mб
Скачать

Implementation

{$R *.DFM)

uses unit2;

(Переменная Ch3 и процедура F4 доступны только внутри

данного модуля}

var Ch3:char;

procedure F4(Ch:char);

begin

end;

procedure TForml.ButtonlClick(Sender: TObject);

(Переменная Ch4 и процедура F5 доступны только внутри

данной процедуры)

var Ch4:char;

procedure F5(Ch:char);

begin

end;

begin

end;

8. ОБРАБОТКА ИСКЛЮЧИТЕЛЬНЫХ СИТУАЦИЙ

Язык Object Pascal позволяет обрабатывать исключительные ситуации, выделив в составе блока кода:

  • Собственно реализацию алгоритма.

  • Обработчик исключительной ситуации.

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

Рассмотрим 2 примера:

1:

var

f:file;

begin

AssingnFle(f,’1.txt’);

try

reset(f);

DoSomething;

finally

close(f);

end;

end;

2:

procedure GetValue (text : string):integer;

const DefValue : integer = 0;

begin

try

result:= StrToInt(text);

except

on EConvertError do Result := DefValue;

end;

end;

Блок, ограниченный зарезервированными словами try и end и содержащий одно из зарезервированных слов finally или except, называется защищенным блоком кода. Существует 2 основных вида таких блоков: Первый вид соответствует первому примеру. Следующие за try операторы выполняются в обычном порядке. Если за это время не произошло исключительных ситуаций (ИС), то выполняются операторы, которые стоят после finally. Если между try и finally произошла ИС, то управление немедленно передается на операторы после finally, их функция – освобождение ресурсов.

Второй вид блока try применяется для реакции на конкретный тип ситуации. Его синтаксис следующий:

try

<оператор>

<оператор>

except

on Exception1 do <оператор>

on Exception2 do <оператор>

else

<оператор> {обработчик ИС по умолчанию}

В случае отсутствия ИС выполняется только блок try. Секция except получает управление в случае возникновения ИС. При этом директивы on..do просматриваются последовательно. Если возникла ситуация, не определенная ни одной из директив, то вызывается обработчик ИС по умолчанию.

  1. НЕКОТОРЫЕ ПОЛЕЗНЫЕ ФУНКЦИИ

ФУНКЦИИ РАБОТЫ СО СТРОКАМИ

Функции работы с типом string и PChar модуля SysUtils.

PChar представляет собой указатель на массив символов, заканчивающихся символом #0. PChar применяются в основном при обращении к функциям API Windows (application programming interfaces);

var s: string; p: PChar; begin s := 'ABC'; p := PChar(s); p := 'Строка';

s := String(p);

p := PChar(s);

end;

Функции работы со строками типа string

function StrToInt (const s:string): Longint;

Преобразует строку в целое число. При ошибке возникает исключительная ситуация EConvertError.

exs:='123';

i:=StrToInt(exs);

function UpperCase( const s:string) string

Преобразует символы ‘a’..’z’ в строке s к верхнему регистру

function LowerCase( const s:string) string

Преобразует символы ‘A’..’Z’ в строке s к нижнему регистру

function CompareText ( const s1,s2 : string): integer

Сравнивает 2 строки без учета регистра символов

function IntToStr(value: longint): string;

Преобразует целое число в троку

function FloatToStr(Value: Extended): string; overload;

Преобразует вещественное число в строку. s := FloatToStr(125,00); // результат: '125'

function StrToFloat(const S: string): Extended; overload;

Преобразует строку в вещественное число. f := StrToFloat('125'); //результат: 125,0

Функции работы со строками типа PChar

function StrPas(Str: Pchar) :string

Преобразует строку Str в строку типа string

function StrComp(Str1, Str2: PChar) : integer

Сравнивает две строки посимвольно. Возвращает <0 при Str1<Str2, =0 при Str1=Str2, >0 при Str1>Str2

function

Стр 79

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