Опубликован: 16.11.2010 | Уровень: специалист | Доступ: платный
Лекция 9:

Разработка имитационных моделей в виде приложений с интерфейсом

8.3 Добавление компонент в стартовую форму имитационной модели

8.3.1. Добавление полей редактирования

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

IntTp - средние значения интервалов поступления транспортов;

MOТip, SOTip - математическое ожидание MOТip и стандартное отклонение SOTip количества типов автомобилей в транспорте;

MatA, SOtkA - математическое ожидание MatA и стандартное отклонение SOtkA количества автомобилей одного типа в транспорте;

KolPun - количество пунктов выгрузки;

VrMod - время моделирования.

В Windows данные с клавиатуры вводятся в поля редактирования. Поэтому в данную форму надо добавить компоненты - семь полей редактирования.

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

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

Пиктограммы стандартной палитры компонентов

увеличить изображение
Рис. 8.6. Пиктограммы стандартной палитры компонентов

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

Добавьте в форму, перейдя на вкладку Standard (см. рис. 8.6), семь компонентов редактирования Edit. У компонента Edit пиктограмма .

Компонент формы, окруженный восемью маленькими квадратиками (см. на рис. 8.7 поле Edit1 ), называется выделенным (маркированным).Свойства маркированного компонента отображаются в окне Object Inspector.Ниже, в табл. 8.3, перечислены основные свойства компонента, называемого полем редактирования.

На рис. 8.7 представлен вид формы после добавления к ней семи полей редактирования Edit1 Edit7.

Форма имитационной модели с семью полями редактирования

увеличить изображение
Рис. 8.7. Форма имитационной модели с семью полями редактирования

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

Таблица 8.3. Основные свойства компонента поля редактирования
Свойство Обозначение
Имя поля. Используется в программе для доступа к содержимому (тексту) поля Name
Текст, находящийся в поле ввода-редактирования Text
Расстояние от левой границы поля до левой границы формы Left
Расстояние от верхней границы поля до верхней границы формы Top
Высота поля Height
Ширина поля Width
Шрифт, используемый для отображения вводимого текста Font
Признак наследования свойств шрифта родительской формы ParentFont

Чтобы изменить размер компонента, надо его маркировать (щелкнуть на изображении компонента), установить указатель мыши на один из квадратиков, помечающих границу компонента, нажать левую кнопку мыши и, удерживая ее нажатой, изменить положение границы компонента. При выполнении указанного действия высвечиваются размеры компонента, например, 97?21. При достижении нужного размера отпустить кнопку мыши.

Свойства компонента можно так же изменить в окне Object Inspector.Чтобы свойства компонента появились в данном окне, надо маркировать нужный компонент, или выбрать его имя из раскрывающегося списка объектов, кнопка раскрытия которого находится в верхней части окна Object Inspector (рис. 8.8).

Окно Object Inspector с свойствами поля редактирования Edit1

Рис. 8.8. Окно Object Inspector с свойствами поля редактирования Edit1

В табл. 8.4 приведены свойства полей редактирования, предназначенных для ввода IntTp, MOТip, SOTip, MatA, SOtkA, KolPun, VrMod.

Таблица 8.4. Свойства полей редактирования формы имитационной модели
Name Edit1 Edit2 Edit3 Edit4 Edit5 Edit6 Edit7
Text
Top 30 60 90 30 60 90 120
Left 16 16 16 350 350 350 16
Height 21 21 21 21 21 21 21
Width 50 50 50 50 50 50 50

8.3.2. Добавление меток

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

Текст, находящийся в форме, называется меткой. Добавляется метка к форме точно так же, как и поле редактирования. Пиктограмма метки (большая буква А) находится в палитре компонентов перед пиктограммой поля редактирования (см. рис. 8.6). После того как метка добавлена, можно, используя окно Object Inspector,изменить ее свойства.

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

Таблица 8.5. Свойства меток формы имитационной модели
Name Labell Label2 Label3 Label4 Label5 Label6 Label7 Label8
Caption
AutoSize false true true true true true true true
Top 0 30 60 90 30 60 90 120
Left 140 70 70 70 410 410 410 70
Wordwrap true true true true true true True true
ParentFont false true true true true true true true
Вид формы имитационной модели после добавления меток

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

Как видно по рис. 8.9, из полей редактирования необходимо удалить их имена Edit1…Edit7. На этом же рисунке указано свойство Caption для каждой метки - информационное сообщение. Например, для Labell: Введите исходные данные и нажмите кнопку ВВОД. Для Labell: Средний интервал поступления транспортов.

Свойство ParentFont метки Labell имеет значение false, поэтому свойство Font этой метки не наследует значения свойства Font "родителя", в данном случае основной формы. Это дает возможность установить свойства шрифта метки иные, чем у формы. У меток Label2…Label8 значение свойства ParentFont оставлено без изменения. Значит, они наследуют свойства Font "родителя".

Если свойство AutoSize (автоматический подгон размера) имеет значение true, Delphi автоматически устанавливает размеры метки в зависимости от количества символов текста метки, используемого шрифта и его размера. Если надо, чтобы метка представляла собой текст из нескольких строк, то свойству AutoSize надо присвоить значение false и вручную установить значения свойств, определяющих ее размер.

У меток Label2…Label8 свойству AutoSize установлено значение true, а у метки Label1 - false.

8.3.3. Добавление компонент для ввода и вывода данных, представленных в виде таблиц

Среднее время разгрузки одного автомобиля различных типов представлено табл. 8.1. Компонент StringGrid ( Строковая таблица ) используется для отображения информации в виде таблицы. Таблица представляет собой набор ячеек, расположенных в строках и столбцах. Ее содержимое задается двумерным массивом.

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

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

В табл. 8.6 перечислены основные свойства компонента StringGrid.

Таблица 8.6. Основные свойства компонента StringGrid
Свойство Описание
Name Имя компонента. Используется в программе для доступа к свойствам компонента
ColCount Количество колонок таблицы
RowCount Количество строк таблицы
Cells Соответствующий таблице двумерный строковый массив. Если строки и столбцы нумеровать с нуля, то ячейке Cells соответствует Cells (i,j)
FixedCols Количество зафиксированных слева столбцов таблицы. Они выделяются цветом и при горизонтальной прокрутке таблицы остаются на месте
FixedRows Количество зафиксированных сверху строк таблицы. Они выделяются цветом и при вертикальной прокрутке таблицы остаются на месте
Options Свойство используется для задания других атрибутов таблицы (табл. 8.7)
DefaultColWidth Ширина столбцов таблицы
DefaultRowHeight Высота строк таблицы
GridLineWidth Ширина линий, ограничивающих ячейки таблицы
Left Расстояние от левой границы поля таблицы до левой границы формы
Top Расстояние от верхней границы поля таблицы до верхней границы формы
Height Высота поля таблицы
Width Ширина поля таблицы
Font Шрифт, используемый для отображения содержимого ячеек таблицы
ParentFont Признак наследования характеристик шрифта формы
Владислав Нагорный
Владислав Нагорный

Подскажите, пожалуйста, планируете ли вы возобновление программ высшего образования? Если да, есть ли какие-то примерные сроки?

Спасибо!

Лариса Парфенова
Лариса Парфенова

1) Можно ли экстерном получить второе высшее образование "Программная инженерия" ?

2) Трудоустраиваете ли Вы выпускников?

3) Можно ли с Вашим дипломом поступить в аспирантуру?

 

Виктор Погула
Виктор Погула
Россия, Новокузнецк, СибГИУ, 2002
Анастасия Кузнецова
Анастасия Кузнецова
Россия