КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Описания программных элементов
Любая программа состоит из программных элементов и операторов управления этими элементами. К программным элементам относятся константы, типы, переменные, процедуры, функции, объекты и некоторые другие. К операторам управления относятся следующие операторы: присваивания, построения разветвлений в расчетах, построения циклических вычислений и др. С помощью объявления в программу вводится какой-либо программный элемент. Ему присваивается имя и, возможно, начальное значение. Object Pascal является строго типизированным языком. Это означает, что каждому программному элементу до первого применения необходимо задать его тип, чтобы сообщить компилятору, к какого вида сущностям относится объявленный программный элемент. Эта сущность определяет, какие операции можно применить и как эти операции должны интерпретироваться. ПРОГРАММНЫЕ ЭЛЕМЕНТЫ И АДРЕСА ПАМЯТИ Каждый программный элемент занимает какую-либо область памяти. Компилятор неявно заменяет каждое имя определенным адресом в памяти. Иногда имя определяет не сам элемент, а "нечто в памяти". В этом случае имя представляет собой явно указываемый адрес размещения некоторого программного элемента. Такой программный элемент называется ссылкой, или указателем. Таким образом, имена могут представлять или программные элементы или адреса размещения этих элементов. ОБЛАСТИ ВИДИМОСТИ Объявление вводит имя в области видимости, т. е. имя может использоваться только в определенной части программы. Для имени, описанного, например, в процедуре кого-либо обработчика событий (такое имя часто называют локальным - Sender в примере 1), область видимости простирается только в блоке процедуры. Имя, описанное, например, в интерфейсной секции модуля (такое имя называют глобальным - TForm, Form1 в примере 1, имена в подключаемых модулях, например в Forms), имеет область видимости, простирающуюся на весь модуль. Области видимости иногда задают с помощью ключевых слов Private, Public, Protected. ПРАВИЛА ЗАПИСИ ИМЕН Имя (идентификатор) состоит из последовательности букв и цифр. Первый символ должен быть буквой. Символ подчеркивания "__" считается буквой. Количество символов в имени может быть достаточно большим, но значимыми являются первые 63 символа. Буквы в верхнем и нижнем регистре неразличимы в имени, однако, для удобочитаемости программ следует использовать прописные и строчные буквы. ВРЕМЯ ЖИЗНИ ИДЕНТИФИКАТОРОВ Если программист не указал иного, то программный элемент, например локальный, создается, когда встречается его объявление, и уничтожается, когда его имя выходит из области видимости. Элементы с глобальными именами создаются и инициализируются автоматически при объявлении или с помощью инспектора объектов. Иногда они создаются не автоматически, а явно в программе (очень часто один раз) и "живут" до завершения программы. Если элемент создан явно программистом, то при выходе из области видимости его явно необходимо уничтожить, иначе можно непроизводительно занять всю память. ИСПОЛЬЗОВАНИЕ ЛОКАЛЬНЫХ ПЕРЕМЕННЫХ В ПРИМЕРЕ 1 Рассмотрим другие варианты решения примера 1. Вначале исследуем понятие "локальных переменных", введенное выше. Использование локальных переменных, в данном случае, повышает "'наглядность" программного кода. Для реализации этой идеи достаточно изменить один обработчик -нажатие на кнопку Button1 (рис. 13): procedure TForm1.Button1Click(Sender: TObject); {объявление локальных переменных) var а,Ь,s:integer; begin а:=StrToInt(Edit1.Text); Ь:=StrToInt(Edit2.Text); s:=a+b;
Edit3.Text:=IntToStr(s); end; ИСПОЛЬЗОВАНИЕ ГЛОБАЛЬНЫХ ПЕРЕМЕННЫХ В ПРИМЕРЕ 1 Как можно заметить из сравнения двух приведенных выше вариантов решения примера 1, применение локальных переменных привело к небольшому изменениию программного кода. Еще один вариант решения можно получить, используя глобальные переменные. Их применение изменяет структуру приложения - добавляются новые обработчики событий. Глобальные переменные (var a,b,s:integer;) объявляются в интерфейсной секции модуля Unit1 (пример 1). Значения глобальным переменным а и Ь присваиваются на уровне работы соответствующих компонентов, в данном случае Edit1 и Edit2. Это означает, что при выходе, например, из элемента Edit1 (при потере фокуса элементом Edit1) необходимо присвоить значение соответствующей числовой переменной. Такое присваивание можно выполнить с помощью обработчика OnExit Таким образом, структурно приложение дополняется двумя обработчиками Edit1 Exit и Edit2Exit. Ниже представлены программные коды этих обработчиков:
Соответственно в обработчике Buttoniciick необходимо убрать строчки вычисления значений переменных а и Ь. Учитывая еще, что переменная s объявлена глобально, перепишем код рассматриваемого обработчика событий: procedure TForm1.Button1Click(Sender: TObject); begin s:=a+b; Edit3.Text:=IntToStr(s); end;
Дата добавления: 2014-12-29; Просмотров: 371; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |