Delphi за начинаещи
В този урок ще ви кажа повече за структурата и прилагането на процедурите и функциите на езика Pascal / Delphi програмиране.
Процедури - код дизайн, които позволяват да се създаде в код, някои съчетания, които изпълняват определени задачи, независимо от останалата част от кода. Нека разгледаме един прост пример:
[Cc Lang = 'Delphi'] Процедура shownumbers (п: число);
Var I: цяло число;
започвам
за I: = 1 до п направи
showmessage (inttostr (I));
приключи;
Процедура showsimplemessages;
започвам
showmessage ( "Това е просто съобщение 1! ');
showmessage ( "Това е просто съобщение 2! ');
приключи;
процедура TForm1.OnCreate (Sender: TObject);
започвам
shownumbers (5);
showsimplemessages;
край [/ см]
Докато ние не се научи синтаксиса, първо ние разбираме принципа на работни процедури. Както вероятно сте забелязали, всички събития (например една и съща OnCreate), представен процедури. Първо, ние се запознае със съдържанието на събитието манипулатор, създайте форма Form1 (или по-скоро можем да кажем - съдържанието на «процедурата TForm1.OnCreate (Sender: TObject)» на процедура). В рамките на тази процедура, ние виждаме «shownumbers (5);" и «showsimplemessages;» - това е процедурите за предизвикателството, които са по-високи от «процедура TForm1.OnCreate (Подател: TObject)». Както вероятно вече реализирани, с цел да се предизвика сегашната процедура, първо трябва да се уточни името му, а след това в скоби да се изброят нейните параметри. Ако параметърът е един, просто достатъчно, за да покаже своята стойност. Също така, процедури не могат да имат параметри. В този случай, скобите могат да бъдат пропуснати. Посочете параметрите се нуждаят в съответната категория. Например низови променливи «низ» трябва да бъдат посочени в кавички ''.
Сега анализираме синтаксиса на самата процедура. В самото начало на процедурата е ключовата дума «процедура». След това задайте името на процедурата, и последвано от параметрите в скоби. Посочени те пренасят чрез "и запетаята". Няколко променливи от същия тип в един ред, можете да посочвате запетая. По думите, че е доста трудно да се разбере, така че тук е един пример:
[Cc Lang = »Delphi»] процедура например (а, б, в: число; г: низ; д: реално; x1, y1: низ); [/ см]
[Внимание] Това е много важно, когато пишете код, за да се вземе предвид факта, че самата процедура трябва да бъде по-висока в кода от мястото, където това е предизвикателство! В противен случай, може да възникне грешка, свързана с факта, че процедурата просто не е намерен. [/ Внимание]
[Забележка] Всяка процедура може да се обадите на друго производство, но само ако наречената процедура е по-добър призоваване своите процедури. [/ Забележка]
[Забележка] в рамките на процедурата, може да получите достъп до глобални променливи и променят своите стойности. [/ Забележка]
Надявам се, че принципът на процедурите Обясних ви е достатъчно. А сега да разгледаме функцията. Функция - е по същество същите процедури, но функции могат да се върнат в резултат, т.е. никаква стойност. Принцип, устройството може да бъде много лесно да се разбере с един прост пример:
[Cc Lang = 'Delphi "] изчислено функция (а, б, в: число; г: низ): цяло число;
започвам
резултат: = дължина (г);
Inc (а, 5);
декември (Ь, 2);
Inc (резултат А + В-с);
приключи;
процедура TForm1.OnCreate (Sender: TObject);
Var на: цяло число;
започвам
а: изчислено = (1,2,3, "изпитване");
showmessage ( "резултат функция е равно на" + inttostr (а));
край [/ см]
Между другото, в този пример, ние анализираме две нови процедури и нов за вас Функцията вече е предвидено в Паскал / Делфи. Тези процедури - «Inc (а; число; б: число)» и «декември (а: цяло число; б: число)». Първият се нарича увеличение, и увеличава броя на число «а» от звената "Б". Втората процедура се нарича намаляване и прави доста обратната операция прираст, а именно, намаляване на броя на число «а» към «б» единици. Ако променливата «б» не посочите стойност, вместо «б» единица автоматично ще се използва. По този начин «Inc (а);» - същото като «Inc (а, 1)". Като «б» може да действа като отрицателни числа, които водят до операцията на инверсия, т.е. «Inc (а, -3);» - същото като «декември (а, 3)". Процедурата за увеличаване и намаляване е по-удобен за използване и те работят сравнително по-бързо от възлагането на «по-: = а + 1;".
[Забележка] Функция «дължина (и: низ): число» брои броя на знаците в низ те и връща целочислена променлива [/ бележка].
В следващите уроци, аз ще ви покажа нова функция или процедура, аз ще покаже, заглавието му е достатъчно, която описва всички имена, типове, променливи, и, разбира се, името на функцията или процедурата за, тъй като синтаксиса на тези заглавия, които вече сме обсъждат с вас в този урок.
Всички функции са налице е запазена под името «резултат» променлива, която съхранява в резултат на функцията, т.е. стойността си. Вътре функцията код, необходими за изпълнение на променливите за присвояване на «резултат» ценности, които трябва да връщат функция. Въведете «резултат» посочен след прехвърляне на променливите параметри (след скобите на затваряне и дебелото черво), както е показано в примера. Вътре код функция, ние, както и в процедурата може да извършва всички операции на параметрите, както и на променлива «резултат». Както и в процедурата по параметрите на допълнителни функции. След това може да изглежда така:
[Cc Lang = 'Delphi'] функция например: низ;
започвам
резултат: = 'проста функция;
край [/ см]
Функцията повикване се извършва чрез прехвърляне, както е показано в примера. Параметрите са определени по същия начин, както е в процедура.
На следващо място, аз ще предостави няколко забележки по отношение на работата с функциите и процедурите:
[Забележка] Функции и процедури могат да се причинят. Тази техника за програмиране, наречен рекурсия, и най-често се използва при изпълнението на всеки алгоритъм. [/ Забележка]
[Забележка] Името на процедури и функции може да съдържа само букви, цифри и долна черта. [/ Забележка]
[Забележка] Функциите и процедурите с каквито и да било разлики в параметрите разглеждат съвсем различни и независими един от друг, дори и да имат едно и също име. Ако има две функции и процедури със същото име, но с различни параметри, когато се обадите една от тези процедури или функции ще бъдат използвани автоматично този, който отговаря на параметрите (по вид и количество). [/ Забележка]