Programozás Delphi

Hozzátéve, zárójelben hívásakor eljárások és függvények paraméter nélkül már nem újdonság a Delphi, tedd Mindazonáltal ez a lehetőség kevéssé ismertek. Ezt a lehetőséget fogják azok a programozók, akik dolgozni két nyelven (C ++ és Delphi), mivel nem kell állandóan tudatában a különbségeket a szintaxis a hívás eljárások és függvények különböző nyelveken. Delphi Mindkét változatnál a következőket tekintik érvényesnek.







Ez az első alkalom a koncepció túlterhelés funkciók és eljárások hajtották végre Delphi4. Ez lehetővé teszi, hogy több különböző eljárásokat és feladatokat az azonos nevű, de különböző paraméter lista. Ezek az eljárások és függvények le kell írni a túlterhelés irányelvet.


Ha az eljárást nevezik Test, Delphi eldönti, hogy melyik a három eljárások elvégzésére, attól függően, hogy az átadott paramétert is. De meg kell jegyezni, hogy ez nem a legbiztonságosabb nyelvi funkciót. Használata túlterhelt eljárások és függvények válhat egy kimeríthetetlen forrása a finom hibákat a programban. Így használja ezt a lehetőséget óvatosan.

Pascal lehetővé teszi, hogy át úgy paraméterek, funkciók és eljárások akár értékét vagy hivatkozunk. Átadási paraméter lehet bármilyen beépített vagy felhasználó által definiált típusú, vagy lehet egy nyitott tömb. A paraméter lehet állandó, ha az érték az eljárás vagy függvény nem változik.

Paraméterátadás értelmesen

Ez paraméterátadási mód az alapértelmezett. Ha a paraméter által elfogadott érték, helyi másolatot a változó, amely a rendelkezésre álló feldolgozási eljárás vagy függvény. Nézd meg a következő példát:


Amikor hívja ezt az eljárást egy másolatot készít az átvitt, mint egy sor paraméter s, ami működni fog eljárás Test. Ebben az esetben minden változás történt a vonal nem befolyásolja az eredeti változót s.

Ez azonban nem vonatkozik a tárgyakat. Például, ha egy változó vezetjük a funkciót (vagy inkább a tárgy például) a TStringList, ebben az esetben, a link fogja át (akkor is, ha nem adjuk meg külön).

Elhalad referenciaparamétereket

Pascal azt is lehetővé teszi, hogy adja át paraméterként egy függvény vagy eljárás, a kapcsolat - ilyen opciók elnevezése változó paraméterek. Paraméterátadás hivatkozással azt jelenti, hogy a függvény vagy eljárás megváltoztathatja a kapott beállításokat. Átadni paramétereket a linket, használd a var. adunk a paraméterek listáját az úgynevezett eljárás vagy függvény.

Transfer konstans paraméterek


Transzfer Nyílt Array

Nyílt tömb paraméterek lehetővé teszi át egy másik funkció vagy több paraméter az eljárást. Mivel a paraméterek átadhatók akár nyitott tömb elemét azonos típusú vagy különböző típusú állandók tömbök. A következő példa nyilvánítják funkciót, amely, mint a paraméter továbbítandó nyitott tömb egész számok.








Egy nyitott tömb, akkor át változók, konstansok, vagy kifejezést a konstansok. A következőkben egy példát, amely megmutatja a funkció hívás AddEmUp ráruházzák számos különböző elemek.


Ahhoz, hogy információt szerezzenek a ténylegesen átvitt tömb paraméterek függvényében vagy eljárást lehet igénybe venni a funkció Magas, Alacsony és sizeof. Annak illusztrálására, azok használata a következő a szövege AddEmUp függvény, amely visszaadja az összessége a tömb elemeinek átadott A.


A funkciót lehet nyilvánítani a fenti, például úgy, hogy egy ilyen nyilatkozat:


Amikor az átviteli függvény vagy eljárás tömb konstans minden továbbított paraméterek implicit compiler átalakítja a típusú TVarRec. TVarRec adattípus nyilvánítják a System egység az alábbiak szerint:


VType mező határozza meg, hogy milyen típusú adatrögzítő TVarRec a jelen esetben, és hogy az egyik az alábbi értékeket.


Mivel a tömb az állandók is küldhet adatot a különböző típusú, előfordulhat, hogy bizonyos nehézségeket létrehozása közben feldolgozási paraméterek kapott függvény vagy eljárást. A WhatHaveIGot úgy a végrehajtási eljárás, amely letapogatja a tömb elemeinek kapott paramétereket, és kimenetén, mint például annál a típusnál ilyen tömb.


Az alapértelmezett beállítások


A második esetben, csak akkor meg a paraméter értékét s, paraméter i értékét használja alapértelmezett:


Ha az alapértelmezett értékeket tisztában kell lenniük az alábbi szabályokat.
  • Paraméterek alapértelmezett értékekkel kell helyezni a végén a paraméter listában. Paraméter nincs alapértelmezett érték nem jelenik meg a listában, miután a paraméter, amely egy alapértelmezett értéket.
  • Az alapértelmezett értékek csak rendelni a paramétereket a hagyományos típusok, jelek vagy készleteket.
  • Az alapértelmezett érték lehet továbbítani csak az érték, vagy a módosító const. Ez nem lehet hivatkozni, illetve típustalan paramétert.
Az egyik legfontosabb előnye az alapértelmezett értékeket az egyszerűség funkcionalitás kiterjesztésével a meglévő eljárások és függvények megfelelően visszafelé kompatibilitás. Tegyük fel, hogy a piac szoftver már megjelent, a legfontosabb eleme, amely függvénye a további két egész értéket:

Az irányelv tiltja a telefonálási funkciókat, mint a kezelések (figyelmen kívül hagyva a visszatérő eredmények). Alapértelmezésben ez a mód be van kapcsolva (). Emlékszel, a használata eredmény elfogadhatatlan, ha egy reset zászló kiterjesztett szintaxist lehetőség található a Compiler lapján Project Options fel, vagy a fordító irányelvek.

Minden Objecl Pascal nyelv területén van egy helyi változó nevű Eredmény, kialakítani, hogy a visszatérési érték. Ezen túlmenően, a visszatérési érték a függvény is lehet hozzárendelésével értéket egy változó, amelynek ugyanaz a neve, mint a funkció. Ez egy standard Pascal szintaxis, tartósított el a korábbi verziók. Ha használjuk a szervezetben a funkciója a változó nevét ne felejtsük el, hogy nagy különbségek vannak a kezelése a neve - minden attól függ, hogy hol található - a bal oldali egy megbízást, vagy bármely más helyen a szöveg funkció. Ha a függvény neve megjelenik a bal oldalon egy értékadó operátor feltételezzük, hogy lehet rendelni a visszatérési érték a funkciót. Minden más esetben, azt feltételezzük, hogy végezzük a rekurzív hívás a funkciót.




Kapcsolódó cikkek