Delphi функции. Учимся создавать и вызывать.

Опубиковано: 24.08.2008 г., автор: , просмотров: 176049

Delphi Функции.

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

Ну для начала немного теории.
Что же такое функция и зачем она нужна?

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

Да замудрил я как всегда, на самом деле тут нет ничего сложного, посмотрите на пример и вам все станет предельно ясно:

Пример №1
function Name (X: integer; S: String): Integer;

Как видно из примера сначала идет ключевое слово function, затем имя функции, затем входные параметры с указанием их типов, и в конце за скобками тип выходных данных.

Давайте сейчас отойдем от скучной и никому не нужной теории и сразу попытаемся сделать все на практике.

Итак, Открываем Delphi создаем новый проект. Нам понадобится один компонент Button, и один компонент label оба с закладки Standart кидаем их на форму. Сделали? Отлично двигаемся дальше.
Теперь переходим к самому сладенькому - создадим нашу первую delphi функцию. Называться она будет просто: Sum, иметь она будет два входных параметра типа integer, выходной параметр будет тоже integer.

Перходим в код и после ключевого слова private пишем вот такую строчку:

function Sum (a, b: integer): integer;

delphi функции

Нажимем комбинацию клавиш CTRL + SHIFT + C и delphi автоматически сгенерирует вам вот такую штуку:

function TForm1.sum(a, b: integer): integer;
begin

end;

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

Sum:=A+B;

и все !
Как вы уже наверное догадались она будет складывать два числа.

Вызов в программе.

С созданием разобрались, осталось научиться вызывать...! Создаем, обработчик событий OnClick на кнопке, между begin end пишем:

Label1.Caption:=inttostr(Sum(2,2));

Здесь мы вызываем функцию и её результат сразу выводим в label1, т.к выходные данные у неё имеют тип integer, что бы вывести их в label нам нужно перевести их в тип string за что и отвечает конструкция inttostr()

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

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

P.S. Не забываем подписываться на бесплатную мультимедийную рассылку.
Форма для подписки расположена с права и с лева.

До встречи DelphiExpert.ru !!!

До встречи



Похожие материалы

Последние из рубрики

Дошкольник 11 Jun 2010 в 00:00 #
[Q]DonySuXX

Согласен с Павлом. Нужно помогать людям, а особенно программистам)))) Флёнову респект. А от себя добавлю - я бы ввёл понятие как Result. Дабы не путать начинающих. заменив Sum:=A+B; на Result:=A+B;[/Q]
Result? А это что О.о
Леночка 27 May 2010 в 00:00 #
Так и не поняла!
С разными там "integer" все понятно и не сильно всем интересно. А вот как в параметах функции надо передать ссылку на другую функцию?
например, чтоб работало

function Lena(S:function):real;
begin
Lena:=S(1)+S(0.5);
end;
C Таким вызовом
y:=Lena(sin);
z:=Lena(Log);
Витек 17 May 2010 в 00:00 #
Статья отличная!потянет на 7 баллов по пятибальной шкале!я программировал немного в паскале раньше и решил перейти на дэлфи.Прошарил весь интернет, перечитал кучу статей "для начинающих" и ну нихрена вобще не понял.все автору куда деваться такие умные, мудреными словами говорят...даже я, имевший опыт с паскалем ничего не понял, а тот кто вобще в первый раз в среду зашел?а тут кое чего интересного понял,буду дальше учиться.аффтору респект!
jet 17 May 2010 в 00:00 #
Подскажите. У меня не получается вызвать функцию из другого модуля, хотя в uses все добавлено. В чем может быть проблема?
Алексей 14 Apr 2010 в 00:00 #
Какой должен быть тип выходных данных функции, если она возвращает байтовый массив?

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