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

Наиболее часто используемые компоненты находятся на вкладке Standard (рис. В16).

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

Рис. В16. Вкладка Standard содержит наиболее часто используемые компоненты

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

Каждому компоненту Delphi присваивает имя, которое состоит из названия компонента и его порядкового номера. Например, если к форме добавить два компонента Edit, то их имена будут Edit1 и Edit2. Программист путем изменения значения свойства Name может изменить имя компонента. В простых программах имена компонентов, как правило, не изменяют.

На рис. В17 приведен вид формы после добавления двух компонентов Edit полей редактирования, предназначенных для ввода исходных данных. Один из компонентов выделен. Свойства выделенного компонента отображаются в окне Object Inspector. Чтобы увидеть свойства другого компонента, надо щелкнуть левой кнопкой мыши на изображении нужного компонента. Можно также выбрать имя компонента в окне Object TreeView или из находящегося в верхней части окна Object Inspector раскрывающегося списка объектов.

Рис. В17. Форма после добавления компонентов Edit

В табл. В3 перечислены основные свойства компонента Edit — поля ввода-редактирования.

Таблица ВЗ. Свойства компонента Edit (поле ввода-редактирования)






Свойство

Описание



Name

Имя компонента. Используется в программе для доступа к компоненту и его свойствам, в частности — для доступа к тексту, введенному в поле редактирования



Text

Текст, находящийся в поле ввода и редактирования



Left

Расстояние от левой границы компонента до левой границы формы



Top

Расстояние от верхней границы компонента до верхней границы формы



Height

Высота поля



Width

Ширина поля



Font

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



ParentFont

Признак наследования компонентом характеристик шрифта формы, на которой находится компонент. Если значение свойства равно True, то при изменении свойства Font формы автоматически меняется значение свойства Font компонента






Delphi позволяет изменить размер и положение компонента при помощи мыши.

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

Для того чтобы изменить размер компонента, необходимо его выделить, установить указатель мыши на один из маркеров, помечающих границу компонента, нажать левую кнопку мыши и, удерживая ее нажатой, изменить положение границы компонента. Затем отпустить кнопку мыши. Во время изменения размера компонента отображаются текущие значения свойств Height И Width (рис. В19).

Свойства компонента так же, как и свойства формы, можно изменить при помощи Object Inspector. Для того чтобы свойства требуемого компонента были выведены в окне Object Inspector, нужно выделить этот компонент (щелкнуть мышью на его изображении). Можно также выбрать компонент из находящегося в верхней части окна Object Inspector раскрывающегося списка объектов (рис. В20) или из списка в окне Object TreeView (рис. В21).

Рис. В18. Отображение текущих значений свойств Left и Тор при изменении положения компонента

Рис. В19. Отображение текущих значений свойств Height и Width при изменении размера компонента

Рис. В20. Выбор компонента

Рис. В21. Выбор компонента из списка в окне Object Inspector в окне Object TreeView

В табл. В4 приведены значения свойств полей редактирования Editi и Edit2. Компонент Editi предназначен для ввода длины дистанции, Edit2 — для ввода времени.

Обратите внимание на то, что значением свойства Text обоих компонентов является пустая строка.

Таблица В4. Значения свойств компонентов Edit







Свойство

Компонент



Edit1

Edit2



Text





Тор

56

88



Left

128

128



Height

21

21



Width

121

121







Помимо полей редактирования в окне программы должна находиться краткая информация о программе и назначении полей ввода. Для вывода текста в форму используют поля вывода текста. Поле вывода текста (поле статического текста) — это компонент Label. Значок компонента Label находится на вкладке Standard (рис. В22). Добавляется компонент Label в форму точно так же, как и поле редактирования.

Рис. В22. Компонент Label — поле вывода текста

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

Свойства компонента Label перечислены в табл. В5.

Таблица В5. Свойства компонента Label (поле вывода текста)






Свойство

Описание



Name

Имя компонента. Используется в программе для доступа к компоненту и его свойствам



Caption

Отображаемый текст



Font

Шрифт, используемый для отображения текста



ParentFont

Признак наследования компонентом характеристик шрифта формы, на которой находится компонент. Если значение свойства равно True, текст выводится шрифтом, установленным для формы



AutoSize

Признак того, что размер поля определяется его содержимым



Left

Расстояние от левой границы поля вывода до левой границы формы



Top

Расстояние от верхней границы поля вывода до верхней границы формы



Height

Высота поля вывода



Width

Ширина поля вывода



Wordwrap

Признак того, что слова, которые не помещаются в текущей строке, автоматически переносятся на следующую строку






Следует обратить внимание на свойства Autosize и Wordwrap. Эти свойства нужно использовать, если поле вывода должно содержать несколько строк текста. После добавления к форме компонента Label значение свойства Autosize равно True, т. е. размер поля определяется автоматически в процессе изменения значения свойства caption. Если вы хотите, чтобы находящийся в поле вывода текст занимал несколько строк, то надо сразу после добавления к форме компонента Label присвоить свойству Autosize значение False, свойству wordwrap — значение True. Затем изменением значений свойств width и Height нужно задать требуемый размер поля. Только после этого можно ввести в свойство caption текст, который должен быть выведен в поле.

После добавления полей вывода текста (четырех компонентов Label) и установки значений их свойств в соответствии с табл. В6 форма программы принимает вид, приведенный на рис. В23.

Обратите внимание, что значение свойства caption вводится как одна строка. Расположение текста внутри поля вывода определяется размером поля, значением свойств Autosize и wordwrap, а также зависит от характеристик используемого для вывода текста шрифта.

Рис. В23. Вид формы после добавления полей вывода текста

Таблица В6. Значения свойств компонентов Label1, Label2, Label3 И Label4







Компонент

Свойство

Значение



Labell







AutoSize

False



Wordwrap

True



Caption

Программа вычислит скорость, с которой спортсмен пробежал дистанцию



Top

8



Left

8



Height

33



Width

209



Label2



Top

56



Left

8



Caption

Дистанция (метров)



Label3



Top

88



Left

8



Caption

Время (минуты, секунды)



Label4



AutoSize

False



Wordwrap

True



Top

120













Компонент

Свойство

Значение



Label 4



Left

8



Height

41



Width

273







Последнее, что надо сделать на этапе создания формы — добавить в форму две командные кнопки: Вычислить и Завершить. Назначение этих кнопок очевидно.

Командная кнопка, компонент Button, добавляется в форму точно так же, как и другие компоненты. Значок компонента Button находится на вкладке Standard (рис. В24). Свойства компонента приведены в табл. В7.

Рис. В24. Командная кнопка — компонент Button

Таблица В7. Свойства компонента Button (командная кнопка)






Свойство

Описание



Name

Имя компонента. Используется в программе для доступа к компоненту и его свойствам



Caption

Текст на кнопке



Enabled

Признак доступности кнопки. Кнопка доступна, если значение свойства равно True, и недоступна, если значение свойства равно False



Left

Расстояние от левой границы кнопки до левой границы формы



Top

Расстояние от верхней границы кнопки до верхней границы формы



Height

Высота кнопки



Width

Ширина кнопки






После добавления к форме двух командных кнопок нужно установить значения их свойств в соответствии с табл. В8.

Таблица В8. Значения свойств компонентов Button1 и Button2







Свойство

Компонент



Button1

Button2



Caption

Вычислить

Завершить



Тор

176

176



Left

16

112



Height

25

25



Width

75

75







Окончательный вид формы разрабатываемого приложения приведен на рис. В25.

Рис. В25. Форма программы Скорость бега

Завершив работу по созданию формы приложения, можно приступить к написанию текста программы. Но перед этим обсудим очень важные при программировании в Windows понятия:

  • событие;
  • процедура обработки события.