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 !!!

До встречи



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

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

Александр 02 Nov 2011 в 00:00 #
Спасибо :))
OLEG0594 01 Aug 2011 в 00:00 #
Витек
Дата: 2010-05-17 -6

Статья отличная!потянет на 7 баллов по пятибальной шкале!я программировал немного в паскале раньше и решил перейти на дэлфи.

Как ты то до того программировал на паскале, не зная такого елементарного?????
ильдар 19 Apr 2011 в 00:00 #
помогите решить задачу. Как можно заменить 2 столбец матрицы элементами и отпечатать новую матрицу
Сергей 23 Mar 2011 в 00:00 #
Прошу прощенья, понял сам.

Для тех у кого такая же проблема надо писать:

result:=sum; (а не result(sum);)
Сергей 23 Mar 2011 в 00:00 #
Написал функцию:
function Tform1.SumStrL(strl:TstringList):real;
var
i:integer;
sum:real;
begin
for I := 0 to strl.count-1 do sum:=sum+strtofloat(strl.Strings[i]);
result(sum);
end;

при компиляции - [Pascal Error] Main.pas(36): E2066 Missing operator or semicolon

Что я неправильно сделал?

П.С. Нужно посчитать сумму всех записей в StringList′е strl

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