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;
Знаете ли Вы, что такое "Большой Взрыв"? Согласно рупору релятивистской идеологии Википедии "Большой взрыв (англ. Big Bang) - это космологическая модель, описывающая раннее развитие Вселенной, а именно - начало расширения Вселенной, перед которым Вселенная находилась в сингулярном состоянии. Обычно сейчас автоматически сочетают теорию Большого взрыва и модель горячей Вселенной, но эти концепции независимы и исторически существовало также представление о холодной начальной Вселенной вблизи Большого взрыва. Именно сочетание теории Большого взрыва с теорией горячей Вселенной, подкрепляемое существованием реликтового излучения..." В этой тираде количество нонсенсов (бессмыслиц) больше, чем количество предложений, иначе просто трудно запутать сознание обывателя до такой степени, чтобы он поверил в эту ахинею. На самом деле взорваться что-либо может только в уже имеющемся пространстве. Без этого никакого взрыва в принципе быть не может, так как "взрыв" - понятие, применимое только внутри уже имеющегося пространства. А раз так, то есть, если пространство вселенной уже было до БВ, то БВ не может быть началом Вселенной в принципе. Это во-первых. Во-вторых, Вселенная - это не обычный конечный объект с границами, это сама бесконечность во времени и пространстве. У нее нет начала и конца, а также пространственных границ уже по ее определению: она есть всё (потому и называется Вселенной). В третьих, фраза "представление о холодной начальной Вселенной вблизи Большого взрыва" тоже есть сплошной нонсенс. Что могло быть "вблизи Большого взрыва", если самой Вселенной там еще не было? Подробнее читайте в FAQ по эфирной физике.