Рефераты
 

Расчет и анализ потерь активной мощности

p align="left">КП поддерживает единый стиль диалога с пользователем, имеет достаточный набор подсказок и подменю, существенно упрощающих его освоение и работу. Такие возможности, как комбинирование параметров в любом сочетании, совместный анализ параметров различных элементов, классификация параметров по группам, программное обнаружение ошибок, автоматический поиск источника ошибки значительно облегчают наиболее тяжелый и трудоемкий процесс - подготовку и отладку исходных данных.

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

2.2 Алгоритм формирования расчетной схемы

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

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

Возможность независимого и самостоятельного создания и поддержания любого уровня установленной иерархии исходных данных (рис. 2.1) решает данную проблему: основная база данных должна содержать полный набор исходных данных, и изменения вносятся по мере введения новых объектов энергосистемы и устройств телемеханики; рабочая база данных должна отражать оперативное состояние объектов энергосистемы, не оснащенных устройствами телемеханики.

Рис. 2.1. Иерархия исходных данных

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

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

Рис. 2.2. Структурная схема алгоритма формирования расчетной схемы

Передать из ИУП расстановку ТИ.

Передать из ИУП расстановку ТС.

Передать из ИУП текущие значения ТИ и ТС или данные из архива.

Подготовить параметры узлов с помощью Редактора.

Транслировать параметры узлов.

Просмотреть Протокол: если обнаружены ошибки, перейти к п. 4; в противном случае выполнить п. 7.

Подготовить параметры ветвей с помощью Редактора.

Транслировать параметры ветвей.

Просмотреть Протокол: если обнаружены ошибки, перейти к п. 7; в противном случае выполнить п. 10.

Отредактировать расстановку ТИ.

Транслировать файл расстановки ТИ основной базы данных.

Просмотреть Протокол: если обнаружены ошибки, перейти к п. 10; в противном случае выполнить п. 13.

Отредактировать расстановку ТС.

Транслировать файл расстановки ТС основной базы данных.

Просмотреть Протокол: если обнаружены ошибки, перейти к п. 13; в противном случае выполнить п. 16.

Отредактировать значения ТИ и ТС (соответствующий файл транслируется автоматически).

Подготовить с помощью Отладчика:

управляющую информацию;

вспомогательные массивы.

18. Если необходимо, изменить с помощью Отладчика:

параметры узлов;

параметры ветвей;

расстановку ТИ;

расстановку ТС.

Сформировать (скомпоновать) расчетную схему.

Просмотреть Протокол: если обнаружены ошибки, то либо перейти к п. 4 (если необходимо изменить и основную базу данных), либо перейти к п. 7 (если изменяется только рабочая база данных); в противном случае выполнить п. 21.

Получить необходимые выходные документы.

Завершить работу.

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

2.3 Основные функции КП Компоновщик расчетных схем

Главное меню Компоновщика расчетных схем включает:

копирование, обмен файлами с ИУП, просмотр файлов (Утилиты);

подготовку исходных данных, поддержание и отладку основной базы данных (Трансляция);

создание, поддержание и отладку рабочей базы данных (Отладка);

формирование расчетных схем и поддержание базы расчетных схем (Компоновка);

вывод выходных документов (Документы).

Подробное описание меню и подменю приводится ниже.

2.3.1 Утилиты

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

Копирование. Расчетная схема с выбранным номером копируется из базы расчетных схем в рабочие файлы (становится рабочей).

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

Прием РТИ из ИУП. После запроса ИУП предлагается указать спецификацию файла. При успешном обмене на ПЭВМ создается файл с указанной спецификацией.

Прием РТС из ИУП. После запроса ИУП предлагается указать спецификацию файла. При успешном обмене на ПЭВМ создается файл с указанной спецификацией.

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

2.3.2 Трансляция

Назначение - создание, поддержание и отладка основной базы данных. Файлы основной базы данных могут создаваться либо самостоятельно и независимо с помощью встроенного Редактора, либо с помощью утилит. Редактор также позволяет поддерживать основную базу данных, обрабатывать протоколы трансляции и компоновки.

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

В подменю «Трансляция» предлагается сначала выбрать тип исходных данных: параметры узлов, параметры ветвей, расстановка ТИ, расстановка ТС, значения ТИ, значения ТС. Затем выбрать режим работы: трансляция, Редактор, Протокол (Протокол доступен, если он создан).

Параметры узлов. Параметры узлов могут создаваться и поддерживаться с помощью Редактора независимо и самостоятельно.

Каждому узлу соответствует строка, состоящая из нескольких полей. Назначение каждого поля поясняется титрами.

В процессе редактирования параметров узлов для пользователя доступны вызовы функций, предоставляющих следующие возможности:

Помощь.

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

Вызов Протокола.

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

Поиск. Данная функция облегчает и ускоряет поиск нужного параметра.

Редактирование названий узлов.

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

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

Каждой ветви соответствует строка, состоящая из нескольких полей. Назначение каждого поля поясняется титрами.

В процессе редактирования параметров ветвей для пользователя доступны вызовы тех же функций, что и при редактировании параметров узлов (см. «Параметры узлов»).

Параметры ветвей редактируются в оперативной памяти, предусмотрен запрос на запись.

Расстановка ТИ. Файл расстановки ТИ может быть создан с помощью утилит, если нормативно-справочная информация ТИ ИУП дополнена соответствующей кодировкой расстановки. Редактор позволяет создавать и поддерживать этот файл независимо и самостоятельно.

Каждому ТИ отводится несколько полей. Назначение каждого поля поясняется титрами (приведены условные обозначения).

В процессе редактирования расстановки ТИ для пользователя доступны вызовы тех же функций, что и при редактировании параметров узлов (см. «Параметры узлов»).

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

Расстановка ТС. Файл расстановки ТС может быть создан с помощью утилит, если нормативно-справочная информация ТС ИУП дополнена соответствующей кодировкой расстановки. Редактор позволяет создавать и поддерживать этот файл независимо и самостоятельно.

Каждой ТС отводится несколько полей. Назначение каждого поля поясняется титрами (приведены условные обозначения).

В процессе редактирования расстановки ТС для пользователя доступны вызовы тех же функций, что и при редактировании параметров узлов (см. «Параметры узлов»).

Расстановка ТС редактируется в оперативной памяти, предусмотрен запрос на запись.

Значения ТИ. Редактируются значения ТИ, переданные из ИУП с помощью утилит. Такая необходимость возникает когда либо часть ТИ заведомо ошибочна, либо часть ТИ отключена, либо результаты измерений нужно согласовать с данными из диспетчерской ведомости, в частности при обработке данных режимного дня.

Каждому ТИ соответствует строка, состоящая из нескольких полей (указывается кодировка расстановки ТИ и измеренное значение). Назначение полей поясняется титрами (приведены условные обозначения).

В процессе редактирования значений ТИ для пользователя доступны вызовы тех же функций, что и при редактировании параметров узлов (см. «Параметры узлов»), за исключением вызова Протокола.

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

Значения ТС. Редактируются значения ТС, переданные из ИУП с помощью утилит (для того, чтобы передать значения ТС из ИУП, необходимо при обмене файлами запросить текущие данные). Такая необходимость возникает когда либо часть ТС заведомо ошибочна, либо часть датчиков ТС отключена, либо значения ТС нужно согласовать с текущей схемой электрических соединений.

Каждой ТС соответствует строка, состоящая из нескольких полей (указывается кодировка расстановки ТС, исходное и текущее значение ТС). Назначение полей поясняется титрами (приведены условные обозначения).

В процессе редактирования значений ТС для пользователя доступны вызовы тех же функций, что и при редактировании параметров узлов (см. «Параметры узлов»), за исключением вызова Протокола.

Значения ТС редактируются в оперативной памяти, причем для редактирования доступны только текущие значения, и транслируются автоматически (т.е. использовать режим трансляции необязательно). Предусмотрен запрос на запись.

2.3.3 Отладка

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

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

В подменю «Отладка» предлагается выбрать тип исходных данных: управляющая информация, параметры узлов, параметры ветвей, вспомогательные массивы, расстановка ТИ, расстановка ТС.

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

Параметры узлов. Параметры узлов могут создаваться и поддерживаться с помощью Отладчика независимо и самостоятельно.

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

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

В процессе отладки параметров узлов для пользователя доступны вызовы функций, предоставляющих следующие возможности:

Редактирование названий узлов.

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

Помощь.

Поиск по номеру узла. Данная функция облегчает и ускоряет поиск нужного узла по его номеру; одновременно проверяется наличие дубля.

Поиск по номеру отображения узла. Данная функция облегчает и ускоряет поиск нужного узла по его номеру отображения; одновременно проверяется наличие дубля.

Список мнимо удаленных узлов. Функция избавляет от необходимости поиска мнимо удаленных узлов и облегчает удаление и включение узлов при формировании расчетной схемы.

Априорные данные. Функция эффективна при оперативном изменении как состава узлов с априорными данными, так и самих априорных данных.

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

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

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

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

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

В процессе отладки параметров ветвей для пользователя доступны вызовы функций, предоставляющих следующие возможности:

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

Помощь.

Узел. Одна из возможностей выделения группы ветвей (выбираются ветви, примыкающие к указанному узлу).

Ветвь. Данная функция облегчает и ускоряет поиск нужной ветви по ее номеру; одновременно проверяется наличие дубля.

Поиск мнимо удаленных ветвей. Функция избавляет от необходимости поиска мнимо удаленных ветвей и облегчает удаление и включение ветвей при формировании расчетной схемы.

Трансформаторы. Функция предназначена для отладки параметров трансформаторных ветвей.

Реакторы. Функция предназначена для отладки параметров реакторов.

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

Расстановка ТИ. Файл расстановки ТИ рабочей базы данных создается после трансляции файла расстановки ТИ основной базы данных. Отладчик позволяет создавать, поддерживать и отлаживать этот файл независимо и самостоятельно.

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

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

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

Помощь.

Узел. Одна из возможностей выделения группы ТИ: выбираются ТИ, датчики которых установлены возле (в) указанного узла; одновременно выводится фрагмент электрической сети (список ветвей, примыкающих к указанному узлу), что значительно облегчает проверку соответствия кодировки расстановки ТИ и расчетной схемы.

Ветвь. Функция облегчает и ускоряет поиск датчиков ТИ, установленных на ветви.

Список мнимо удаленных ТИ. Функция избавляет от поиска мнимо удаленных ТИ и облегчает отключение и включение датчиков ТИ при формировании расчетной схемы.

Поиск. Данная функция облегчает и ускоряет поиск нужного ТИ по его номеру; одновременно проверяется наличие дубля.

Код. Автоматически восстанавливается код измеряемого параметра режима ранее мнимо удаленного ТИ независимо от срока давности.

Расстановка ТС. Файл расстановки ТС рабочей базы данных создается после трансляции файла расстановки ТС основной базы данных. Отладчик позволяет создавать, поддерживать и отлаживать этот файл независимо и самостоятельно.

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

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

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

Помощь.

Узел. Одна из возможностей выделения группы коммутационных аппаратов (КА): выбираются КА, относящиеся к указанному узлу; одновременно выводится фрагмент электрической сети (список ветвей, примыкающих к указанному узлу), что значительно облегчает проверку соответствия кодировки расстановки ТС и расчетной схемы.

Список мнимо удаленных ТС. Функция избавляет от поиска мнимо удаленных ТС и облегчает отключение и включение датчиков ТC при формировании расчетной схемы.

Поиск. Данная функция облегчает и ускоряет поиск нужной ТС по ее номеру; одновременно проверяется наличие дубля.

Код. Автоматически восстанавливается код ранее мнимо удаленной ТС независимо от срока давности.

Управляющая информация. Управляющая информация создается и поддерживается только Отладчиком. Эта информация отражает специфические особенности реализованных алгоритмов (по умолчанию для большинства параметров берутся рекомендуемые значения).

В процессе редактирования управляющей информации для пользователя доступны вызовы функций, предоставляющих следующие возможности:

Переключение «окон». Весовые коэффициенты, используемые при идентификации параметров элементов электрической системы и характеризующие достоверность априорных значений идентифицируемых параметров, выделены в отдельную группу, для их просмотра и коррекции предоставляется отдельное «окно». Переход из одного «окна» в другое осуществляется с помощью этой функции.

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

Вспомогательные массивы. Вспомогательные массивы создаются и поддерживаются только Отладчиком. Эти массивы (генераторные узлы, внешние узлы (связи), автотрансформаторы с РПН) используются при формировании выходных форм ИУП, поэтому должна выдерживаться жесткая позиционная привязка; любое их изменение должно быть согласовано с выходными формами ИУП. Объекты, указанные в этих массивах, могут быть отключены (не учитываться) в формируемой расчетной схеме.

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

Переключение «окон». Выбирается нужный вспомогательный массив.

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

Помощь.

Поиск. Функция облегчает и ускоряет поиск нужного элемента вспомогательного массива, одновременно проверяется наличие дубля.

2.3.4 Компоновка

Компонуется расчетная схема из отдельных оттранслированных файлов - формируется единая для всех решаемых технологических задач математическая модель электрической системы.

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

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

Подменю «Компоновка» содержит два пункта: Компоновка, Протокол. Протокол доступен либо после трансляции любого файла основной базы данных, либо после компоновки расчетной схемы.

Если выбран пункт «Компоновка», предоставляется справка о сформированных расчетных схемах Следует выбрать номер формируемой расчетной схемы и ввести шифр для нее.

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

2.3.5 Документы

Выходные документы выводятся в файл, который создается после выбора подменю «Документы».

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

Таблица соответствия устанавливает жесткую позиционную связь между данными, которыми обмениваются ИУП и ИВП.

Каталог кадров содержит шаблоны с указанием адресов для отображения обобщенной информации.

Выходные документы сопровождаются необходимыми пояснениями.

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

3. Особенности windows-программирования

Windows 95 - одна из последних версий графической операционной системы (ОС) Windows, представленной впервые в ноябре 1985 года для использования на компьютерах типа IBM PC и совместимых с ним. За последнее десятилетие ОС Windows почти полностью вытеснила всех конкурентов и стала фактически эталоном ОС для персональных компьютеров.

В Windows 95 объединены средства, имеющиеся в более ранних ОС. К ним также добавлены новые средства, позволяющие более быстро выполнять большие объемы работ.

Программирование под Windows является одним из видов объектно-ориентированного программирования (ООП). В основе ОС Windows лежит ее способность отображать информацию, используя для этого окна. Окно - это прямоугольная область на экране, оно получает информацию от клавиатуры или мыши пользователя и выводит графическую информацию на своей поверхности (можно одновременно открыть несколько окон, чтобы одновременно работать с несколькими приложениями, тем самым увеличив производительность компьютера). Пользователь рассматривает окна на экране в качестве объектов и непосредственно взаимодействует с этими объектами.

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

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

Для упрощения создания Windows_программ с интерфейсом пользователя, соответствующим интерфейсу оболочки системы, корпорация Microsoft разработала библиотеку органов управления общего пользования (common control library). Она содержит 17 элементов, которые условно можно разделить на четыре категории: органы управления главного окна (панель инструментов, окно подсказки, строка состояния), составные диалоговые органы управления (страница свойств, набор страниц свойств), органы управления Windows Explorer (дерево просмотра, список просмотра) и другие органы управления (например, горячая клавиша, индикатор процесса, окно с движком для выбора значения из диапазона). Как дочерние окна управления, так и органы управления общего пользования часто используются при создании Windows_приложений.

Важной особенностью OC Windows является многозадачность. Под Windows 95 любая программа становится резидентной и несколько программ одновременно могут иметь вывод на экран и выполняться. Кроме того, программы сами по себе могут иметь несколько потоков выполнения, которые, как кажется, выполняются параллельно. В основе этого принципа лежит использование ОС аппаратного таймера для распределения процессорного времени между одновременно выполняемыми процессами. [4]

К основным преимуществам ОС Windows 95 относятся следующие:

улучшенный интерфейс;

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

технология Plug and Play автоматически определяет и настраивает дополнительные устройства, подключаемые к компьютеру;

32 - битная многозадачная среда позволяет одновременно работать нескольким программам;

улучшенные средства поиска;

улучшенная поддержка мультимедиа;

расширенные возможности установления связей, включая электронную почту, факсы, электронные доски объявлений, Internet;

управление процессом печати документов.

Рассмотрим более подробно процесс создания прикладной программы Windows.

3.1 Главное окно

Прикладная программа Windows - это любая программа, которая специально написана для работы в операционной среде Windows и использующая интерфейс прикладной программы (API).

Прикладная программа Windows имеет следующие основные компоненты: основную функцию WinMain; т.н. «оконную процедуру» - функцию WndProc.

WinMain - это точка входа в программу. В любой программе для Windows имеется функция WinMain, она определяется следующим образом:

integer function WinMain (hInstance, hPrevInstance, &

lpszCmdLine, nCmdShow).

hInstance - дескриптор (описатель, хэндл) экземпляра. Это уникальное число, идентифицирующее программу, когда она работает под Windows;

hPrevInstance - дескриптор предыдущего экземпляра программы. Под Windows 95 этот параметр всегда NULL;

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

nCmdShow - число, показывающее, каким должно быть выведено на экран окно в начальный момент.

В большинстве случаев эта функция делает следующее:

вызывает функции инициализации, которые регистрируют классы окон, создают окна и выполняют другие инициализации;

запускает цикл обработки сообщений из очереди прикладной программы;

завершает работу программы.

WndProc - это функция многократного вызова, т.е. функция программы, которую вызывает Windows. Сама программа никогда не вызывает эту функцию напрямую. Каждое окно имеет соответствующую оконную процедуру. Оконная процедура - это способ инкапсулирования кода, отвечающего за ввод информации и за вывод информации на экран, что реализуется путем посылки «сообщений» окну.

В процессе создания главного окна программы условно можно выделить четыре этапа:

регистрация класса главного окна;

создание главного окна;

отображение и корректировка главного окна;

организация цикла сообщений.

Рассмотрим подробнее каждый из этапов.

Регистрация класса окна.

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

Перед созданием окна для программы необходимо зарегистрировать класс окна путем вызова функции Rеgistelаss:

ret = Rеgistelаss (lpwc).

ret - целочисленная переменная, содержащая возвращаемое функцией значение;

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

Заполнение структуры и регистрация класса окна производятся в WinMain. Если регистрация прошла успешно, функция возвращает число, идентифицирующее регистрируемый класс. В противном случае она возвращает ноль.

Создание окна.

Окно создается с помощью функции СreateWindowEx (она отличается от аналогичной функции CreateWindow возможностью задания «расширенного» стиля окна и наличием параметра, используемого в качестве указателя на какие-то данные, на которые программа в дальнейшем могла бы ссылаться). Эта функция побуждает Windows создать окно, которое имеет указанный тип и принадлежит к определенному классу. Вызов функции СreateWindowEx осуществляется следующим образом:

hWnd = CreateWindowEx (&

INT4 (WS_EX_DLGMODALFRAME), ! «расширенный» стиль окна &

lpszClassName, ! Имя класса окна &

lpszAppName, ! Заголовок главного окна &

INT4 (WS_OVERLAPPEDWINDOW), ! Стиль окна &

0, ! X - координата левого верхнего угла &

0, ! Y - координата верхнего левого угла &

GetSystemMetrics (SM_CXSCREEN) - 32, ! Ширина окна &

GetSystemMetrics (SM_CYSCREEN) - 32, ! Высота окна &

NULL, ! Дескриптор родительского окна &

hMenu, ! Дескриптор меню окна &

hInstance,! Дескриптор экземпляра &

NULL) ! Параметры создания

Параметр с комментарием «имя класса окна» содержит строку, являющуюся именем только что зарегистрированного класса окна («Krs_w»). Т.о., этот параметр связывает окно с классом окна.

«Заголовок главного окна» содержит текст, который появляется в строке заголовка («Компоновщик расчетных схем»).

Окно, созданное программой, является обычным перекрывающимся окном с заголовком, системным меню, главным меню, иконками для сворачивания, разворачивания и закрытия окна справа на строке заголовка и рамкой окна (стандартный стиль окон WS_ОVЕRLАРРЕDWINDOW). Из предлагаемого ОС Windows набора «расширенных» стилей выбран стиль WS_EX_DLGMODALFRAME, добавляющий окну двойную рамку.

Параметр с комментарием «дескриптор родительского окна» устанавливается в NULL, т. к. у нашего окна отсутствует родительское окно. Параметр hMenu содержит дескриптор меню окна. В параметр hInstance помещается дескриптор экземпляра программы, переданный программе в качестве параметра функции WinMain. Параметр с комментарием «параметры создания» при необходимости используется в качестве указателя на какие-нибудь данные, на которые программа в дальнейшем могла бы ссылаться (в рассматриваемой программе такие данные не используются - параметр установлен в NULL).

Вызов СreateWindowEx возвращает дескриптор созданного окна. Этот дескриптор хранится в переменной hWnd. Для многих функций Windows в качестве параметра требуется hWnd, указывающий Windows, к какому окну применить функцию. Если функция СreateWindowEx не может создать окно, она возвращает NULL.

Отображение и корректировка окна.

Хотя функция СreateWindowEx и создает окно, она автоматически не индицирует его. Программа должна предусмотреть индикацию окна с помощью функции ShowWindow и корректировку области пользователя окна с помощью функции UpdateWindow.

Функция ShowWindow побуждает Windows индицировать новое окно:

bret = ShowWindow (hWnd, nCmdShow)

hWnd - дескриптор созданного функцией CreateWindowEx окна;

nCmdShow - величина, передаваемая в качестве параметра функции WinMain и задающая начальный вид окна на экране;

bret - логическая переменная, содержащая возвращаемое функцией значение.

Функция ShowWindow выводит окно на экран. Вызов функции UpdateWindow вызывает затем перерисовку рабочей области:

bret = UpdateWindow (hWnd).

При обработке этого вызова в оконную процедуру посылается сообщение WМ_РАINТ.

Обе функции при успешном завершении возвращают TRUE, в противном случае - FALSE.

Вид главного окна Компоновщика расчетных схем представлен на рисунке 3.1.

Рис. 3.1. Вид главного окна

Как видно из рис. 3.1, главное окно Компоновщика содержит заголовок, строчку меню (структура которого была рассмотрена во 2_ой главе), рабочую область, а также панель инструментов и панель состояния, которые более подробно будут рассмотрены ниже.

Страницы: 1, 2, 3, 4


© 2010 BANKS OF РЕФЕРАТ