Живот

Разумевање и коришћење функција и поступака

Разумевање и коришћење функција и поступака


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.

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

Увод у подпрограме

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

Погледајте следеће примере:

поступак Кажи Здраво(цонст сШта:низ) ; започети СховМессаге ('Хелло' + сВхат); крај; функција Година стар(цонст БиртхИеар: интегер): цео број; вар Година, месец, дан: Реч; започети ДецодеДате (датум, година, месец, дан); Резултат: = Година - Година рођења; крај;

Након што су подпрограми дефинисани, можемо их назвати један или више пута:

поступак ТФорм1.Буттон1Цлицк (Пошиљалац: ТОбјецт); започети СаиХелло ('Делпхи корисник'); крај; поступак ТФорм1.Буттон2Цлицк (Пошиљалац: ТОбјецт); започети СаиХелло ('Жарко Гајић'); СховМессаге ('Имате' + ИнтТоСтр (ИеарсОлд (1973)) + 'година!'); крај;

Функције и поступци

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

Погледајте детаљније (неку другу) функцију СомеЦалц:

функција СомеЦалц (цонст сСтр: низ; цонст иИеар, иМонтх: цели број; вар иДаи: интегер): боолеан; започети крај;

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

сСтр, иИеар и иМонтх се зову стални параметри. Константни параметри се не могу мењати функцијом (или процедуром). ИДаи се преноси као вар параметар, и ми можемо да извршимо промене у њему, унутар потпрограма.

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

Позиционирање и позивање потпрограма

Подпрограми су увијек смјештени у одјељку за имплементацију јединице. Такве потпрограме може позвати (користити) руковалац догађајем или подпрограм у истој јединици која је дефинисана након њега.

Напомена: употребна клаузула јединице каже вам које јединице може да позива. Ако желимо да одређени потпрограм у Унит1 користи од стране обрађивача догађаја или подпрограма у другој јединици (рецимо Унит2), морамо:

  • Додајте Унит1 клаузули употребе Унит2
  • Поставите копију заглавља подпрограма у одељак интерфејса Унит1.

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

Када назовемо функцију (или поступак) унутар сопствене јединице, користимо њено име са свим параметрима који су потребни. С друге стране, ако назовемо глобалну подпрограму (дефинисану у некој другој јединици, нпр. МиУнит), користимо назив јединице после којег следи тачка.

// Поступак СаиХелло је дефинисан унутар ове јединице СаиХелло ('Делпхи корисник'); // Функција ИеарсОлд је дефинисана унутар МиУнит јединице Думми: = МиУнит.ИеарсОлд (1973);…

Напомена: функције или процедуре могу имати своје подпрограме уграђене у њих. Уграђена подпрограм је локална за подпрограм контејнера и не могу је користити други делови програма. Нешто слично:

поступак ТФорм1.Буттон1Цлицк (Пошиљалац: ТОбјецт); функција Мала(цонст сСтр:низ): боолеан; започети // ИсСмалл враћа Труе ако је сСтр у малим словима, у супротном погрешно Резултат: = ЛоверЦасе (сСтр) = сСтр; крај; започети // ИсСмалл може користити само унутар Буттон1 ОнЦлицк догађаја ако ИсСмалл (Едит1.Тект) онда СховМессаге ('Све мале капице у Едит1.Тект') друго СховМессаге ('Нису све мале капице у Едит1.Тект'); крај;


Погледајте видео: Piter Dzozef - Definisanje mira (Октобар 2022).

Video, Sitemap-Video, Sitemap-Videos