Suprasti tipines konstantas Delfuose

click fraud protection

Kada Delfi iškviečia įvykių tvarkytoją, senosios vietinių kintamųjų vertės yra sunaikintos. O kas, jei norime sekti, kiek kartų buvo paspaustas mygtukas? Galėtume turėti reikšmių, kurios išliktų naudojant vieneto lygio kintamąjį, tačiau paprastai gera idėja rezervuoti vieneto lygio kintamuosius tik keistis informacija. Tai, ko mums reikia, Delphyje paprastai vadinami statiniais kintamaisiais arba įvestomis konstantomis.

Kintamas arba pastovus

Įrašytas konstantas galima palyginti su inicijuotais kintamaisiais-kintamaisiais, kurių vertės yra apibrėžtos įeinant į jų bloką (paprastai įvykių tvarkyklė). Toks kintamasis inicializuojamas tik paleidus programą. Po to iš eilės iškviečiamos jų procedūros išlieka įvestos konstantos vertė.

Įvestų konstantų naudojimas yra labai švarus būdas automatiškai inicijuoti kintamuosius. Norėdami įdiegti šiuos kintamuosius be įvestų konstantų, turėsime sukurti inicializacijos skyrių, kuriame būtų nustatyta kiekvieno inicializuoto kintamojo vertė.

Kintamos rūšies konstantos

instagram viewer

Nors deklaruojame įvestas konstantas procedūros const skyriuje, svarbu atsiminti, kad jos nėra konstantos. Bet kuriuo jūsų programos tašku, jei turėsite prieigą prie įvestos konstantos identifikatoriaus, galėsite pakeisti jos vertę.

Norėdami pamatyti įvestas konstantas darbe, uždėkite mygtuką ant tuščios formos ir priskirkite šį kodą „OnClick“ įvykių tvarkytuvei:

procedūra TForm1.Button1Click (Siuntėjas: TObject); const paspaudimai: sveikasis skaičius = 1; // nėra tikra konstantaprasideda Forma1.Caption: = IntToStr (paspaudimai); paspaudimai: = paspaudimai +1; galas; 

Atminkite, kad kiekvieną kartą spustelėdami mygtuką, nuosekliai formuojamos antraštės.
Dabar išbandykite šį kodą:

procedūra TForm1.Button1Click (Siuntėjas: TObject); var paspaudimai: sveikasis skaičius; prasideda Forma1.Caption: = IntToStr (paspaudimai); paspaudimai: = paspaudimai +1; galas; 

Dabar paspaudimų skaitikliui naudojame neinicializuotą kintamąjį. Atkreipkite dėmesį, kad keista reikšmė formų antraštėse paspaudus mygtuką.

Pastoviai įvestos konstantos

Jūs turite sutikti, kad modifikuojamų konstantų idėja skamba šiek tiek keistai. 32 bitų „Delphi“ versijose „Borland“ nusprendė atsisakyti jų naudojimo, tačiau palaiko juos naudojant „Delphi 1“ senąjį kodą.

Dialogo lango „Projekto parinktys“ puslapyje Kompiliatorius galime įjungti arba išjungti priskirtinas įvestas konstantas.

Jei neleidote konkrečiam projektui priskirtų įvestų konstantų, bandydami sudaryti ankstesnį kodą, „Delphi“ kompiliavimo metu parodys klaidą „Kairė pusė negali būti priskirta“. Vis dėlto galite sukurti priskirtiną tipinę konstantą skelbdami:

{$ J +}const paspaudimai: sveikasis skaičius = 1; {$ J-}

Todėl pirmasis pavyzdžio kodas atrodo taip:

procedūra TForm1.Button1Click (Siuntėjas: TObject); const{$ J +} paspaudimai: sveikasis skaičius = 1; // nėra tikra konstanta{$ J-}prasideda Forma1.Caption: = IntToStr (paspaudimai); paspaudimai: = paspaudimai +1; galas; 

Išvada

Jūs turite nuspręsti, ar norite, kad įvestos konstantos būtų priskirtinos, ar ne. Svarbus dalykas yra tai, kad ne tik idealūs skaitikliai, bet ir įvestos konstantos yra idealios komponentai pakaitomis matomi ar nematomi, arba mes galime juos naudoti perjungdami bet kurį loginį elementą savybes. Įrašytos konstantos taip pat gali būti naudojamos TTimer įvykių apdorojimo priemonėje, kad būtų galima sekti, kiek kartų net buvo suaktyvinta.

instagram story viewer