31244-1 (Borland C++ для Windows)

2016-07-31СтудИзба

Описание файла

Документ из архива "Borland C++ для Windows", который расположен в категории "". Всё это находится в предмете "информатика" из , которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "рефераты, доклады и презентации", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "31244-1"

Текст из документа "31244-1"

ПРОГРАММИРОВАНИЕ ДЛЯ WINDOWS НА BORLAND C++

1. Введение

Цель данного пособия - облегчить усвоение программирования для Windows на BORLAND C++ и способствовать распространению библиотеки OWL (Object Windows Library), которая хорошо продумана и использование которой явно вырисовывает достоинства объектно-ориентированного программирования - инкапсуляции, наследования и полиморфизма.

Пособие привязано к лекционному курсу “Технология программирования”, требуя знаний изложенных на лекциях основ объектно-ориентированного программирования на C++ и предназначено как руководство к лабораторным работам по этому лекционному курсу.

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

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

1.1. Ввод, редактирование и запуск Windows-приложения

Чтобы ввести исходный текст программы, откомпилировать и увидеть на экране окно Windows-приложения, необходимо выполнить следующие действия:

1) Сделайте двойной щелчок левой клавиши мыши (или нажатие ENTER) на пиктограмме Borland C++. Появится окно компилятора BC4.

2) Щелчок левой клавиши мыши на элементе меню Project (или переход в строку меню путем нажатия F10, поиск и высвечивание элемента Project с помощью клавиш и . Раскрыть Project с помощью клавиши ENTER).

3) Щелчок мышью на команде New project (или выбрать данный пункт меню с помощью клавиш и и нажать ENTER). В дальнейшем для краткости будем говорить, что нужно выполнить команду Project|New project (команду New project из меню Project).

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

4) Щелчок мышью на кнопке Browse для просмотра каталога.

5) Воспользовавшись линейкой прокрутки, найти имя требуемого каталога и сделать на нем двойной щелчок левой клавиши мыши.

6) В поле File Name ввести имя проекта с расширением .ide, затем нажать ENTER.

7) Нажмите кнопку Advanced и снимите флажки rc и def в появившемся диалоге Advanced Options, затем нажмите OK.

8) В диалоге создания проекта нажмите кнопку OK.

9) Сделайте двойной щелчок левой кнопкой мыши на имени файла с расширением cpp в окне созданного проекта, в результате чего откроется окно для редактирования текста программы.

10) Введите исходный текст программы.

11) Для компиляции и выполнения нажмите Ctrl-F9.

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

1.2. Основные приемы редактирования текста в интегрированной среде BORLAND C++

1.2.1. Копирование и удаление части текста в окне редактирования

Для копирования текста из одной его части в другую выполняются следующие действия:

1) Выделить копируемый текст:

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

б) Нажать и удерживать клавишу Shift.

в) Используя клавиши управления курсором, выделить текст.

г) Отпустить Shift.

2) Занести выделенный текст в буфер обмена (Clipboard) путем одновременного нажатия Ctrl и Ins или выполнения команды Edit|Copy.

3) Перевести курсор к месту вставки текста.

4) Перенести текст из буфера в редактор путем одновременного нажатия Shift и Ins или выполнения Edit|Paste.

1.2.2. Копирование содержимого ранее созданного cpp-файла в окно редактирования

Для копирования выполните следующие действия:

1) Выполните команду File|Open.

2) В появившемся диалоговом окне выберите требуемый файл и нажмите OK. Откроется окно с содержимым указанного файла.

3) С помощью вышеописанных действий выделите требуемый фрагмент текста или выполните Edit|Select All для выделения всего текста в окне редактирования.

4) Выполните Edit|Copy или нажмите Ctrl-Ins для копирования выделенного текста в буфер обмена.

5) Если открытый файл больше не нужен, закройте окно. Это делается двойным щелчком левой кнопки мыши на кнопке системного меню окна. Можно сделать один щелчок мыши и в появившемся меню выбрать Close.

6) Выполните Edit|Paste или нажмите Shift-Ins для вставки текста из буфера в окно редактирования.

2. Создание простейшего приложения

Для усвоения работы с компилятором BORLAND C++ создадим несколько вариантов простейшего Windows-приложения, которое создает окно с заголовком. Заголовок окна содержит надпись “Hello, Windows !” или “Hello, Hello !”. Окно также содержит кнопки минимизации и максимизации, а также системное меню приложения.

2.1. Создание объекта приложения внутри функции OwlMain

При написании программы будем работать с классом TApplication и функцией OwlMain. В данном варианте программы объект класса TApplication создается внутри функции OwlMain.

2.1.1. Исходный текст приложения

#include

int OwlMain(int, char* [])

{

TApplication app("Hello, Windows !");

return app.Run();

}

2.1.2. Пояснения к программе

Заголовочный файл owl\applicat.h содержит описание класса TApplication (см. Раздел 10.2.).

app - объект класса TApplication. При создании этого объекта используется неявный вызов конструктора, устанавливающего текст заголовка прикладного окна “Hello, Windows !”.

app.Run() - вызов члена-функции класса TApplication для объекта app. Функция TApplication::Run() запускает приложение.

2.1.3. Задание

1) Создать и выполнить приложение, убедившись в правильности функционирования кнопок максимизации и минимизации окна.

2) Передвинуть окно в другое место экрана.

3) Плавно изменить высоту и ширину окна с помощью мыши.

4) Закрыть приложение.

5) Изменить исходный текст приложения, заменив заголовок окна на “Hello, Hello !”. Убедиться в появлении окна с новым заголовком.

2.1.4. Немного английского

an application - приложение

to run - выполняться

a window - окно

Windows - название системы Windows

OWL - Object Windows Library - библиотека классов Windows

to include - включать

main - основной, главный

to return - возвращать, возвращаться

2.2. Динамическое создание объекта класса TApplication

В этом варианте приложения объект класса TApplication динамически создается в свободной области памяти.

2.2.1. Исходный текст приложения

#include

int OwlMain(int, char* [])

{

TApplication *app;

app=new TApplication(" Hello Windows !");

return app->Run();

}

2.2.2. Пояснения к программе

app - указатель на объект типа TApplication.

Оператор new выделяет участок в свободной области памяти под объект класса TApplication. При этом неявный вызов конструктора инициализирует объект приложения и устанавливает текст заголовка в “Hello, Windows !”.

2.2.3. Задание

Создать и выполнить приложение.

2.3. Кратчайший вариант Windows-приложения

2.3.1. Исходный текст приложения

#include

int OwlMain(int, char* [])

{

return TApplication(" Hello Windows !").Run();

}

2.3.2. Задание

Создать приложение и убедиться в его работоспособности.

3. Использование класса TFrameWindow для создания главного окна

Класс TFrameWindow является производным от TWindow и обеспечивает функционирование главного окна приложения.

3.1. Создание объекта главного окна

В нижеследующем приложении член-функция InitMainWindow класса TApplication с помощью оператора new и конструктора TFrameWindow создает объект - главное окно приложения. Адрес объекта помещается в переменную MainWindow объекта приложения.

3.1.1. Исходный текст программы

#include

#include

class TMyApp: public TApplication

{

public:

TMyApp():TApplication("Hello Windows !"){};

void InitMainWindow()

{

MainWindow=new TFrameWindow(0,"Hello, hello!!");

}

};

int OwlMain(int, char* [])

{

return TMyApp().Run();

}

3.1.2. Пояснения к программе

Включаемый заголовочный файл owl\framewin.h содержит описание класса TFrameWindow (см. раздел 10.3.).

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

Тело конструктора TMyApp пустое, т.е. {}. Работа этого конструктора сводится только к вызову конструктора базового класса TApplication, содержащего единственный параметр - текст заголовка главного окна приложения (см. раздел 10.2.2).

Тело функции InitMainWindow класса TMyApp содержит оператор new, который совместно с конструктором TFrameWindow создает экземпляр объекта-окна с новым заголовком “Hello, Hello !”. Адрес объекта присваивается переменной MainWindow (см. раздел 10.2.1.), унаследованной от TApplication.

3.1.3. Задание

1) Создать и выполнить приложение. Обратите внимание! Вместо заголовка “Hello, Windows !”, заданного конструктором TMyApp, окно имеет заголовок “Hello, Hello !”. Это результат работы переопределенной виртуальной функции TMyApp::InitMainWindow, которая была вызвана после конструктора и изменила текст заголовка на “Hello, Hello !”.

2) Измените тексты заголовков, используемые конструкторами TMyApp и TFrameWindow.

3) Измените статус доступа к членам класса TMyApp на protected или private. Убедитесь, что появятся сообщения об ошибках компиляции, так как в функции OwlMain производится обращение к теперь уже недоступному конструктору TMyApp.

4) Опишите конструктор TMyApp вне класса, не забыв добавить при его описании оператор привязки к классу TMyApp. Убедитесь в работоспособности приложения.

5) Опишите член-функцию InitMainWindow вне класса. Проверьте работоспособность приложения.

3.2. Изменение положения главного окна на экране

Класс TFrameWindow наследует из класса TWindow (см. раздел 10.4.) член-данное Attr( см. раздел 10.4.1.). Attr - это структура, содержащая различные атрибуты окна, такие как стиль окна, позиция на экране, размер и т.д.

3.2.1. Варианты функции InitMainWindow, использующие Attr

Вариант A:

void InitMainWindow()

{

MainWindow=new TFrameWindow(0," Hello, hello!!");

MainWindow->Attr.X=5;

MainWindow->Attr.Y=15;

MainWindow->Attr.W=200;

MainWindow->Attr.H=100;

}

Вариант B:

void InitMainWindow()

{

MainWindow=new TFrameWindow(0," Hello, hello!!");

MainWindow->Attr.X=GetSystemMetrics(SM_CXSCREEN)/8;

MainWindow->Attr.Y=GetSystemMetrics(SM_CYSCREEN)/8;

MainWindow->Attr.W=MainWindow->Attr.X*6;

MainWindow->Attr.H=MainWindow->Attr.Y*6;

}

3.2.2. Пояснение к вариантам использования функции InitMainWindow

Указатель MainWindow указывает на главное окно приложения, созданное оператором new и конструктором TFrameWindow. Указатель используется для ссылки на элементы структуры Attr главного окна приложения.

X,Y задают положение левого верхнего угла окна на экране.

W и H задают ширину и высоту окна в пикселах.

Функция GetSystemMetrics возвращает значения различных характеристик системы, таких как высота (SM_CYSCREEN) и ширина (SM_CXSCREEN) экрана.

3.2.3. Задание

1) Создать приложение с вариантом A функции InitMainWindow. Проверьте работоспособность приложения.

2) Создать приложение с вариантом A написания функции инициализации, но с другими значениями элементов X,Y,W,H структуры Attr.

3) Создать приложение с вариантом B написания функции InitMainWindow. Убедиться, что окно размещается в центре экрана.

3.3. Немного английского

Attr - Attribute - атрибут, свойство признак.

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5161
Авторов
на СтудИзбе
438
Средний доход
с одного платного файла
Обучение Подробнее