Урок 5 - Функции

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

Синтаксис функции:

function имя (входные параметры):тип выходной переменной;
Рассмотрим подробнее на примере программы. Запускаем Delphi, создаем проект и кидаем кнопку и лабел на форму. Далее в редакторе кода находим слово Private.

Private


После слова Private объявляем функцию:
function sum (a, b:integer):integer;
Сейчас нажимаем комбинацию клавиш Ctrl+Shift+C и Delphi автоматически создает загатовку:
function TForm1.sum(a, b: integer): integer;
begin

end;
И между ключевыми словами begin и end пишем то, что будет делать наша функция, а функция будет делать простейшее - сложение переменных a и b, которые мы уже записали, когда объявляли функцию.

Тело функции:
function TForm1.sum(a, b: integer): integer;
begin
sum:=a+b; //Присваиваем функции сумму переменных
end;
Если сейчас запустить программу, то ничего не произойдет, так как функция у нас нигде не вызывается, да и значение переменным a и b мы не указали.

Создаем событие OnClick на кнопке и пишем:
procedure TForm1.Button1Click(Sender: TObject);
var i:integer; //создаем переменную
begin
i:=sum(5,7); //ссумируем
Label1.Caption:=IntToStr(i);//выводим
end;
Разберем строчку, где происходит суммирование. Пишем имя функции, потом в скобках значения для переменных a и b и результат присваиваем переменной i, которую потом выводим в лабел.

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

Ну вот и всё! Удачи!
Встретимся в следующем уроке!




Добавил(а): Programer Дата: 2012-08-09
Процедура это тоже самое что и функция?



Добавил(а): Admin Дата: 2012-08-09
Функция возвращает результат, а процедура нет.
P.S. А Вы уже и процедуры освоили? Похвально.



Добавил(а): Programer Дата: 2012-08-10
thanks



Добавил(а): delfiSkin Дата: 2013-05-18
Хороший урок вычислил конец света)



Добавил(а): delfiSkin Дата: 2013-05-18
не знаю что за глюк произошел но выше написанный комментарий относился к 6 уроку)



Добавил(а): delfiSkin Дата: 2013-05-18
О боже ,оказывается это глюк в моей голове,тот комментарий к этому уроку



Добавил(а): ДимаДК Дата: 2013-07-14
Поражаюсь похожести Delphi на Паскаль . Думал будет сложно, придется переучиваться, а это полная копия Паскаля ! Сайт просто супер ! Ведь как бы Delphi не был похож на Паскаль, сам бы я в нем не разобрался.



Добавил(а): RinDproramer Дата: 2013-07-15
Delphi - это и есть Паскаль, только измененный. Немного истории: В 1970 году появился сам Паскаль. В 1978 г. появился диалект Паскаля - UCSD Pascal.В 1983 г. вышла 1-я версия диалекта - Turbo Pascal от фирмы Borland(эта фирма и сделала для нас Delphi), который базировался на UCSD Pascal.В 90-х годах фирма Borland выпустила Object Pascal, ему передалось "наследство" от Turbo Pascal.А Delphi - это по сути вариант языка Object Pascal.Но сейчас Delphi все больше отделяется от "прородителя" - Object Pascal.(Вот так-то)



Добавил(а): Fanner Дата: 2013-12-03
Отличный сайт.Огромнейшее спасибо за уроки как всегда все откладывал, а теперь вот приходится экстерном учить т.к. через пару дней нужно что-то сдать преподу.)



Добавил(а): MothaFucka Дата: 2013-12-31
Комбинация ctrl+shift+c не срабатывает. Embarcadero Delphi XE3



Добавил(а): eltgm Дата: 2014-05-12
не срабатывает комбинация Ctrl+Shift+C. PortableDelphi7



Добавил(а): Denismen Дата: 2014-06-06
eltgm, не может такого быть



Добавил(а): eltgm Дата: 2014-06-18
Denismen, ты до конца дочитай на PortableDelphi эту функцию вырезали,умник



Добавил(а): Exotic Дата: 2014-10-10
В качестве ДЗ подобрал себе опупительное задание - написать самому дискриминант через функцию. Как ни странно, получилось.



Добавил(а): Dragonfly Дата: 2014-11-26
Спасибо, не сразу все дошло вот код (домашки от Exotic) function TForm1.dis(a,b: integer): integer; begin A:=StrToInt(Edit1.Text); repeat B:=a+b; A:=a-1; until A=0; dis:=b; end; procedure TForm1.Button1Click(Sender: TObject); var c,D:integer; begin D:=dis(0,0); Label1.Caption:=IntToStr(D); end;



Добавил(а): derevyov Дата: 2015-08-11
Замечательный сайт! Очень доступно и понятно! Спасибо



Добавил(а): shukrona.normatova Дата: 2016-07-06
Здравствуйте. Можете привести ещё более сложный пример?



Добавил(а): spilberg2007 Дата: 2016-07-16
Согласен с shukrona.normatova. Более сложный пример не помешал бы. И еще у функций есть основное свойство выводить информацию в конце расчетов через слово Result



Добавил(а): spilberg2007 Дата: 2016-07-16
function NameFunc(Param : Тип) : Тип_возвращаемого_значения; var //объявление переменных (необязательно) begin //тело функции Result := результат вычислений; end;


  1. alkanna
    alkanna 10 months ago
    cialis commercial Inimeneidigh [url=https://xbuycheapcialiss.com/]buy cheap generic cialis online[/url] diunny Viagra Side Effects
  2. Matthewgatly
    Matthewgatly 10 months ago
    [url=https://autocomponent63.ru/]авто сайты автозапчастей[/url]

    Web магазин, который сегодня всерьез Комфортен.

    Компания готова предложить значительный набор высокопрочных автозапчастей по конкурентноустойчивым ценам, и все данные автомобильные запчасти немедленно доступны для покупки online.
    Заказчик имеет возможность выбрать наиболее годный для вас порядок платы из большинства разновидностей.
    Сейчас имеется затруднения? Специалисты нашей компании онлайн-службы поддержки всегда рады сориентировать.
    Запчасти и все, что потребуется для систематичного технологического сервиса и наладки собственного авто, можно без проблем купить у нашей компании.
    Наш магазин-это теперь систематичный рынок бывших в употреблении и новых машинных запасных частей с большой сетью предприятий.
    Выбирать и совершить покупку авто запчасти в web магазине - сегодня это сделают легко!
    Мы-дистрибьютер автозапчастей в России.
    Инновационный поиск по наименованию и номеру позиции или номеру производителя предназначен для того, что бы вам быстро было отыскать машинные запчасти.
  3. JoshuaAlled
    JoshuaAlled 9 months ago
    [b]Massage body to body: [url=http://nuru-massage-ny.com]happy ending massage sex[/url][/b]

    Good day! Our firm those who make your daily life much easier . Organization that active more than 8 years.

    Distinctive unusuality our sensual salon is not an enforced setting. We promote social profiles to optimize.
    Advise for you personally try very different type massage methods today. Go to service and additionally find out details.
  4. ecowoods
    ecowoods 9 months ago
    [b][url=https://eco-corporation.ru]Автономные системы канализации[/url][/b]

    Автономная канализация в частном помещении - лучший выбор от компанииСборка септика - изрядно непростой процесс, предполагающий не только лишь строительство, но и дополнительно выбор нужной системы.
    Наша международная компания занимается не только лишь проектированием и сборкой, профессионалы дополнительно делают последующее сопровождение автономной канализации.
    Автономная канализация - наиболее востребованная часть технических коммуникаций
    Обеспечиваем лучший завершающий результат
    Для вас мы предлагаем высококлассные сервис по монтажу автономной канализации под ключ, владеем исключительной методикой и частным подходом к работе.
  5. alkanna
    alkanna 6 months ago
    [url=http://ponlinecialisk.com/]generic cialis from india[/url]
  6. mhblymxifi
    mhblymxifi 6 months ago
    Урок 5 - Функции - The Delphi
    mhblymxifi http://www.gvm645t1j02ogm7pzi30b43ho98j0w61s.org/
    [url=http://www.gvm645t1j02ogm7pzi30b43ho98j0w61s.org/]umhblymxifi[/url]
    <a href="http://www.gvm645t1j02ogm7pzi30b43ho98j0w61s.org/">amhblymxifi</a>
  7. riqxrgwb
    riqxrgwb 5 months ago
    Урок 5 - Функции - The Delphi
    riqxrgwb http://www.gl495que7tkh81s13865xyt743rvb1m5s.org/
    <a href="http://www.gl495que7tkh81s13865xyt743rvb1m5s.org/">ariqxrgwb</a>
    [url=http://www.gl495que7tkh81s13865xyt743rvb1m5s.org/]uriqxrgwb[/url]
  8. qconqbhz
    qconqbhz 5 months ago
    Урок 5 - Функции - The Delphi
    qconqbhz http://www.gb9xi0vfiy9359e53glk162ky46n8c19s.org/
    <a href="http://www.gb9xi0vfiy9359e53glk162ky46n8c19s.org/">aqconqbhz</a>
    [url=http://www.gb9xi0vfiy9359e53glk162ky46n8c19s.org/]uqconqbhz[/url]
  9. alkanna
    alkanna 5 months ago
    <a href="https://ponlinecialisk.com/">buy cialis generic online cheap[/url]</a>
  10. hcqzetstd
    hcqzetstd 5 months ago
    Урок 5 - Функции - The Delphi
    <a href="http://www.gb7p9l7927ce880zh7eweh2v8n1v4s64s.org/">ahcqzetstd</a>
    [url=http://www.gb7p9l7927ce880zh7eweh2v8n1v4s64s.org/]uhcqzetstd[/url]
    hcqzetstd http://www.gb7p9l7927ce880zh7eweh2v8n1v4s64s.org/
  11. ogidrtjprv
    ogidrtjprv 5 months ago
    Урок 5 - Функции - The Delphi
    [url=http://www.ggy4b09ai61kvr0nb627u1c6a1o8d488s.org/]uogidrtjprv[/url]
    <a href="http://www.ggy4b09ai61kvr0nb627u1c6a1o8d488s.org/">aogidrtjprv</a>
    ogidrtjprv http://www.ggy4b09ai61kvr0nb627u1c6a1o8d488s.org/
  12. krtthbryz
    krtthbryz 4 months ago
    Урок 5 - Функции - The Delphi
    <a href="http://www.gw742emgi8y7d6uo692j012233ni9dmas.org/">akrtthbryz</a>
    krtthbryz http://www.gw742emgi8y7d6uo692j012233ni9dmas.org/
    [url=http://www.gw742emgi8y7d6uo692j012233ni9dmas.org/]ukrtthbryz[/url]
  13. cjrjcysfr
    cjrjcysfr 3 months ago
    Урок 5 - Функции - The Delphi
    [url=http://www.gw50lxa944pr1avo3g48r8d843x4as00s.org/]ucjrjcysfr[/url]
    cjrjcysfr http://www.gw50lxa944pr1avo3g48r8d843x4as00s.org/
    <a href="http://www.gw50lxa944pr1avo3g48r8d843x4as00s.org/">acjrjcysfr</a>
  14. vcfboqigp
    vcfboqigp 3 months ago
    Урок 5 - Функции - The Delphi
    <a href="http://www.g66a66mw20c4j09o6297q0ek0i9vickus.org/">avcfboqigp</a>
    [url=http://www.g66a66mw20c4j09o6297q0ek0i9vickus.org/]uvcfboqigp[/url]
    vcfboqigp http://www.g66a66mw20c4j09o6297q0ek0i9vickus.org/
  15. zzsekcwi
    zzsekcwi 2 months ago
    Урок 5 - Функции - The Delphi
    [url=http://www.g56r8p89oog0c884fyrt3np2sw10111ps.org/]uzzsekcwi[/url]
    zzsekcwi http://www.g56r8p89oog0c884fyrt3np2sw10111ps.org/
    <a href="http://www.g56r8p89oog0c884fyrt3np2sw10111ps.org/">azzsekcwi</a>
  16. pjrmsgljb
    pjrmsgljb 2 months ago
    Урок 5 - Функции - The Delphi
    [url=http://www.gpxhs612da3w0n1388fau1f9d7j4v264s.org/]upjrmsgljb[/url]
    <a href="http://www.gpxhs612da3w0n1388fau1f9d7j4v264s.org/">apjrmsgljb</a>
    pjrmsgljb http://www.gpxhs612da3w0n1388fau1f9d7j4v264s.org/
  17. zbhiwfhxf
    zbhiwfhxf 2 months ago
    Урок 5 - Функции - The Delphi
    [url=http://www.gzy4f76cjwb0427o84kil7jj643w044es.org/]uzbhiwfhxf[/url]
    zbhiwfhxf http://www.gzy4f76cjwb0427o84kil7jj643w044es.org/
    <a href="http://www.gzy4f76cjwb0427o84kil7jj643w044es.org/">azbhiwfhxf</a>
  18. czcmcfmks
    czcmcfmks 2 months ago
    Урок 5 - Функции - The Delphi
    [url=http://www.gr03z28z0j1200x87b03rivs3h1z3ugjs.org/]uczcmcfmks[/url]
    czcmcfmks http://www.gr03z28z0j1200x87b03rivs3h1z3ugjs.org/
    <a href="http://www.gr03z28z0j1200x87b03rivs3h1z3ugjs.org/">aczcmcfmks</a>
  19. xcjjzbzl
    xcjjzbzl 2 months ago
    Урок 5 - Функции - The Delphi
    <a href="http://www.g329dxk059gn345z667xalfvceh044i9s.org/">axcjjzbzl</a>
    [url=http://www.g329dxk059gn345z667xalfvceh044i9s.org/]uxcjjzbzl[/url]
    xcjjzbzl http://www.g329dxk059gn345z667xalfvceh044i9s.org/
  20. dzqxxkck
    dzqxxkck a month ago
    Урок 5 - Функции - The Delphi
    dzqxxkck http://www.g41dt737vw50z6h88o36gq438l2aexyps.org/
    [url=http://www.g41dt737vw50z6h88o36gq438l2aexyps.org/]udzqxxkck[/url]
    <a href="http://www.g41dt737vw50z6h88o36gq438l2aexyps.org/">adzqxxkck</a>
  21. decpfkx
    decpfkx a month ago
    Урок 5 - Функции - The Delphi
    [url=http://www.gv5f28jhhca83ez782d9me1763jm3t43s.org/]udecpfkx[/url]
    decpfkx http://www.gv5f28jhhca83ez782d9me1763jm3t43s.org/
    <a href="http://www.gv5f28jhhca83ez782d9me1763jm3t43s.org/">adecpfkx</a>
  22. nmlprfd
    nmlprfd a month ago
    Урок 5 - Функции - The Delphi
    [url=http://www.g74qj14yhl2qjdd304ei775xkg0897x1s.org/]unmlprfd[/url]
    <a href="http://www.g74qj14yhl2qjdd304ei775xkg0897x1s.org/">anmlprfd</a>
    nmlprfd http://www.g74qj14yhl2qjdd304ei775xkg0897x1s.org/
  23. xtfnshjnf
    xtfnshjnf a month ago
    Урок 5 - Функции - The Delphi
    <a href="http://www.gg366ktq3d8atzi5882r2714zqy189nds.org/">axtfnshjnf</a>
    [url=http://www.gg366ktq3d8atzi5882r2714zqy189nds.org/]uxtfnshjnf[/url]
    xtfnshjnf http://www.gg366ktq3d8atzi5882r2714zqy189nds.org/
  24. bylcccsjd
    bylcccsjd a month ago
    Урок 5 - Функции - The Delphi
    bylcccsjd http://www.g8ns92r3m079ioqo784oct22haq210j7s.org/
    [url=http://www.g8ns92r3m079ioqo784oct22haq210j7s.org/]ubylcccsjd[/url]
    <a href="http://www.g8ns92r3m079ioqo784oct22haq210j7s.org/">abylcccsjd</a>
  25. tfbhesnfh
    tfbhesnfh a month ago
    Урок 5 - Функции - The Delphi
    tfbhesnfh http://www.g9v7bb2w61d5am0ne55939xmgen239v4s.org/
    <a href="http://www.g9v7bb2w61d5am0ne55939xmgen239v4s.org/">atfbhesnfh</a>
    [url=http://www.g9v7bb2w61d5am0ne55939xmgen239v4s.org/]utfbhesnfh[/url]
  26. osepkdirg
    osepkdirg a month ago
    Урок 5 - Функции - The Delphi
    [url=http://www.g1npoiic9vv9ohf49qk83547086n51y6s.org/]uosepkdirg[/url]
    osepkdirg http://www.g1npoiic9vv9ohf49qk83547086n51y6s.org/
    <a href="http://www.g1npoiic9vv9ohf49qk83547086n51y6s.org/">aosepkdirg</a>
  27. hpnpplks
    hpnpplks a month ago
    Урок 5 - Функции - The Delphi
    <a href="http://www.gzli290ws2156a4sw9qi45u96kd39k8ns.org/">ahpnpplks</a>
    hpnpplks http://www.gzli290ws2156a4sw9qi45u96kd39k8ns.org/
    [url=http://www.gzli290ws2156a4sw9qi45u96kd39k8ns.org/]uhpnpplks[/url]
  28. hggzokpx
    hggzokpx a month ago
    Урок 5 - Функции - The Delphi
    <a href="http://www.g9ykac775fy652lds2l1e3a00ys4223ns.org/">ahggzokpx</a>
    hggzokpx http://www.g9ykac775fy652lds2l1e3a00ys4223ns.org/
    [url=http://www.g9ykac775fy652lds2l1e3a00ys4223ns.org/]uhggzokpx[/url]
  29. cqrybhie
    cqrybhie a month ago
    Урок 5 - Функции - The Delphi
    [url=http://www.g3vvm2276lus50f088x2oj1h7p60qw9us.org/]ucqrybhie[/url]
    <a href="http://www.g3vvm2276lus50f088x2oj1h7p60qw9us.org/">acqrybhie</a>
    cqrybhie http://www.g3vvm2276lus50f088x2oj1h7p60qw9us.org/
  30. vgetlckrw
    vgetlckrw a month ago
    Урок 5 - Функции - The Delphi
    <a href="http://www.gd8504uulj2ml845e3dz60z7fro981i2s.org/">avgetlckrw</a>
    vgetlckrw http://www.gd8504uulj2ml845e3dz60z7fro981i2s.org/
    [url=http://www.gd8504uulj2ml845e3dz60z7fro981i2s.org/]uvgetlckrw[/url]
  31. zpjfgzvsw
    zpjfgzvsw a month ago
    Урок 5 - Функции - The Delphi
    [url=http://www.gr7ri9j9477y8als076851ggtlf3rp27s.org/]uzpjfgzvsw[/url]
    zpjfgzvsw http://www.gr7ri9j9477y8als076851ggtlf3rp27s.org/
    <a href="http://www.gr7ri9j9477y8als076851ggtlf3rp27s.org/">azpjfgzvsw</a>
  32. yshhymtfsx
    yshhymtfsx 28 days ago
    Урок 5 - Функции - The Delphi
    <a href="http://www.gc16t25p32s80fio31s9ckqy4w8g2c95s.org/">ayshhymtfsx</a>
    [url=http://www.gc16t25p32s80fio31s9ckqy4w8g2c95s.org/]uyshhymtfsx[/url]
    yshhymtfsx http://www.gc16t25p32s80fio31s9ckqy4w8g2c95s.org/
  33. iyxdwowtq
    iyxdwowtq 23 days ago
    Урок 5 - Функции - The Delphi
    <a href="http://www.gwg8oq167v1dkof0y43w388b82lk41d8s.org/">aiyxdwowtq</a>
    [url=http://www.gwg8oq167v1dkof0y43w388b82lk41d8s.org/]uiyxdwowtq[/url]
    iyxdwowtq http://www.gwg8oq167v1dkof0y43w388b82lk41d8s.org/
  34. rvtxkcxpo
    rvtxkcxpo 22 days ago
    Урок 5 - Функции - The Delphi
    rvtxkcxpo http://www.gg9194o5o2r5n3ld89l8pdfj18wb966ks.org/
    [url=http://www.gg9194o5o2r5n3ld89l8pdfj18wb966ks.org/]urvtxkcxpo[/url]
    <a href="http://www.gg9194o5o2r5n3ld89l8pdfj18wb966ks.org/">arvtxkcxpo</a>
  35. orbdmiwwrg
    orbdmiwwrg 7 days ago
    Урок 5 - Функции - The Delphi
    <a href="http://www.gg18t598ocmlt175h4910k85ak37dzuds.org/">aorbdmiwwrg</a>
    orbdmiwwrg http://www.gg18t598ocmlt175h4910k85ak37dzuds.org/
    [url=http://www.gg18t598ocmlt175h4910k85ak37dzuds.org/]uorbdmiwwrg[/url]
  36. tbdjsgpj
    tbdjsgpj 4 days ago
    Урок 5 - Функции - The Delphi
    tbdjsgpj http://www.gmlw3a94n008948523zd3q7g1wyx3dqus.org/
    [url=http://www.gmlw3a94n008948523zd3q7g1wyx3dqus.org/]utbdjsgpj[/url]
    <a href="http://www.gmlw3a94n008948523zd3q7g1wyx3dqus.org/">atbdjsgpj</a>
Отменить.