Функции delphi

Дата публикации

Здравствуй, дорогой читатель. Сегодня я планирую рассказать о таком значимом элементе программирования как функции. А если быть точным, будем разбирать функции Delphi.

Начнем с общего определения:

Функция – фрагмент программного кода, который имеет свое имя. По этому имени данный фрагмент можно вызвать из любого места программы. Результатом выполнения функции Delphi является значение.

Объясню доступным языком, зачем нужны функции. Представьте себе ситуацию, что Вам в программе нужно несколько раз вычислять площадь квадрата. Вместо того, чтобы каждый раз писать один и тот же код, Вы можете объявить функцию и просто вызывать её в нужном месте. Если ещё не совсем понятно зачем все это нужно, советую прочесть статью до конца и на примерах станет все ясно.

Давайте разберем как определить функцию.

function имя_функции (параметры) : тип результата;
[локальные_переменные]
begin
// операторы
end;

Итак, в начале идет ключевое слово function, затем имя функции. Далее в круглых скобках список параметров. Также необходимо указать тип возвращаемого результата. При необходимости можно определить локальные переменные. Между операторных скобок (begin..end;) необходимо записать требуемые инструкции.

В каждой функции Delphi автоматически создает переменную с именем result, переменная имеет тот же тип, что и возвращаемое значение функции. С помощью этой переменной мы и будем возвращать значения. (Есть еще одна возможность вернуть значение, её я продемонстрирую на примере).

В функцию можно передавать параметры разных типов: значения, константы, переменные, выходные параметры. Но это тема отдельной статьи, которую я напишу чуть позже.

Разберем применение функций Делфи на простом примере.

Создайте новое приложение и на форме разместите три кнопки (Button).

функции Delphi

Далее откройте код и будем писать функцию, цель которой будет возвращать квадрат числа. Описание у нас будет вне класса после строк:

implementation
{$R *.dfm}

Сама же функция будет иметь следующий вид:

function square(x: Double): Double;
begin
   Result:=x*x;
   //для возврата значения вместо result можно использовать имя функции
   // square:=x*x;
end;

Название – square, параметр всего один – x типа Double, результат тоже будет Double.

Делфи позволяет возвращать значения через переменную, название которой совпадает с названием функции Delphi. В нашем случае это выглядит так: square:=x*x;(закомментированный код).

Теперь посмотрим как можно использовать написанный код. Напишем обработчик события Onclickдля каждой из кнопок.

  • Для первой кнопки - ShowMessage(FloatToStr(square(1)));
  • Для второй - ShowMessage(FloatToStr(square(2)));
  • Для третей - ShowMessage(FloatToStr(square(3)));

У меня получился следующий Unit

unitUnitFunction;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
   Buttonsquare1: TButton;
   Buttonsquare2: TButton;
   Buttonsquare3: TButton;
   procedure Buttonsquare1Click(Sender: TObject);
   procedure Buttonsquare2Click(Sender: TObject);
   procedure Buttonsquare3Click(Sender: TObject);
private
   { Private declarations }
public
   { Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
function square(x: Double): Double;
begin
   Result:=x*x;
   //для возврата значения вместо result можно использовать имя функции
   // square:=x*x;
end;
procedure TForm1.Buttonsquare1Click(Sender: TObject);
begin
ShowMessage(FloatToStr(square(1)));
end;
procedure TForm1.Buttonsquare2Click(Sender: TObject);
begin
ShowMessage(FloatToStr(square(2)));
end;
procedure TForm1.Buttonsquare3Click(Sender: TObject);
begin
ShowMessage(FloatToStr(square(3)));
end;
end.

Как можно заметить мы однажды определили функцию, а использовали её трижды. Если функция была бы побольше, мы бы сэкономили уйму времени и сил, сократили количество вводимого текста. Модифицировать программу также легче, если Вы используете функции – поправив тело функции вы изменяете логику на всех участках, где она используется.

Подведем итог. Функции делают разработку на Делфи проще и быстрее, код читабельнее, правку проще. Используйте фунуции Delphi.

Добавить комментарий



Обновить

Комментарии   

 
0 #4 Maxim 19.04.2016 17:20
Функция возвращает значение = другими словами - это результат выполнения функции.
Цитировать
 
 
+1 #3 Vlados 08.04.2016 19:48
Что значит возвращает значение,кучу сайтов перерыл,не могу понять? :cry:
Цитировать
 
 
0 #2 Maxim 15.05.2014 04:18
Я очень доволен, советую изучить материал про процедуры Delphi
Цитировать
 
 
0 #1 Слава 06.05.2014 12:26
Наконец я с этим разобрался
Цитировать
 
Monday the 23rd. icq 486350790
Copyright 2012

©