Создание Win32 приложений с использованием библиотек классов OWL — это формирование программных приложений Win32 с применением библиотеки классов OWL, спроектированной компанией Borland для реализации оконных приложений на языках Си и Pascal.
Введение
Сегодня язык С++ считается одним из передовых языков программирования в разных средах и операционных системах. Программное приложение на языке С++ может быть создано и откомпилировано в самых разных операционных системах, например, WINDOWS, UNIX, MACINTOSH OS. Язык С++ выступает как наследник языка Си, который применяется также и в настоящее время. Невзирая на большое количество отличий С++ в сравнении с Си, при помощи программы компиляции С++ можно выполнить компиляцию программы, написанной на Си, поскольку в С++ применяются такие же правила и функции, как и в Си. Основным отличием между этими языками считается тот факт, что язык Си является процедурным, а С++ является объектно-ориентированным, но при этом может применяться и в процедурном режиме.
При процедурном программировании осуществляется поочерёдный вызов команд, которые являются процедурами информационной обработки, а при объектно-ориентированном программировании происходит взаимодействие объектов.
При программировании для каждой операционной системы применяются разные компиляторы и линкеры, имеющие свой набор правил, но все компиляторы обязаны следовать общему стандарту С++. Версия стандарта, применяемого компилятором, определяется его годом выпуска.
Невзирая на то, что все программные приложения с применением языка С++ могут быть написаны с использованием текстового редактора и затем компиляции, данный способ достаточно трудоёмкий, особенно, если используются системные ресурсы, окна, графика.
Создание Win32 приложений с использованием библиотек классов OWL
Программирование в Windows имеет свои отличительные особенности. Здесь помимо приложения, созданного программистом, исполняются и другие программы, которые уже работали до пуска приложения. Кроме того, работают программы операционной системы, а также возможен пуск других приложений. Поскольку все программные приложения могут что-то получать от пользователя, а может и осуществлять вывод каких-либо данных, и все эти операции не должны мешать друг другу, то было разработано множество разных механизмов. При программировании под Windows следует принимать во внимание все эти механизмы и знать принцип их действия, чтобы достигнуть максимального быстродействия приложения и устранить все вероятные ошибки, возникновение которых возможно при исполнении приложения. Если приложение применяет оконный режим, то оно обязано иметь минимум две функции:
- Главная оконная функция.
- Функция обслуживания сообщений.
Object Windows Library (OWL) является библиотекой классов, которая была разработана компанией Borland для формирования оконных приложений на языках Си и Паскаль. Эта библиотека применялась со многими программными средствами фирмы Borland, например, это Turbo Pascal for Windows, Borland Pascal, Borland C++, C++ Builder другие.
Библиотека OWL делает значительно проще формирование оконных приложений для Windows. Программисту больше не нужно заполнять большое количество строк с описанием всех окон, а необходимо просто выполнить унаследование класса окна (TFrameWindow) и задание необходимых настроек. Кроме этого программистам, применяющим OWL, нет необходимости описывать и осуществлять задание функции обработки сообщений, необходимо лишь унаследовать класс приложения (TApplication). Каждая функция из любого допустимого события может быть вызвана в обработчике сообщений в этом классе. Функции основного класса представляются как пустые. Для определения операций при возникновении события следует выполнить перегрузку соответствующей функции класса окна.
Borland C++ является средой программирования (IDE) на языках Си и С++ для операционных систем DOS, Windows и Windows NT. В составе среды имеются отличный набор утилит, позволяющий редактировать программные ресурсы. В комплекте с Borland C++ идёт большое количество примеров приложений, представляющих все потенциальные возможности среды разработки. А представленные исходные коды примеров дают возможность понять реализацию всех примеров. Borland C++ осуществляет поддержку как своих библиотек OWL, так и сторонних, например, MFC.
Пример структуры программы, использующей библиотеки OWL, представлен на рисунке ниже.
Рисунок 1. Пример структуры программы, использующей библиотеки OWL. Автор24 — интернет-биржа студенческих работ
Формирование приложений под Windows предполагает применение окон. Использование библиотеки классов OWL легко решает эту проблему. Библиотека сама выполняет формирование окна и реализует вызов функций по обработке событий, прописываемых по мере необходимости.
Корректный вывод графиков также имеет свою проблему, которая состоит в том, что построение графиков выполняется согласно определённым функциям. Значения этих функций могут зависеть от единиц, а часто и от десятых долей аргументов. Если выполнять вывод графиков согласно функциям, то они фактически будут не видны.
Чтобы корректно отобразить графики, следует растянуть итоги по дисплею. Для этого нужно иметь габариты экрана (screen_width, screen_height), а также границы изменения значений функций и аргументов, которые будут отображаться на графике (x_min, x_max, y_min, y_max). Размеры функции по осям координат можно определить по следующим выражениям:
x_size = x_max-x_min;
y_size = y_max-y_min;
Затем путём деления на полученные величины размеров экрана, следует определить размеры одного деления на экране:
x_del= (screen_width)/x_size;
y_del= (screen_height)/y_size;
Поскольку диапазон способен оказаться таким, что расположение осей координат окажется не в центре, то следует вычислить расположение осей. Вычисления производятся исходя из минимальных значений диапазона:
y_center=screen_height- (-y_min*y_del) ;
x_center=-x_min * x_del.