Объявление функции

Объявление
функции в общем виде выглядит так:



function Имя (параметр1 : тип1, ..., параметрК : типК) : Тип; var


// здесь объявления локальных переменных begin


// здесь инструкции функции


Имя := Выражение; end;



где:



  • function —
    зарезервированное слово языка Delphi, обозначающее, что далее следуют
    инструкции, реализующие функцию программиста;

  • имя — имя функции.
    Используется для перехода из программы к инструкциям функции;

  • параметр — это
    переменная, значение которой используется для вычисления значения функции.
    Отличие параметра от обычной переменной состоит в том, что он объявляется не в
    разделе объявления переменных, который начинается словом var, а в заголовке
    функции. Конкретное значение параметр получает во время работы программы в
    результате вызова функции из основной программы;

  • тип — тип значения,
    которое функция возвращает в вызвавшую ее программу.

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


В качестве
примера в листинге 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;


Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: