Ивотот

Разбирање и користење на функциите и процедурите

Разбирање и користење на функциите и процедурите


We are searching data for your request:

Forums and discussions:
Manuals and reference books:
Data from registers:
Wait the end of the search in all databases.
Upon completion, a link will appear to access the found materials.

Дали некогаш сте се нашле да пишувате ист код одново и одново за да извршите некоја заедничка задача во рамките на ракувачите на настани? Да! Време е да научите за програмите во рамките на програмата. Ајде да ги наречеме тие мини-програми за субрутина.

Вовед во субрутини

Подпроводниците се важен дел од кој било програмски јазик, а Делфи не е исклучок. Во Делфи, генерално постојат два вида на субрутини: функција и постапка. Вообичаена разлика помеѓу функција и постапка е тоа што функцијата може да врати вредност, а процедурата генерално нема да го стори тоа. Функција обично се нарекува како дел од израз.

Погледнете ги следниве примери:

постапка Кажи здраво(конста што е:низа) ; започнете ShowMessage ('Здраво' + s Што); крај; функција Години стар(конста BirthYear: цел број): цел број; вар Година, месец, ден: Збор; започнете DecodeDate (Датум, година, месец, ден); Резултат: = Година - Раѓање година; крај;

Откако ќе се дефинираат субрутини, можеме да ги наречеме едно или повеќе пати:

постапка TForm1.Button1 Кликнете (Испраќач: TObject); започнете SayHello („Корисник на Делфи“); крај; постапка TForm1.Button2Click (Испраќач: TObject); започнете SayHello ('Zарко Гајиќ'); ShowMessage ('You are' + IntToStr (YearsOld (1973)) + 'years old!'); крај;

Функции и процедури

Како што можеме да видиме, и функциите и процедурите делуваат како мини-програми. Особено, тие можат да имаат свој вид, константи и променливи изјави во нив.

Погледнете подетално на (разно) функцијата SomeCalc:

функција SomeCalc (конста sStr: низа; конста iYear, iMonth: цел број; вар iDay: цел број): буле; започнете крај;

Секоја постапка или функција започнува со а заглавие што ја идентификува постапката или функцијата и ги наведува параметри рутинската употреба доколку има. Параметрите се наведени во загради. Секој параметар има име за идентификација и обично има тип. Полу запирка ги одделува параметрите во списокот со параметри еден од друг.

се нарекуваат sStr, iYear и iMonth постојани параметри. Постојаните параметри не можат да се менуваат според функцијата (или процедурата). IDay се донесува како а var параметар, и можеме да направиме промени во тоа, во рамките на субрутината.

Функциите, бидејќи тие ги враќаат вредностите, мора да имаат тип на враќање прогласена на крајот на заглавието. Враќачката вредност на една функција е дадена со (крајната) задача на нејзиното име. Бидејќи секоја функција имплицитно има локална променлива Резултат од ист тип како и вредноста за враќање на функциите, доделувањето на Резултат има ист ефект како и доделување на името на функцијата.

Позиционирање и повикување на субрутини

Подпроводниците секогаш се ставаат во делот за спроведување на единицата. Ваквите субрутини може да се наречат (користат) од страна на управувач на настани или субрутина во истата единица што е дефинирана по истото.

Забелешка: клаузулата за употреба на единицата ви кажува кои единици може да ги повика. Ако сакаме одредена субрутина во Единица 1 да може да се користи од страна на носителите на настани или субрутини во друга единица (да речеме Оддел2), мора да:

  • Додадете Unit1 во клаузулата за употреба на Unit2
  • Ставете копија на заглавието на субрутината во делот за интерфејс на Единицата 1.

Ова значи дека субрутини чии заглавија се дадени во делот за интерфејс се глобален во обем.

Кога повикуваме функција (или постапка) во нејзината сопствена единица, го користиме неговото име со какви и да се потребни параметри. Од друга страна, ако повикаме глобална субрутина (дефинирана во некоја друга единица, на пр. MyUnit), го користиме името на единицата, проследено со период.

Процедурата SayHello е дефинирана во оваа единица SayHello („Корисник на Делфи“); // Функцијата YearsOld е дефинирана во единицата MyUnit Манекен: = MyUnit.YearsOld (1973);…

Забелешка: функциите или процедурите можат да имаат свои потпроводници вградени во нив. Вградена субрутина е локална за контроверзниот сад и не може да се користи од други делови на програмата. Нешто како:

постапка TForm1.Button1 Кликнете (Испраќач: TObject); функција IsSmall (конста sStr:низа): буле; започнете // IsSmall се враќа Точно ако sStr е со мали букви, погрешно инаку Резултат: = LowerCase (sStr) = sStr; крај; започнете // IsSmall може да се користи само во настанот Button1 OnClick ако IsSmall (Измени1.Текст) тогаш ShowMessage ('Сите мали капи во Уредување1. Текст') на друго место ShowMessage ('Не сите мали капи во Уредување1. Текст'); крај;


Погледнете го видеото: Водич за употреба на уреди за контрола на покажувач (Ноември 2022).

Video, Sitemap-Video, Sitemap-Videos