Организация взаимодействия форм

Разработка приложения

Delphi относится к совокупностям визуального программирования, каковые именуются кроме этого совокупностями RAD (Rapid Application Development, стремительная разработка приложений). Разработка приложения в Delphi включает два взаимосвязанных этапа:

? создание интерфейса приложения;

? определение функциональности приложения.

Интерфейс приложения определяет приложения взаимодействия и способ пользователя, другими словами внешний вид формы (форм) при исполнении приложения, да и то, как пользователь руководит приложением. Интерфейс создается методом размещения в форме компонентов, каковые называются интерфейсными либо управляющими компонентами (элементами). Создание интерфейса приложения выполняется посредством Конструктора формы.

Функциональность приложения определяется процедурами, каковые выполняются при происхождении определенных событий, к примеру, происходящих при действиях пользователя с управляющими элементами формы.

Так, в ходе создания приложения на форму помещаются компоненты и для них устанавливаются нужные особенности и создаются обработчики событий.

Простейшее приложение

Для примера создадим простейшее приложение. Слово создадим в этом случае есть пара громким, поскольку создавать и тем более программировать не придется по большому счету ничего. Delphi уже изначально представляет готовое приложение, складывающееся из одной формы.

Конкретно по окончании начала создания нового приложения Delphi предлагает разработчику пустую форму. Эта форма не есть безлюдной в буквальном смысле слова — она содержит главные элементы окна Windows: заголовок Form1,кнопки минимизации, закрытия и максимизации окна, трансформации размеров окна и кнопку вызова системного меню окна. Эта форма отображается при первом запуске Delphi в окне Конструктора формы.

Любое приложение Windows выполняется в соответствующем окне а также если оно ничего не делает в смысле функциональности, другими словами есть безлюдным, все равно должно иметь собственный окно. Delphi — это среда разработки приложений под Windows, исходя из этого изначально для любого разрабатываемого приложения машинально предлагает окно (форму), для которой уже созданы два файла с модулем и описанием.

Так, простейшее приложение создается машинально любой раз в начале работы над новым проектом и есть отправной точкой для предстоящей работы. Это приложение имеет минимум того, что необходимо любому приложению, делаемому в среде Windows, но ни одним элементом больше.

Простейшее приложение является заготовкой либо каркас, обеспечивающий разработчика всем нужным каждому приложению по большому счету. Так, не требуется писать собственный обработчик клавиатуры либо драйвер мыши, и создавать пакет процедур для работы с окнами. Более того, нет необходимости интегрировать драйвер мыши с пакетом для работы с окнами. Это все уже полностью сделано создателями Delphi, и каркас приложения представляет собой всецело завершенное и функционирующее приложение, которое легко ничего не делает.

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

Полностью оценить эти возможности окна может лишь программист, что писал приложения под Windows ветхим классическим методом. Изнутри Windows воображает совокупность с индексами, контекстами, множеством и обратными вызовами вторых сложнейших элементов, каковые необходимо знать, которыми необходимо руководить и в которых возможно легко запутаться. Потому, что эти элементы имеются в каждом функционирующем приложении Windows, совокупность Delphi скрывает эти сложности от программиста. О той работе, которую проделывает Delphi за программиста, возможно делать выводы кроме этого по размеру взятого выполнимого файла несложного приложения (для 6-й версии приблизительно 355 Кбайт).

При конструировании приложения разработчик додаёт к несложному приложению новые формы, управляющие элементы, и новые обработчики событий.

Создание интерфейса приложения

Интерфейс приложения составляют компоненты, каковые разработчик выбирает из Палитры компонентов и размещает на форме, сами компоненты являются собственного рода строительными блоками. При конструировании интерфейса приложения действует принцип WYSIWYG (What You See Is What You Get, что видите, то и получите), и разработчик при создании приложения видит форму практически такой же, как и при его исполнении.

Компоненты являются структурными единицами и делятся на визуальные (видимые) и невизуальные (системные). Понятие видимый и невидимый относятся лишь к этапу исполнения, на этапе проектирования видны все компоненты приложения.

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

К невизуальным компонентам относятся компоненты, делающие вспомогательные, но не меньше серьёзные действия, к примеру, таймер Timer либо комплект данных Table. Компонент Timer разрешает отсчитывать промежутки времени, а компонент Table воображает записи таблицы базы данных.

При создании интерфейса приложения для каждого компонента выполняются следующие операции:

— выбор компонента в Палитре компонентов и размещение его на форме;

— изменение особенностей компонента.

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

Выбор компонента в палитре выполняется щелчком мыши на нужном компоненте, к примеру, кнопке Button, в следствии чего его пиктограмма принимает утопленный вид. В случае если затем щелкнуть на свободном месте формы, то на ней появляется выбранный компонент, а его пиктограмма в палитре принимает простой вид. Пиктограммы компонентов отражают назначение компонентов, и при наличии маленьких практических навыков выбор нужного компонента происходит достаточно скоро. Помимо этого, при наведении на любой компонент указателя мыши отображается подсказка о его назначении. В обозначении типа объектов Delphi, среди них и компонентов, указывается буква т. Довольно часто для обозначения компонентов употребляются не их названия, а типы. Для обозначения компонентов будем применять как раз заглавия, а не типы компонентов, другими словами Button, а не TButton, Label, а не TLabel.

По окончании размещения компонента на форме Delphi машинально вносит трансформации в файл описания и файл модуля. В описание класса формы (файл модуля) для каждого нового компонента добавляется строки формата

: ;

Наименование компонента есть значением его свойства Name, а тип определяется выбранным компонентом. К примеру, для кнопки Button эта строки первоначально будет иметь вид:

Buttonl: TButton;

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

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

Внешний вид компонента определяют его свойства, каковые дешёвы в окне Инспектора объектов, в то время, когда компонент выделен на форме и около него отображаются маркеры выделения (рис. 1.5). Доступ к особенностям самой формы осуществляется подобно, но в выбранном состоянии форма не выделяется маркерами. Для выделения (выбора) формы достаточно щелкнуть в любом ее месте, свободном от вторых компонентов. В ниспадающем перечне, расположенном в верхней части окна Инспектора объектов, отображается наименование его тип и компонента. Выбрать тот либо другой компонент и соответственно получить доступ к его особенностям кроме этого возможно, выбрав данный компонент в перечне Инспектора объектов. Таковой метод выбора эргономичен в случаях, в то время, когда компонент всецело закрыт вторыми объектами. В левой части окна Инспектора объектов приводятся заглавия всех особенностей компонента, каковые дешёвы на этапе разработки приложения. Для каждого свойства справа содержится значение этого свойства. Напомним, что, не считая этих особенностей, компонент может иметь свойства, каковые доступны лишь на протяжении исполнения приложения.

Организация взаимодействия форм

Рис. 1.5. Доступ к особенностям компонента

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

Управление особенностями в ходе проектирования содержится в изменении значений особенностей компонентов конкретно в окне Конструктора формы (рисование) либо посредством Инспектора объектов.

Разработчик может поменять значение свойства компонента, введя либо выбрав необходимое значение. Наряду с этим в один момент изменяется соответствующий компонент, так уже при проектировании видны результаты сделанных трансформаций. К примеру, при трансформации значения свойства Сaption (наименование) кнопки в ходе редактирования нового заглавия на поверхности кнопки отображается редактируемое наименование.

Для утверждения нового значения свойства достаточно надавить клавишу либо перейти к второму свойству либо компоненту. Для отмены трансформаций нужно надавить клавишу . В случае если свойству введено неправильное значение, то выдается дающее предупреждение сообщение, а изменения значения отвергаются. Трансформации особенностей машинально учитываются в файле описания формы, применяемом компилятором при создании формы, а при трансформации свойства Name вносятся трансформации и в описание класса формы.

Любой компонент для большинства собственных особенностей, к примеру, color (Цвет), caption (Заголовок) и visible (Видимость), имеет значения по умолчанию.

Для обращения к компоненту в приложении предназначено свойство Name типа TComponentName, которое показывает имя компонента. Напомним, что тип TComponentName эквивалентен типу string. Любой новый компонент, помещаемый на форму, приобретает имя по умолчанию, машинально образуемое методом добавления к заглавию компонента его номера в порядке помещения на форму. К примеру, первый однострочный редактор Edit приобретает имя Edit1, второй — Edit2 и т. д.

На этапе разработки приложения программист может поменять имя компонента по умолчанию на более осмысленное и соответствующее назначению компонента. Существует пара точек зрения по поводу присвоения имен компонентам. В соответствии с одной из них, имя образуется из назначения его названия и компонента. Вторым вариантом есть указание в имени вместо заглавия компонента его префикса. Префикс есть сокращением заглавия, к примеру, для однострочного редактора Edit префикс возможно edt, для надписи Label — lbl, для формы Form — fm. To имеется для однострочного редактора, предназначенного для ввода фамилии сотрудника, подходящими именами будут NameEdit либо edtName. Оба метода являются одинаково допустимыми, и на практике любой разработчик применяет тот, что для него самый эргономичен, либо некий второй метод.

Для наглядности мы в большинстве случаев будем применять в отечественных примерах в качестве имен визуальных и невизуальных компонентов их имена по умолчанию, к примеру, Label1, Edit2 либо Button3.

Свойства, которые связаны с положением и размерами компонента (к примеру, Left и Width), машинально изменяют собственные значения при перемещении компонента мышью и смене его размеров.

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

Отображаемое в Инспекторе объектов свойство возможно:

? несложным (текстовым) — значение свойства вводится либо редактируется как простая строка знаков, которая интерпретируется как числовой либо строковый тип Delphi. Употребляется для таких особенностей, как Caption, Left, Height и Hint;

? перечислимым — значение свойства выбирается из раскрывающегося перечня. Перечень раскрывается щелчком на стрелке, которая появляется при установке курсора в области значения свойства. Возможно не выбирать, а ввести посредством клавиатуры необходимое значение, но на практике это в большинстве случаев не делается, поскольку ввести возможно одно из предлагаемых значений. Помимо этого, возрастает трудоемкость ввода значения и увеличивается возможность неточности. Употребляется для таких особенностей, как FormStyle,Visible и ModalPesu

? множественным — значение свойства является комбинацией значений из предлагаемого множества. В Инспекторе объектов слева от заглавия свойства множественного типа содержится символ +. Формирование значения свойства выполняется посредством дополнительного перечня, раскрываемого двойным щелчком на заглавии свойства. Данный перечень содержит список всех допустимых значений свойства, справа от каждого значения возможно указать True либо False. Выбор True свидетельствует, что данное значение включается в комбинацию значений, a False — нет. Используется для таких особенностей, как Borderlcons и Anchors;

? объектом — свойство есть объектом и, со своей стороны, содержит другие свойства (подсвойства), каждое из которых возможно редактировать раздельно употребляется для таких особенностей, как Font, Items и Lines.

В области значения свойства-объекта в скобках указывается тип объекта, к примеру, (TFont) либо (TSrings). Для свойства-объекта слева от заглавия может находятся символ +, в этом случае управление его под особенностями выполняется как и для свойства множественного типа через раскрывающийся перечень. Данный перечень в левой части содержит заглавия подсвойств, а в правой — значения, редактируемые простым методом. В области значения может отображаться кнопка с тремя точками. Это указывает, что для данного свойства имеется особый редактор, что вызывается нажатием на эту кнопку. Так, для свойства Font раскрывается стандартное окно Windows для установки параметров шрифта.

При исполнении приложения значения особенностей компонентов (дешёвых в окне Инспектора объектов) возможно изменять посредством операторов присваивания, например, в обработчике события создания формы. К примеру, изменение заголовка кнопки Button1 возможно выполнить следующим образом:

Buttonl.Caption := ‘Закрыть’;

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

Напомним, что существуют свойства времени исполнения, недоступные через Инспектор объектов и с которыми возможно трудиться лишь на протяжении выполнения приложения. К таким особенностям относятся, к примеру, число записей RecordCount комплекта данных либо поверхность рисования Сanvas визуального компонента.

Позиция сотрудничества семьи и детского сада. Главные формы организации сотрудничества

Похожие статьи:

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

Adblock
detector