Разбиране на въведени константи в Delphi

click fraud protection

Кога Delphi извиква обработващ събитие, старите стойности на локалните променливи се заличават. Ами ако искаме да следим колко пъти е натиснат бутон? Можем да накараме стойностите да продължат, като използваме променлива на ниво единица, но като цяло е добра идея да запазваме променливите на ниво единица само за споделяне на информация. Това, от което се нуждаем, обикновено се наричат ​​статични променливи или въведени константи в Delphi.

Променлива или постоянна

Въведените константи могат да се сравняват с инициализирани променливи-променливи, чиито стойности са определени при влизане в техния блок (обикновено обработващ събитията). Такава променлива се инициализира само когато програмата започне да се изпълнява. След това стойността на въведената константа продължава между последователни повиквания към техните процедури.

Използването на въведени константи е много чист начин за реализиране на автоматично инициализирани променливи. За да реализираме тези променливи без въведени константи, ще трябва да създадем раздел за инициализация, който задава стойността на всяка инициализирана променлива.

instagram viewer

Променливи типове константи

Въпреки че декларираме въведени константи в секцията const на процедура, важно е да запомним, че те не са константи. Във всеки момент от приложението ви, ако имате достъп до идентификатора за въведена константа, ще можете да променяте стойността му.

За да видите въведените константи по време на работа, поставете бутон върху празен формуляр и задайте следния код на обработващия събитията OnClick:

процедура TForm1.Button1Click (Подател: TObject); конст кликвания: цяло число = 1; // не е истинска константазапочвам Form1.Caption: = IntToStr (кликвания); кликвания: = кликвания + 1; край; 

Забележете, че всеки път, когато кликнете върху бутона, непрекъснато увеличава надписите.
Сега опитайте следния код:

процедура TForm1.Button1Click (Подател: TObject); Var кликвания: цяло число; започвам Form1.Caption: = IntToStr (кликвания); кликвания: = кликвания + 1; край; 

Вече използваме неинициализирана променлива за брояча на кликванията. Забележете тази странна стойност в надписите във формулярите, след като щракнете върху бутона.

Постоянни типове константи

Трябва да се съгласите, че идеята за променящи се константи звучи малко странно. В 32-битови версии на Delphi Borland решиха да възпрепятстват използването им, но ги подкрепят за наследствения код на Delphi 1.

Можем да разрешим или деактивираме Присвояващи константи, въведени на страницата Компилатор на диалоговия прозорец Опции на проекта.

Ако сте деактивирали Присвояващи константи за даден проект, когато се опитате да компилирате предишен код, Delphi ще ви даде грешка „Лявата страна не може да бъде присвоена“ при компилация. Можете, обаче, да създадете присвояваща тип константа, като декларирате:

{$ J +}конст кликвания: цяло число = 1; {$ J-}

Следователно първият примерен код изглежда така:

процедура TForm1.Button1Click (Подател: TObject); конст{$ J +} кликвания: цяло число = 1; // не е истинска константа{$ J-}започвам Form1.Caption: = IntToStr (кликвания); кликвания: = кликвания + 1; край; 

заключение

От вас зависи да решите дали искате въведените константи да бъдат присвоявани или не. Важното тук е, че освен идеални за броячи, въведените константи са идеални за изработка компоненти, променливи или видими или невидими, или можем да ги използваме за превключване между всеки булев Имоти. Въведените константи могат да се използват и в манипулатора на събитията на TTimer, за да се следи колко пъти дори е задействано.

instagram story viewer