Delphi kezdőknek

Ebben a leírásban, megmondom a szerkezet és eljárások alkalmazását és funkciók a nyelvet Pascal / Delphi programozás.

Eljárások - a tervezési kód, amely lehetővé teszi, hogy hozzon létre a kódot, néhány rutint, hogy bizonyos feladatokat ellátni, függetlenül a többi kódot. Nézzük egy egyszerű példát:

[Cc lang = 'Delphi] eljárás shownumbers (n: egész szám);
var i: integer;
kezdődik
i: = 1-től n-do
ShowMessage (inttostr (i));
végén;

eljárás showsimplemessages;
kezdődik
ShowMessage ( 'Ez egy egyszerű üzenet 1!');
ShowMessage ( 'Ez egy egyszerű üzenet 2!');
végén;

eljárás TForm1.OnCreate (Sender: TObject);
kezdődik
shownumbers (5);
showsimplemessages;
végén; [/ cc]

Amíg nem tanulunk a szintaxis, először megértjük elve munkafolyamatok. Ahogy már bizonyára észrevették összes esemény (például ugyanazon OnCreate) bemutatott eljárásokat. Először megvizsgáljuk a tartalmát az eseménykezelő, hozzon létre egy űrlapot Form1 (vagy inkább azt mondhatjuk - a tartalom az eljárás «eljárás TForm1.OnCreate (Sender: TObject)»). Ebben az eljárásban, azt látjuk «shownumbers (5)” és a «showsimplemessages;» - ez a kihívás, eljárásokat, amelyek magasabbak, mint a «eljárás TForm1.OnCreate (Sender: TObject)». Mint azt valószínűleg már rájött, hogy hatására a jelenlegi eljárást, akkor először meg kell adnia a nevét, majd zárójelben a listához a paramétereit. Ha a paraméter egy, csak annyi, hogy jelezze az értékét. Továbbá, az eljárások nem lehet paramétereket. Ebben az esetben a zárójelben lehet hagyni. A paramétereket maguknak kell a saját kategóriájában. Például sztringek «karakterlánc» meg kell határozni idézetek '.

Most elemzik a szintaxis maga az eljárás. A legelején az eljárás a kulcs szó «eljárás». Ezután adja meg az eljárás nevét, majd a paramétereket zárójelben. Jelezte, hogy át a „pontosvessző”. Több változó azonos típusú egy sorban, akkor megadhat egy vesszővel. A szó, ez elég nehéz megérteni, ezért itt egy példa:

[Cc lang = »Delphi»] eljárást például (a, b, c: integer; d: string; e: a valós; x1, y1: string); [/ cc]

[Figyelem] Nagyon fontos írásakor kódot, hogy vegyék figyelembe azt a tényt, hogy maga az eljárás magasabbnak kell lennie, mint a kódot a hely, ahol ez egy kihívás! Ellenkező esetben hiba léphet fel azzal a ténnyel, hogy az eljárás egyszerűen nem található. [/ Warning]

[Megjegyzés] Az eljárás hívhat bármely más eljárással, de csak akkor, ha a hívott eljárás jobb, mint a hívó eljárásai. [/ Megjegyzés]

[Megjegyzés] az eljáráson belül elérheti a globális változók és megváltoztatni az értéküket. [/ Megjegyzés]

Remélem, hogy az elv eljárások elmagyaráztam neked elég. Most tekintsük a funkciót. Funkció - lényegében ugyanazt az eljárást, de a funkciók vissza eredmény, azaz bármilyen érték. Elvileg az eszköz lehet nagyon könnyű megérteni egy egyszerű példa:

[Cc lang = 'Delphi] funkciót Calc (a, b, c: integer; d: string): integer;
kezdődik
Eredmény: = hossz (d);
Inc (a, 5);
dec (b, 2);
Inc (eredmény, a + b-c);
végén;

eljárás TForm1.OnCreate (Sender: TObject);
var a: egész szám;
kezdődik
A: = Calc (1,2,3, 'tesztelés');
ShowMessage ( 'funkciót eredmény egyenlő' + inttostr (a));
végén; [/ cc]

Mellesleg, ebben a példában azt vizsgáljuk, két új eljárásokat és egy újat akkor működnek már előírt Pascal / Delphi. Ezek az eljárások - «Inc (a; egész; b: egész szám)» és «dec (a: integer; b: egész szám)». Az első az úgynevezett növekmény, és növeli a számát egész «egy» a „B” egység. A második eljárás az úgynevezett dekrementálás, és teszi elég a fordított művelet növekmény, nevezetesen, számának csökkentése egész «egy» a «b» egységek. Ha a változó «b» nem ad meg értéket, hanem a «b» egység automatikusan használhatók. Így «Inc (a);» - ugyanaz, mint «Inc (a, 1)”. Ahogy «b» működhet a negatív számok, melyek a inverzió működik, vagyis «Inc (a, -3);» - ugyanaz, mint «dec (a, 3)”. A növelő és csökkentő eljárás sokkal kényelmesebb használni, és a munka viszonylag gyorsabb, mint a feladat a «egy: = a + 1;”.

[Megjegyzés] Funkció «hossza (s: string): integer» megszámlálja az a sztring karaktereinek s és visszatér egy egész változó [/ megjegyzés].

Az ezt követő órák, megmutatom neked egy új funkciót vagy eljárást, azt jelzi, a címe is elég, ami leírja az összes nevét, típusát, változók, és persze a neve a függvény vagy eljárás, mivel A szintaxis ilyen címeket már tárgyalt veled ebben a leckében.

Minden funkció jelen van fenntartva néven «eredmény» változó tárolja a függvény eredménye, azaz a annak értékét. Bent a funkció kódot végrehajtásához szükséges értékadás «eredmény» értékeket, amelyeket vissza kell függvényében. Típus «eredmény» után feltüntetett átadó változtatható paraméterek (miután a záró zárójel és vastagbél), amint azt a példa mutatja. Bent a kód funkciót, akkor valamint az eljárásban végezzen olyan műveleteket a paramétereket, valamint a változó «eredmény». Csakúgy, mint az eljárásban az opcionális funkció paramétereit. Ezután a következőképpen nézhet ki:

[Cc lang = 'Delphi] funkció például: string;
kezdődik
Eredmény: = „egyszerű funkció”;
végén; [/ cc]

A függvényhívás végzett keresztül hozzárendelés, ahogy azt a képen a példában. Paraméterek vannak megadva, ugyanúgy, mint az eljárást.

Következő, én majd pár megjegyzések az a munkát a funkciók és eljárások:

[Megjegyzés] funkciók és eljárások okozhatnak maguknak. Ez a programozási technika az úgynevezett rekurzív, és a leggyakrabban használt a végrehajtása semmilyen algoritmus. [/ Megjegyzés]

[Megjegyzés] A neve az eljárások és függvények csak betűket, számokat és aláhúzás. [/ Megjegyzés]

[Megjegyzés] A funkciók és eljárások bármely eltérő paraméterek tekinthető teljesen eltérő és független egymástól, akkor is, ha ugyanaz a neve. Ha két funkció, illetve eljárásokat, az azonos nevű, de különböző paraméterekkel, ha hívja az egyik ilyen eljárás vagy függvény automatikusan használva lesz az, amelyik illik a paramétereket (típus és mennyiség). [/ Megjegyzés]