Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Private





{ Private declarations }

Public

{ Public declarations }

End;

var Form1: TForm1;

Строка

TForm1 = class(TForm)

определяет новый класс Tform1, которыйпорожден от (создан по образцу) стандартного класса TForm. Строка

Form1: Tform1;

создаетэкземпляр этого класса с именем Formi. Стандартный класс TForm описывает пустое Windows-окно, в то время как класс TFormI описывает окно с уже вставленными в него компонентами метка и кнопка. Описание этих компонентов содержат строки

Button1: TButton;

Label 1: TLabel;

Они указывают, что компонент Buttoni (Кнопка!) представляет собой экземпляр стандартного класса TButton, а компонент Label 1 (Метка 1) - экземпляр класса TLabel.

За именем процедуры TFormi. Buttoniciick в круглых скобках следует описание параметра вызова

Sender: TObject

(параметр с именем Sender принадлежит классу TObject). Как мы увидим дальше, процедуры могут иметь не один, а несколько параметров вызова или не иметь их вовсе. Параметры вызова (если они есть) служат для настройки реализованного в процедуре алгоритма на выполнение конкретной работы. Параметр Sender вставлен Delphi “на всякий случай”: с его помощью подпрограмма Button1Click может при желании определить, какой именно компонент создал событие OnClick. Вся строка в целом

procedure TFormI.Buttoniciick(Sender: TObject);

называетсязаголовком процедуры. Ее завершает символ “;”. Этот символ играет важную роль в Object Pascal, т. к. показывает компи-- лятору на конецпредложения языка. Из отдельных предложений составляется весь текст программы. В конце каждого предложения нужно ставить точку с запятой - это обязательное требование синтаксиса языка.

Три следующие строки определяюттело процедуры:

Begin

End;

Слово begin (начало) сигнализирует компилятору о начале последовательности предложений, описывающих алгоритм работы процедуры, а слово end (конец) - о конце этой последовательности. В нашем случае тело процедуры пока еще не содержит описания каких-либо действий, что и неудивительно: Delphi лишь создала заготовку для процедуры, но она ничего “не знает” о том, для чего эта процедура предназначена. Наполнить тело нужными предложениями -задача программиста.

Для нас важно то обстоятельство, что каждый раз при нажатии кнопки Button1 управление будет передаваться в тело процедуры, а значит, между словами begin и end мы можем написать фрагмент программы, который будет выполняться в ответ на это событие.

Чтобы убедиться в этом, сделаем нашу кнопку “звучащей”: напишите в пустой строке между словами begin...end следующее предложение:

MessageBeep (МВ_ОК);

и сделайте прогон программы[ Если вы работаете с версией Delphi 1, используйте строку MessageBeep (0);], предварительно включив звуковую систему компьютера. Теперь в ответ на нажатие кнопки Button1 в динамике компьютера будет раздаваться звуковой сигнал, т. к. вставленная строка реализует обращение к стандартной процедуре, которая умеет извлекать из динамика различные стандартные для Windows звуки.

3.3.3. Динамическое изменение свойств компонента

Поскольку кнопка Buttoni в нашей программе способна “звучать”, полезно изменить ее надпись: вместо умалчиваемой надписи Buttoni, которую автоматически формирует Delphi по имени компонента, назовем кнопку, например, “Звук”. Проще всего это сделать с помощью окна формы и Инспектора объектов, т. е. на этапе конструирования формы (для этого нужно просто изменить свойство caption компонента Button1 в окне Инспектора объектов), но для более полного знакомства с Delphi мы рассмотрим другой способ - динамического[ К сожалению, эта процедура работает не всегда: если ваш ПК не оснащен звуковой картой, динамик будет молчать. В этом случае вместо MessageBeep (MB_OK) напишите просто Веер. Изменения на этапе конструирования называются статическими, а в ходе прогона программы - динамическими. ] изменения надписи на этапе прогона программы. Для этого создадим обработчик события OnCreate (По созданию) для формы и изменим в нем это свойство.

Событие OnCreate возникает после создания windows-окна, но до появления этого окна на экране. Чтобы создать обработчик этого события, раскройте список компонентов в верхней части окна Инспектора объектов, выберите компонент Formi и дважды щелкните по свойству OnCreate на странице Events этого компонента (щелкать нужно по правой части строки oncreate). В ответ Delphi вновь активизирует окно кода и покажет вам заготовку для процедуры TForm1. FormCreate. Отредактируйте ее следующим образом:

procedure TFormi.FormCreate(Sender: TObject);

begin

Button1.Caption:= 'Звук';

end;

Единственная вставленная нами строка представляет собой так называемыйоператор присваивания языка Object Pascal. В левой части оператора указывается свойство Buttoni. caption, а в правой части - значение ' звук ', которое мы хотим придать этому свойству. Связывает обе части комбинация символов “: =”, которая читается как “присвоить значение”. Символы “:=” всегда пишутся слитно, без разделяющих пробелов, хотя перед двоеточием и после знака равенства можно для лучшей читаемости программы вставлять пробелы, что мы и сделали. Как и любое другое предложение языка, оператор присваивания завершается точкой с запятой.

Составное имя Button1.Caption необходимо для точного указания компилятору, о каком свойстве идет речь: в нашей программе используются три компонента (включая саму форму), каждый из которых имеет свойство Caption; уточняющий префикс Button1 заставит изменить это свойство у кнопки, а не у метки или формы. Присваиваемое свойству значение является текстовой строкой. По правилам Object Pascal текстовая строка должна заключаться в обрамляющие апострофы. Внутри апострофов можно написать любое количество произвольных символов - именно они (без обрамляющих апострофов) будут определять новую надпись на кнопке.

После очередного прогона программы вы увидите измененную надпись на кнопке, а мы сделаем важный вывод: любое свойство любого компонента можно изменять динамически, т. е. в ходе исполнения программы.







Дата добавления: 2015-10-18; просмотров: 396. Нарушение авторских прав; Мы поможем в написании вашей работы!




Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...


ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...


Теория усилителей. Схема Основная масса современных аналоговых и аналого-цифровых электронных устройств выполняется на специализированных микросхемах...


Логические цифровые микросхемы Более сложные элементы цифровой схемотехники (триггеры, мультиплексоры, декодеры и т.д.) не имеют...

ЛЕЧЕБНО-ПРОФИЛАКТИЧЕСКОЙ ПОМОЩИ НАСЕЛЕНИЮ В УСЛОВИЯХ ОМС 001. Основными путями развития поликлинической помощи взрослому населению в новых экономических условиях являются все...

МЕТОДИКА ИЗУЧЕНИЯ МОРФЕМНОГО СОСТАВА СЛОВА В НАЧАЛЬНЫХ КЛАССАХ В практике речевого общения широко известен следующий факт: как взрослые...

СИНТАКСИЧЕСКАЯ РАБОТА В СИСТЕМЕ РАЗВИТИЯ РЕЧИ УЧАЩИХСЯ В языке различаются уровни — уровень слова (лексический), уровень словосочетания и предложения (синтаксический) и уровень Словосочетание в этом смысле может рассматриваться как переходное звено от лексического уровня к синтаксическому...

Сравнительно-исторический метод в языкознании сравнительно-исторический метод в языкознании является одним из основных и представляет собой совокупность приёмов...

Концептуальные модели труда учителя В отечественной литературе существует несколько подходов к пониманию профессиональной деятельности учителя, которые, дополняя друг друга, расширяют психологическое представление об эффективности профессионального труда учителя...

Конституционно-правовые нормы, их особенности и виды Характеристика отрасли права немыслима без уяснения особенностей составляющих ее норм...

Studopedia.info - Студопедия - 2014-2025 год . (0.011 сек.) русская версия | украинская версия