Подскажите, пожалуйста, планируете ли вы возобновление программ высшего образования? Если да, есть ли какие-то примерные сроки? Спасибо! |
Разработка имитационных моделей в виде приложений с интерфейсом
Из всех свойств следует обратить внимание на свойство Options. Свойство Options используется для задания многих атрибутов таблицы (компонента StringGrid ), которые описаны в табл. 8.7. На вкладке, показанной на рис. 8.10, перед свойством Options стоит знак " + ". При двойном нажатии на него появляется вкладка с вложенными свойствами свойства Options (рис. 8.10).
Атрибут | Описание (для значения True ) |
---|---|
goFixedHorzLine | Горизонтальные линии фиксированы |
goFixedVertLine | Вертикальные линии фиксированы |
goHorzLine | Горизонтальные разделительные линии отображаются |
goVertLine | Вертикальные разделительные линии отображаются |
goRangeSelect | Можно выбирать несколько ячеек |
goDrawFocusSelected | Текущая ячейка помечается цветом |
goRowSizing | Возможно изменение размеров строк |
goColSizing | Возможно изменение размеров столбцов |
goRowMoving | Возможно перемещение строк |
goColMoving | Возможно перемещение столбцов |
goEditing | Возможно редактирование содержимого ячеек |
goTabs | Возможно перемещение по ячейкам клавишами Tab и Shift-Tab |
goThumbTracking | Содержимое таблицы скроллируется с помощью полос прокрутки |
Свойства, перечисленные в табл. 8.6 и табл. 8.7, после выделения (маркирования) соответствующей таблицы устанавливаются либо заданием какого - то числового значения, либо выбором True или False (рис. 8.10).
Для ввода данных табл. 8.1 необходимо изменить некоторые из свойств StringGrid. Например, для того, чтобы была возможность редактировать содержимое ячеек таблиц, нужно установить свойство goEditing True, а для перемещения курсора с помощью клавиш Tab и стрелок - свойство goTabs также установить True.
В табл. 8.8 приведены значения свойств обеих компонентов StringGrid, используемых моделью для ввода и вывода данных. Установите эти значения. Форма должна иметь вид, показанный на рис. 8.11. Введите также метки Label9 и Label10 (см. рис. 8.11).
Первая строка и первый столбец таблиц зафиксированы (см. рис. 8.11). Они используются в качестве заголовков таблиц. В рассматриваемом примере в первой строке первой таблицы это тип автомобиля (номера 1 … 10), во второй таблице - пункты выгрузки (также номера 1 … 10). Следует отметить, что можно было бы ввести в эти ячейки и наименования вместо порядковых номеров. Как это делается, покажем на примере ввода поясняющего текста в строки таблиц. Во вторую строку первой таблицы - Cells(0, 1) - введем: Время, мин. Во вторую таблицу: Cells(0, 1) - Коэф. загр.; Cells(0, 2) - Ср. время ; Cells(0, 3) - Макс. очер. Во время создания формы имитационной модели установить значения элементов Cells таблицы нельзя, так как элементы таблицы доступны только во время работы программы. Поэтому значения элементов Cells таблицы, соответствующие первой строке и первому столбцу обеих таблиц устанавливают процедуры FormActivate1 и FormActivate2 (текст их приведен ниже) во время активизации формы. В какой процедуре обработки события производится вызов указанных процедур, укажем позже.
procedure TForm1.FormActivate1(Sender: TObject); var n1:integer; begin for n1:=1 to Tabl1.ColCount do Tabl1.Cells[n1,0]:=IntToStr(n1); Tabl1.Cells[0,1]:='Время, мин'; end; procedure TForm1.FormActivate2(Sender: TObject); var n1:integer; begin for n1:=1 to Tabl2.ColCount do Tabl2.Cells[n1,0]:=IntToStr(n1); Tabl2.Cells[0,1]:='Коэф.исп.пункт. разгр.'; Tabl2.Cells[0,2]:='Ср.вр.разгр.авт.,мин'; Tabl2.Cells[0,3]:='Макс.очер.на пун.разгр.'; Tabl2.Cells[0,4]:='Ср.вр.разгр.тран.,час'; end;
8.3.4. Добавление командных кнопок
Для управления работой имитационной модели к форме надо добавить шесть командных кнопок (рис. 8.12).
В модели предусмотрен пример. При нажатии кнопки ПРИМЕР автоматически вводятся исходные данные, курсор устанавливается на кнопке МОДЕЛИРОВАНИЕ. Нажатием этой кнопки переходят к процессу моделирования.
По окончании моделирования для вывода результатов нужно нажать кнопку ВЫВОД. Результаты моделирования появятся в нижней таблице.
Если производилось моделирование примера, а потом нужно выполнить моделирование с другими исходными данными, нажатием кнопки СБРОС можно удалить данные примера и ввести новые. Использование кнопки СБРОС удобно в том случае, если очередной ввод исходных данных требует большого количества изменений. После этого нажать кнопку ВВОД и нажатием кнопки МОДЕЛИРОВАНИЕ перейти к процессу моделирования, по завершении которого нажать кнопку ВЫВОД.
Нажатие на кнопку ВЫХОД ИЗ МОДЕЛИ приводит к завершению работы программы имитационной модели. Закрывается открытая форма приложения.
Кнопки добавляются в форму точно так же, как и другие компоненты. Пиктограмма командной кнопки _2U,находится на палитре стандартных компонентов (см. рис. 8.6). После добавления кнопок с помощью диалогового окна Object Inspector надо установить требуемые значения их свойств (табл. 8.9).
Name | Button1 | Button2 | Button3 | Button4 | Button5 | Button6 |
---|---|---|---|---|---|---|
Caption | Ввод | Сброс | Моделирование | Выход из модели | Пример | Вывод |
Top | 470 | 470 | 470 | 470 | 470 | 470 |
Left | 176 | 96 | 256 | 528 | 16 | 424 |
Height | 25 | 25 | 25 | 25 | 25 | 25 |
Width | 75 | 75 | 161 | 169 | 75 | 75 |
После запуска программы курсор сразу автоматически устанавливается в поле редактирования Edit1 для ввода переменной Средний интервал поступления транспортов. Поэтому в форме указано, что надо сначала ввести данные, потом нажать кнопку ВВОД и только потом кнопку МОДЕЛИРОВАНИЕ.