- •Структура модуля
- •Interface
- •Implementation
- •Interface
- •Implementation
- •4. Инкапсуляция
- •7. Области видимости
- •Interface
- •Implementation
- •Interface
- •Implementation
- •Interface
- •Implementation
- •10. Функции работы с файлами
- •11. Построение пользовательского интерфейса
- •Interface
- •Implementation
- •С помощью объекта Range выделим диапазон
- •Компонент tDataSource
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 просматриваются последовательно. Если возникла ситуация, не определенная ни одной из директив, то вызывается обработчик ИС по умолчанию.
НЕКОТОРЫЕ ПОЛЕЗНЫЕ ФУНКЦИИ
ФУНКЦИИ РАБОТЫ СО СТРОКАМИ
Функции работы с типом 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 |
|