A tipizált állandók megértése a Delphiben

click fraud protection

Amikor Delphi eseménykezelőt hív, a helyi változók régi értékeit törli. Mi lenne, ha nyomon szeretnénk követni, hogy hányszor kattintottak egy gombra? Lehet, hogy az értékek megmaradnak egy egységszintű változó használatával, de általában jó ötlet az egységszintű változókat csak az információk megosztására fenntartani. Amit Delphi-ben általában statikus változóknak vagy gépelt állandónak nevezzük.

Változó vagy állandó

A tipizált állandók összehasonlíthatók az inicializált változókkal - olyan változókkal, amelyek értékei blokkjuk belépésekor vannak meghatározva (általában eseménykezelő). Egy ilyen változó csak akkor inicializálódik, amikor a program fut. Ezt követően a gépelt állandó értéke fennmarad az eljárásokra vonatkozó egymást követő hívások között.

A gépelt állandók használata az automatikusan inicializált változók végrehajtásának nagyon tiszta módja. Ezeknek a változóknak a gépelt állandók nélkül történő megvalósításához létre kell hoznunk egy inicializálási szakaszt, amely meghatározza az egyes inicializált változók értékét.

instagram viewer

Változó típusú állandók

Noha a gépelt állandókat az eljárás const szakaszában deklaráljuk, fontos megjegyezni, hogy nem konstansok. Az alkalmazás bármely pontján, ha hozzáféréssel rendelkezik a beírt konstans azonosítójához, módosíthatja annak értékét.

A gépelt állandók munkahelyi megjelenítéséhez tegyen egy gombot egy üres űrlapra, és rendelje hozzá a következő kódot az OnClick eseménykezelőhöz:

eljárás TForm1.Button1Click (Feladó: TObject); const kattintások: egész szám = 1; // nem egy igaz állandókezdődik Form1.Caption: = IntToStr (kattintások); kattintások: = kattintások + 1; vég; 

Vegye figyelembe, hogy minden alkalommal, amikor rákattint a gombra, a képaláírások növekedése folyamatosan alakul.
Most próbálja ki a következő kódot:

eljárás TForm1.Button1Click (Feladó: TObject); var kattintások: egész szám; kezdődik Form1.Caption: = IntToStr (kattintások); kattintások: = kattintások + 1; vég; 

Most egy nem inicializált változót használunk a kattintásszámlálóhoz. A gombra való kattintás után vegye figyelembe, hogy furcsa érték van az űrlap-feliratokban.

Állandó típusú állandók

Egyet kell értenie azzal, hogy a módosítható állandók elképzelése kissé furcsa. A Delphi 32 bites verziójában a Borland úgy döntött, hogy elriasztja használatát, de támogatja őket a Delphi 1 örökölt kódhoz.

Engedélyezhetjük vagy letilthatjuk a Kiosztható gépelt állandókat a Projektbeállítások párbeszédpanel Fordító oldalán.

Ha egy adott projekthez letiltotta a hozzárendelhető gépelt állandókat, akkor a Delphi az előző kód lefordításakor a „Bal oldal nem rendelhető hozzá” hibát jeleníti meg a fordítás során. Azonban létrehozhat hozzárendelhető gépelt állandót a következők bejelentésével:

{$ J +}const kattintások: egész szám = 1; {$ J-}

Ezért az első példakód így néz ki:

eljárás TForm1.Button1Click (Feladó: TObject); const{$ J +} kattintások: egész szám = 1; // nem egy igaz állandó{$ J-}kezdődik Form1.Caption: = IntToStr (kattintások); kattintások: = kattintások + 1; vég; 

Következtetés

Ön dönti el, hogy a gépelt állandók hozzárendelhetők-e vagy sem. Fontos dolog az, hogy a számlálók számára ideális, a gépelt állandók ideálisak a készítéshez is az alkatrészek váltakozva láthatók vagy láthatatlanok, vagy bármilyen logikai eszköz között válthatunk tulajdonságait. A tipikus állandók a TTimer eseménykezelőjén belül is használhatók, hogy nyomon követhessék, hányszor még kiváltottak.

instagram story viewer