Смекни!
smekni.com

Подсистема визуального отображения процесса интерпретации сетевых моделей в системе имитационного моделирования МИКРОСИМ (стр. 7 из 13)


2. Технология интеграции Windows и DOS-приложений

До настоящего времени наиболее широко распространенной операционной системой являлась система MS-DOS. Развитие и совершенствование компьютерных технологий привело к появлению новых, более совершенных операционных систем, основное отличие и преимущество которых заключается в их многозадачности. Одной из таких ОС стала операционная среда Microsoft Windows 3.x, и впоследствии, Windows’95, Windows’98 и Windows’NT. Данные операционные системы получили широкое распространение в нашей стране и за рубежом, благодаря удобному графическому интерфейсу и мультизадачности.

Если мы вспомним историю развития средств разработки программ, то увидим следующее. Сначала была интеграция – в единой программной среде программисты получали редактор, компилятор и компоновщик. Примерами таких сред были компиляторы фирмы Borland – Turbo Pascal, Turbo C, Turbo C++ и многие продукты других фирм. Выпуск Windows вызвал появление широкого интереса к разработке программ для этой среды и, как следствие, – необходимость в средствах разработки Windows – программ. Так появились первые компиляторы для Windows, принципиально не отличавшиеся по идеологии от своих DOS‑собратьев. Практически сразу же за компиляторами появились различные генераторы приложений (кодогенераторы), которые выполняли две роли. Они выступали как средство для построения прототипов программ – позволяли без программирования построить интерфейс будущей программы, и как средство для автоматической генерации кода. Благодаря этому программист постепенно освобождался от непосредственного написания кода и получал некоторое средство для визуального, наглядного создания приложений.

Среда программирования Delphi является попыткой объединения всего лучшего, из того, что было создано на тему визуального программирования. Delphi – это не просто новая версия компилятора языка Turbo Pascal, а принципиально новый программный продукт, позволяющий создавать широкий спектр приложений для среды Windows.

Одним из таких приложений стала разработанная в МГИЭТ система визуального программирования имитационных моделей – СВПИМ, предназначенная для создания моделей, решаемых системой имитационного моделирования МИКРОСИМ, реализованной на языке Турбо Паскаль 7.0 и являющейся DOS‑приложением. Виду возникновения необходимости совместного использования СВПИМ и МИКРОСИМ возникла потребность их интеграции в рамках единой программной оболочки, для дальнейшего использования в среде Windows. Этой проблеме просвещенна данная глава дипломного проекта.

Интеграция Dos – и Windows-приложений

2.1.1 Объединение МИКРОСИМ и СВПИМ

Операционная система Window’s позволяет запускать на выполнение любое Dos – приложение. В Delphi также предусмотрена возможность запуска любого *.EXE – файла. Поэтому простейшим объединением двух Windows- и Dos‑приложений является запуск на выполнение одной из программ на определенном этапе работы другой. В рамках данного дипломного проекта был реализован именно такой способ интеграции, являющимся не самым красивым и, может быть не самым правильным, но в данном случае единственно возможным, по независящим от автора причинам. Тем не менее были проведены исследования, связанные с возможностью перевода Dos – приложений, написанных на языке Pascal, на язык Delphi.

2.1.2 Создание программ на Delphi

Для начала вкратце рассмотрим, что представляет из себя программа на Delphi. Основное назначение Delphi – служить средством для быстрого создания широкого класса Windows – приложений. [5] Среда Delphi включает в себя полный набор визуальных средств для быстрой разработки приложений, поддерживающих создание пользовательских интерфейсов. В Delphi используется язык Object Pascal, полностью поддерживающий предыдущие версии языка Pascal. Таким образом, работа в Delphi заключается в работе с объектами.

Объект или, в терминологии Delphi – компонет, обладает набором свойств, определяющим его представление и поведение. Свойства влияют на то, как объект выглядит и на его невидимые черты (поведение), они непосредственно связанны с объектом – являются его атрибутами, описывающими его детальное строение.

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

Процесс создания приложений в среде Delphi сводится к следующим этапам:

· Построение интерфейсной части приложения.

· Написание кода для обработчиков событий.

· Написание дополнительного кода.

Создание интерфейсной части приложения начинается с установки свойств главной формы. Например, изменение ее размера, расположения на экране и множество других свойств. Путем выбора соответствующих компонентов в созданной форме размещаются необходимые для разрабатываемого приложения интерфейсные элементы, с установлением свойства каждого из них.

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

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

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

Создаваемое приложение состоит из набора файлов – проекта. Ими могут быть файлы, создаваемые в среде Delphi, – файлы с исходным текстом модулей (расширение.PAS), формы являющиеся графическим представлением приложения (расширение.DFM), и сами файлы проектов (расширение.DPR).

Следует отметить, что каждому файлу формы обязательно соответствует файл с исходным текстом модуля, но файл с исходным текстом модуля не обязательно должен иметь соответствующую форму.

2.1.3 Перевод приложения на язык Delphi

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

Процесс разработки с использованием этих двух моделей очень скор и дает возможность писать обозримые программы. Это практически устраняет необходимость процедурного проектирования. Тем не менее Delphi, являясь расширением языка Pascal, поддерживает все возможности, им предоставляемые, следовательно и процедурную модель тоже. В МИКРОСИМ реализована как раз такая процедурная модель.

Наиболее правильным вариантом был бы перевод МИКРОСИМ на объектно–ориентированный язык, но на подобные преобразования, в виду очень большого объема программы, ушло бы значительное время. Поэтому остановимся на рассмотрении несколько иного способа интеграции.

Этапы перевода любого приложения, написанного на языке Pascal на Delphi аналогичны этапам разработки предложений на этом языке:

1. Создание нового интерфейса.

2. Написание кода для обработчиков событий.

2.1.3.1 Создание нового интерфейса

Все элементы интерфейса в Delphi являются визуальными компонентами. Создание нового интерфейса начинается с создания формы (класс TForm), являющейся контейнером, содержащим другие компоненты, определяющие функциональность приложения. Формы могут быть стандартными окнами, диалоговыми панелями, панелями сообщений и контейнерами.

В таблице 3.1 приведено описание основных стандартных визуальных компонентов, которые могут быть использованы при создании интерфейса программы.

Таблица 3.1

Стандартные визуальные компоненты Класс, которым представлен компонент
Главное меню TmainMenu
Локальное меню TpopupMenu
Статический текст Tlabel
Строка редактирования Tedit
Редактор Tmemo
Стандартная кнопка Tbutton
Кнопка с независимой фиксацией TchekBox
Кнопка с зависимой фиксацией TradioButton
Список TlistBox
Комбинированный список TcomboBox

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

Меню любого Dos – приложения, может быть легко и быстро построено в среде Delphi, и может быть аналогичным меню, либо иметь любой иной вид.

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

Например, при нажатии кнопки, представленной классом TButton, может вызываться стандартная Pascal‑процедура: