Объявление функции
Объявление функции в общем виде выглядит так:
function
Имя
(параметр1 : тип1, ..., параметрК : типК) : Тип; var
// здесь объявления локальных переменных begin
// здесь инструкции функции
Имя := Выражение; end;
где:
Следует
обратить внимание, что последовательность инструкций, реализующих функцию,
завершается инструкцией, которая присваивает значение имени функции. Тип
выражения, определяющего значение функции, должен совпадать с типом функции,
указанным в ее объявлении.
В качестве
примера в листинге 6.3 приведены функции isint и isFioat. Функция isint
проверяет, является ли символ, соответствующий клавише, нажатой во время ввода
целого числа в поле редактирования, допустимым. Предполагается, что допустимыми
являются цифры, клавиши <Enter> и <Backspace>. Функция IsFloat решает
аналогичную задачу, но для дробного числа. У функции IsFloat два параметра: код
нажатой клавиши и строка символов, которая уже введена в поле редактирования.
Листинг
6.3. Примеры функций
// проверяет, является ли символ допустимым
// во время ввода целого числа
function
Islnt(ch : char) : Boolean;
begin
if
(ch >= '0'} and (ch <= '9') // цифры
or
(ch = 113) // клавиша <Enter>
or
(ch = #8) // клавиша <Backspace>
then Islnt := True // символ допустим
else
Islnt := False; // недопустимый символ
end;
// проверяет, является ли символ допустимым
// во время ввода дробного числа
function
IsFloat(ch : char; st: string) : Boolean;
begin
if
(ch >= '0') and (ch <= '9') // цифры
or
(ch = #13) // клавиша <Enter>
or
(ch = #8) // клавиша <Backspace>
then
begin
IsFloat := True; // символ верный
Exit; // выход из функции
end;
case
ch of
'-': if Length(st) = 0
then IsFloat := True; ',':
if
(Pos(',',st) = 0)
and
(st[Length(st)]'>= '0') and (st[Length(st)] <= '9')
then
// разделитель можно ввести только после цифры // и если он еще не введен
IsFloat := True; else // остальные символы запрещены
IsFloat := False;
end;
end;