Мегаобучалка Главная | О нас | Обратная связь


Палитра компонентов (5)



2020-02-04 311 Обсуждений (0)
Палитра компонентов (5) 0.00 из 5.00 0 оценок




Палитра компонентов (Tool Palette) — это один из наиболее часто используемых инструментов Delphi. Она состоит из большого числа групп, где располагаются компоненты.

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

Все компоненты объединяются в группы по функциональному назначению. После создания проекта раскрыт список компонентов группы Standard, содержащий основные элементы диалоговых окон Windows.
В основном будем изучать компоненты с этой закладки, однако нам также понадобятся компоненты с закладок Addition, Win 32, Dialogs.

Структура проекта (1)

Окно структуры проекта послесоздания проекта отображается в левой верхней части экрана. Оно содержит информацию о структуре исходного кода программы (именно поэтому не содержит информации, если активно окно дизайнера формы). Для того чтобы посмотреть данную информацию, следует переключиться в окно редактора кода. После активизации окна редактора кода окно Structure заполнится информацией (рис. 7).

Рисунок 7

 

Рассмотрим возможность создания первой программы в среде Delphi, которая в данном случае называется проектом. Проект (Project) — совокупность файлов, используемые средой разработки (точнее говоря, компилятором Turbo Delphi) для итоговой генерации программы. Вы уже создали новый проект ранее, выбрав в главном меню пункт File, New, VCL Forms Application — Delphi for Win 32.

Turbo Delphi позволяет создавать программы только для операционной системы Windows (отсюда сочетание Delphi for Win 32) на основе библиотеки визуальных компонентов Visual Components Library (VCL). Каждое Windows-приложение выполняется в собственном окне — главном окне соответствующего приложения. Закрытием этого окна пользователь закрывает приложение. При создании проекта создается одна форма — она и является главным окном приложения. Если в проекте несколько форм, то при необходимости можно сделать главным окном любую другую форму.

Размеры формы можно менять произвольным образом и размещать
в ней некоторые компоненты из палитры компонентов. Для того чтобы это сделать в форме, необходимо сначала выполнить щелчок на пиктограмме нужного компонента, а затем в том месте формы, где будет располагаться компонент. Если на форму поместить несколько одинаковых компонентов, то именем (свойство Name) этого элемента будет имя этого компонента и порядковый номер. Например, Label 1, Edit 1, Label 2, Edit 2, Label 3 и т. д. При выполнении приложения форма будет по умолчанию отображаться в том же виде, как и при проектировании, т. е. будет иметь те же размеры и содержать те же компоненты.

Поместите на форму компонента произвольные компоненты с закладки Standard. Обратите внимание, содержимое инспектора объектов будет меняться в зависимости от выбранного компонента (рис. 4). Созданное окно может принять вид, представленный на рисунке 8.

Рисунок 8

 

Если, используя инспектор объектов, добавить процедуру обработки нажатия на кнопку, для чего необходимо выполнить двойной щелчок мышью на требуемом событии (событие onClick для компонента Button 1) в инспекторе объектов, то содержимое редактора кода будет иметь вид:

unit Unit1;

interface

uses

 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs;

type

 TForm1 = class(TForm)

 Memo1: TMemo;

 Button1: TButton;

 RadioGroup1: TRadioGroup;

 Label1: TLabel;

 CheckBox1: TCheckBox;

 procedure Button1Click(Sender: TObject);

 private

 { Private declarations }

 public

 { Public declarations }

 end;

var

 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

begin

end;

end.

Из листинга видно, что в рамках формы класса TForm 1 описываются все присутствующие на форме компоненты: Label 11, Button 1, CheckBox 1, RadioGroup 1, Memo 1, и заголовок процедуры Button 1 Click. В реализационной части, после служебного слова implementation, создана заготовка для всей процедуры, в которой и будем вписывать необходимый код. Параметр Sender передается в любой процедуре обработки события и определяет компонент формы, где произошло событие.

Все события, на которые приложение может реагировать, разделяются на пользовательские и системные. К пользовательским относятся события, связанные с клавиатурой или мышью, например OnClick — одинарный щелчок левой клавишей мыши (именно это событие является наиболее распространенным и именно для его обработки нами была создана процедура в предыдущем примере); OnDblClick — двойной щелчок левой клавишей мыши; OnMouseDown — нажатие клавиши мыши; OnMouseUp — отпускание клавиши мыши; OnMouseMove — перемещение мыши.

В некоторых из этих событий в качестве параметров могут передаваться координаты точки на экране, где произошло событие — X, Y, кнопка мыши — параметр Button, значение которого является одна из констант, соответствующей нажатой левой клавиши — mbLeft, средней клавиши — mbMiddle, правой клавиши — mbRight, а также параметр Shift, значение которого равно ssAlt, если нажата клавиша [Alt], ssCtrl — если клавиша [Ctrl], ssShift — если клавиша [Shift].

Например, автоматически созданный шаблон процедуры обработки нажатия клавиши мыши на форме имеет вид:

procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;

 Shift: TShiftState; X, Y: Integer);

begin

end;

Кроме пользовательских событий, существуют программно управляемые события. Отдельно рассмотрим события, обрабатываемые самой формой: событие OnCreat е происходит в момент создания формы; OnClose генерируется, когда форма должна быть закрыта. Два данных события происходят с формой всего один раз в отличие от других: OnShow — возникает, когда форма должна стать видимой, OnHade — когда форма должна быть убрана с экрана, OnPaint — перед тем, как форма будет перерисована на экране.

Существуют события, которые формируют сами элементы управления, например: OnEnter событие, которое появляется, когда элемент управления становится активным, и OnExit событие, возникающее, когда элемент управления перестает быть активным. Данные два события существуют только у элементов управления и только в том случае, если свойство Enabled имеет значение True. Остальные события будут рассмотрены по мере описания отдельных компонентов.

Запустить проект на исполнение можно либо нажатием кнопки F9, либо через главное меню: Run/Run, либо нажатием соответствующей кнопки на панели инструментов: . При запуске формируется стандартное окно Windows, которое отображается соответствующей кнопкой на панели задач. Для дальнейшей доработки исходного файла необходимо сначала остановить приложение, при этом используются стандартные средства Windows. Основное отличие формы при проектировании и после запуска на исполнение — это сетка из точек. Если точки отсутствуют, то приложение активно.

Проект в простейшем случае представляет собой совокупность
следующих файлов:

1) файл описания проекта(bdsproj-файл) — файл специального формата, в котором записана общая информация о проекте;

2) главный модуль (dpr-файл)содержит инструкции, обеспечивающие запуск нашей программы;

3) модуль формы (dfm-файл) содержит информацию о настройках
и компонентах, которые присутствуют на форме. Модуль формы формируется автоматически при выполнении настроек формы, перенесении на нее и настройки компонентов;

4) модуль реализации (pas-файл)содержит информацию только
о присутствующих на форме компонентах и процедурах обработки событий на этих компонентах;

5) файл ресурсов (res-файл);

6) файл конфигурации (cfg-файл);

7) исполняемый файл (exe -файл), который создается при запуске программы на исполнение.

Сохранение всех файлов проекта осуществляется через пункт главного меню File, Save all (сохранить все). Первый раз при сохранении потребуется сохранить два файла: модуль формы и файл проекта. Поскольку при работе с проектом автоматически создается довольно много файлов, рекомендуется сохранять их в заранее подготовленном каталоге.

Задания:

1. Создайте новый проект, поместите на форму компоненты Label 1, Edit 1, Button 1 и заготовки процедур таких событий, как создание формы, двойной щелчок левой клавиши мыши на всей форме, активизация компонента Edit.

2. Измените значения свойств Width, Height, Top, Left как с помощью инспектора объектов, так и непосредственно используя мышь.

3. Измените свойства Visible, Color, Cursor, Enabled и Ctl 3 D для каждого компонента в отдельности.

4. С помощью свойств ShowHint и Hint задайте для каждого элемента управления подсказки.

5. Сохраните данный проект и просмотрите каждый из созданных файлов.

6. Запустите приложение на исполнение.

Лабораторная работа 2. Перенесение программы
из Pascal в Delphi

Цель: научиться создавать простейшие программы на языке программирования Delphi.

Перед тем, как изучать язык программирования Delphi, рассмотрим вопрос совместимости и переноса программ. Предположим, что имеется программа на языке программирования Pascal, которая на основании введенного значения высоты вычисляет время падения тела. Данная программа имеет вид, представленный на рисунке 9.

Рисунок 9

 

При начальном знакомстве со средой программирования Delphi и программирования в среде Windows необходимо учитывать два момента: во-первых, операторы ввода и вывода данных не работают, поэтому от них необходимо избавиться; во-вторых, для того чтобы были начаты расчеты, необходимо какое-либо событие. Самым простым и распространенным событием является нажатие на экранную кнопку. Поэтому поместим на форму, используя редактор формы, два компонента Button со страницы Standard. Используя свойство Caption, можно задать надпись на кнопках, а посредством свойства Font — шрифт для данной надписи. Напишем на первой кнопки «Вычислить», а на второй — «Закрыть».

Теперь создадим два обработчика событий — нажатие клавиши, — для чего в инспекторе объектов на закладке Event выверим событие OnClick. В первой процедуре будем выполнять вычисления, а во второй — закрывать форму, используя следующий, заранее определенный метод — Form 1. Close. Если правильно записать имя любого компонента, присутствующего на форме, или имя самой формы, то после символа «точка» появится список всех доступных на этапе выполнения свойств и методов. Свойства обозначаются служебным словом property, методами могут выступать функции и процедуры, и соответственно обозначаются словами procedure
и function. После выполнения данных операций, с добавлением необязательных комментариев, содержимое модуля Unit 1. pas будет выглядеть так же, как представлено на рисунке 10.

Для ввода начальных данных и вывода конечных результатов могут использоваться различные компоненты. Например, компонент Edit, со страницы компонент Standard. Поместим два этих компонента на форму, которая примет вид, представленный на рисунке 11.

Рисунок 10

 

 

Рисунок 11

Компонент Edit имеет свойство Text типа String, в нем записывается вводимая или выводимая строка. Данное свойство допустимо как на этапе проектирования (поэтому может быть изменено с помощью инспектора объектов), так и на этапе выполнения, поэтому в программе допустима запись Edit 1.Text. Для того чтобы иметь возможность вводить и выводить числовые значения, необходимо преобразовать данную строку в число. Для этой цели существуют несколько функций, например:

StrToFloat(St:String): Real — преобразует строку в значение с плавающей запятой;

StrToInt(St:String):Integer — преобразует строку в целое значение;

FloatToStr(a:Real):String — преобразует значение с плавающей запятой в строку;

IntToStr(a:Integer):String — преобразует строку в целое значение.

Кроме этих функций, можно использовать уже известную процедуру, которая применяется в языке программирования Pascal. Это процедура Val(St:String; Var a:Integer; Var Kod:Integer), переводящая строку в число.

Предположим, что в компоненте Edit 1 вводится начальное значение высоты, а затем, после нажатие кнопки «Вычислить», в компоненте Edit 2 выводится полученное значение. Создадим следующую процедуру обработки события и следующий код обработки нажатия на первую кнопку. Тогда программа будет иметь вид:

unit Unit1;

interface

uses

 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;

type

 TForm1 = class(TForm)

 Button1: TButton;

 Button2: TButton;

 Edit1: TEdit;

 Edit2: TEdit;

 procedure Button1Click(Sender: TObject);

 procedure Button2Click(Sender: TObject);

 private

 { Private declarations }

 public

 { Public declarations }

 end;

var

 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

 Const g=9.81;

 Var h,t : Real;

Begin

 h:=StrToFloat(edit1.Text);

 t:=sqrt(2*h/g);

 edit2.Text:=FloatToStr(t);

end;

procedure TForm1.Button2Click(Sender: TObject);

begin

 Form1.Close;

end;

end.

В процедуре описываются две дополнительных переменных и одна константа. Первым оператором переводится значение соответствующего свойства в вещественную переменную, затем производятся вычисления по известной формуле, и последним оператором выводится полученное значение (данная запись аналогична оператору вывода Writeln).

Рисунок 12

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

Компонент Edit может в определенной мере заменить операторы ввода — вывода, но не является совсем удобным для вывода подсказок и сообщений. Для этой цели может быть использован компонент Label, позволяющий выводить не редактируемый текст. Разместим два данных компонента на форме и свойству Caption одной из них дадим значение «Высота падения (м)», а второй — «Время падения (с)», после чего форма примет вид, изображенный на рисунке 12.

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

Чтобы при запуске программы не отображался в компонентах Edit текст «Edit 1», «Edit 2» сделайте «пустым» значение свойства Text у данных компонентов.

Замечание. Редактор кода оснащен набором свойств, обеспечивающих выполнение целого ряда вспомогательных функций. Эти средства имеют общее название Code Insight — интуитивный помощник написания кода. Посредством функции дополнительного кода могут быть легко введены имена свойств, методов и обработчика событий объектов. Сначала необходимо ввести имя объекта, поставив в конце точку, и после некоторой паузы на экране отобразится список всех свойств и методов данного объекта (рисунок 11). Кроме этого, если правильно записать имя функции или процедуры и открытую скобку, то появится подсказка относительно аргументов и их типов. Комбинация клавиш <CTRL> + J приведет к появлению окна, в котором перечисляются все возможные структуры. Выбрав любой элемент, появится заготовка с перечислением необходимых для заполнения полей. Аналогичная заготовка появится при записи первого слова из данной конструкции, например, слова if или for.

Если вам не нравится, что при запуске форма расположена там, где вы ее оставили при разработке, то обратитесь у формы к свойству Position .

Задания :

1. Выполните пример, описанный в лабораторной работе.

2. Реализуйте на языке программирования Delphi задачи из лабораторных работ 1, 2, 3 по языку Pascal.

3. Напишите программу «Калькулятор».



2020-02-04 311 Обсуждений (0)
Палитра компонентов (5) 0.00 из 5.00 0 оценок









Обсуждение в статье: Палитра компонентов (5)

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Как вы ведете себя при стрессе?: Вы можете самостоятельно управлять стрессом! Каждый из нас имеет право и возможность уменьшить его воздействие на нас...
Как выбрать специалиста по управлению гостиницей: Понятно, что управление гостиницей невозможно без специальных знаний. Соответственно, важна квалификация...
Модели организации как закрытой, открытой, частично открытой системы: Закрытая система имеет жесткие фиксированные границы, ее действия относительно независимы...
Почему двоичная система счисления так распространена?: Каждая цифра должна быть как-то представлена на физическом носителе...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (311)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.008 сек.)