Подскажите, пожалуйста, планируете ли вы возобновление программ высшего образования? Если да, есть ли какие-то примерные сроки? Спасибо! |
Разработка имитационных моделей в виде приложений с интерфейсом
8.3 Добавление компонент в стартовую форму имитационной модели
8.3.1. Добавление полей редактирования
Программа имитационной модели должна получить от пользователя следующие исходные данные:
IntTp - средние значения интервалов поступления транспортов;
MOТip, SOTip - математическое ожидание MOТip и стандартное отклонение SOTip количества типов автомобилей в транспорте;
MatA, SOtkA - математическое ожидание MatA и стандартное отклонение SOtkA количества автомобилей одного типа в транспорте;
KolPun - количество пунктов выгрузки;
VrMod - время моделирования.
В Windows данные с клавиатуры вводятся в поля редактирования. Поэтому в данную форму надо добавить компоненты - семь полей редактирования.
В Delphi поля редактирования, командные кнопки, поля статического текста и прочие элементы управления, находящиеся в форме, называются компонентами (компоненты формы). В программе форма и компоненты рассматриваются как объекты. Этим можно объяснить то, что окно, в котором находятся свойства компонентов, называется Object Inspector.
Чтобы добавить к форме компонент, надо в палитре компонентов (рис. 8.6) щелкнуть на пиктограмме нужного компонента, и затем щелкнуть в той точке формы, где должен находиться правый верхний угол компонента. В результате в форме появляется компонент стандартного размера.
Добавить к форме компонент нужного размера, т. е. изменить его стандартный размер, можно так. После щелчка на палитре компонентов нужно поместить курсор мыши в ту точку формы, где должен находиться левый верхний угол компонента, нажать кнопку мыши и, удерживая ее нажатой, переместить курсор в точку, где должен быть правый нижний угол компонента, затем отпустить кнопку. В форме появится компонент нужного размера.
Добавьте в форму, перейдя на вкладку Standard (см. рис. 8.6), семь компонентов редактирования Edit. У компонента Edit пиктограмма .
Компонент формы, окруженный восемью маленькими квадратиками (см. на рис. 8.7 поле Edit1 ), называется выделенным (маркированным).Свойства маркированного компонента отображаются в окне Object Inspector.Ниже, в табл. 8.3, перечислены основные свойства компонента, называемого полем редактирования.
На рис. 8.7 представлен вид формы после добавления к ней семи полей редактирования Edit1 … Edit7.
Delphi позволяет легко изменить положение и размер компонента. Чтобы изменить положение компонента в форме, надо установить курсор мыши на изображение компонента, нажать левую кнопку мыши и, удерживая ее нажатой, переместить изображение границы компонента в нужную точку формы. Затем отпустить кнопку мыши.
Свойство | Обозначение |
---|---|
Имя поля. Используется в программе для доступа к содержимому (тексту) поля | Name |
Текст, находящийся в поле ввода-редактирования | Text |
Расстояние от левой границы поля до левой границы формы | Left |
Расстояние от верхней границы поля до верхней границы формы | Top |
Высота поля | Height |
Ширина поля | Width |
Шрифт, используемый для отображения вводимого текста | Font |
Признак наследования свойств шрифта родительской формы | ParentFont |
Чтобы изменить размер компонента, надо его маркировать (щелкнуть на изображении компонента), установить указатель мыши на один из квадратиков, помечающих границу компонента, нажать левую кнопку мыши и, удерживая ее нажатой, изменить положение границы компонента. При выполнении указанного действия высвечиваются размеры компонента, например, 97?21. При достижении нужного размера отпустить кнопку мыши.
Свойства компонента можно так же изменить в окне Object Inspector.Чтобы свойства компонента появились в данном окне, надо маркировать нужный компонент, или выбрать его имя из раскрывающегося списка объектов, кнопка раскрытия которого находится в верхней части окна Object Inspector (рис. 8.8).
В табл. 8.4 приведены свойства полей редактирования, предназначенных для ввода IntTp, MOТip, SOTip, MatA, SOtkA, KolPun, VrMod.
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.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.
Свойство | Описание |
---|---|
Name | Имя компонента. Используется в программе для доступа к свойствам компонента |
ColCount | Количество колонок таблицы |
RowCount | Количество строк таблицы |
Cells | Соответствующий таблице двумерный строковый массив. Если строки и столбцы нумеровать с нуля, то ячейке Cells соответствует Cells (i,j) |
FixedCols | Количество зафиксированных слева столбцов таблицы. Они выделяются цветом и при горизонтальной прокрутке таблицы остаются на месте |
FixedRows | Количество зафиксированных сверху строк таблицы. Они выделяются цветом и при вертикальной прокрутке таблицы остаются на месте |
Options | Свойство используется для задания других атрибутов таблицы (табл. 8.7) |
DefaultColWidth | Ширина столбцов таблицы |
DefaultRowHeight | Высота строк таблицы |
GridLineWidth | Ширина линий, ограничивающих ячейки таблицы |
Left | Расстояние от левой границы поля таблицы до левой границы формы |
Top | Расстояние от верхней границы поля таблицы до верхней границы формы |
Height | Высота поля таблицы |
Width | Ширина поля таблицы |
Font | Шрифт, используемый для отображения содержимого ячеек таблицы |
ParentFont | Признак наследования характеристик шрифта формы |