на тему рефераты Информационно-образоательный портал
Рефераты, курсовые, дипломы, научные работы,
на тему рефераты
на тему рефераты
МЕНЮ|
на тему рефераты
поиск
Основы разработки электронного учебника
p align="left">- Brush. Управляет цветом и орнаментом канвы, используемой при заливке графических фигур и фона.

- Controls. Содержит список элементов управления, для которых TWinControl является родителем.

- ControlCount. Содержит число элементов управления, для которых TWinControl является родителем.

- Ctl3d. Определяет, требуется ли трехмерное отображение компоненты.

- Handle. Ссылается на оконный дескриптор объекта Windows, который инкапсулирует TWinControl. Это свойство передается тем стандартным функциям Windows API, которые принимают дескриптор как параметр.

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

- Showing. Указывает, видима или невидима компонента.

- TabStop. Указывает, можно ли использовать клавишу табуляции для выбора нужной компоненты.

- TabOrder. Определяет позиции табулятора выбора компонент.

Методы TWinControl главным образом ориентированы на разработчиков компонент и предназначены для управления фокусом, получения статусной информации, диспетчеризации сообщений и позиционирования:

- Broadcast используется для рассылки сообщений всем потомкам TWinControl.

- CanFocus возвращает булево значение, которое определяет, может ли TWinControl принять фокус ввода. Например, компонента не сможет принять фокус, если ее свойство Visible имеет значение false.

- ContainsControl определяет, содержится ли данный элемент управления внутри класса TWinControl. Этот метод не сообщает о том, является ли данный элемент потомком по отношению к TWinControl. Например, внешний класс TWinControl может быть родителем другого элемента, и эта родительская преемственность может продолжаться далее. Однако, все внутренние элементы содержатся во внешнем классе TWinControl.

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

- DisableAlign и EnableAlign используются для временного запрещения или разрешения выравнивания компонент внутри TWinControl.

- Focused возвращает значение true, если TWinControl находится в фокусе ввода, т.е. является активным элементом формы, на которой он размещен.

- HandleAllocated возвращает значение true, если элемент управления имеет оконный дескриптор. HandleNeeded создает новый дескриптор, если он еще не был создан. Аналогичное действие выполняется автоматически при прямом обращении к свойству Handle.

- InsertControl добавляет элемент управления к свойству Controls (типа массив), делая TWinControl своим родителем. Лучший способ добавить потомка во время работы программы - просто присвоить ссылку на родителя свойству Parent. RemoveControl удаляет элемент управления из Controls.

- Invalidate и Repaint выполняют перерисовку компоненты.

- SetBounds устанавливает свойства границ компоненты (Left, Top, Width, Height) для TWinControl. Прямое изменение каждого из указанных свойств менее эффективно, поскольку всякий раз сопряжено с перерисовкой

- SetFocus активизирует TWinControl.

TWinControl имеет события, вызываемые взаимодействием с клавиатурой и изменением фокуса (OnKeyDown, OnKey Press, OnKeyUp, OnEnter и OnExif).

Разрабатываемые компоненты редко происходят непосредственно от TWinControl. Лучше производить новые компоненты от общего класса TCustomControl, который предоставляет канву для рисования и обрабатывает сообщение WM_PAINT, или от некоторых более специализированных классов (TButtonControl, TCustomComboBox, TCustomEdit или TCustomListBox).

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

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

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

TGraphicControl возлагает на пользователя операции перерисовки. Этот класс содержит свойство Canvas (Канва), которое обеспечивает доступ к отведенной для рисования поверхности, и виртуальный метод Paint, который вызывается в ответ на сообщение WM_PAINT, принимаемое родительским элементом управления.

Кроме того, при работе с формами, содержанием, браузерами, панелями, кнопками, рамками и надписями используются соответственно классы TForm, TTreeView, TCppWebBrowser, TPanel, TBitBtn, TBevel и TLabel.

3.2 Иерархия классов

В разрабатываемом программном продукте присутствует иерархия классов, представленная на рисунке 1.

Рисунок 1 -- Иерархия классов

3.3 Выбор и обоснование инструментов разработки

В качестве инструментального средства реализации разрабатываемого программного продукта была выбрана интегрированная среда разработки Borland C++ Builder 6.0.

Выбор данного инструментального средства не случаен и основан на том, что данная ИСР имеет ряд достоинств. Основные преимущества Borland C++ Builder по сравнению с другими средствами разработки приложений:

- Быстрота разработки приложения.

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

- Невысокие требования разработанного приложения к ресурсам компьютера.

- Возможность полного доступа к функциям операционных систем семейства Windows.

- Возможность модернизации среды разработки за счет встраивания в нее новых компонент, инструментов, экспертов

- Удачная проработка иерархии объектов

- Использование для написания кода одного из самых популярных языков программирования С++.

4 Программная реализация

4.1 Формы входных и выходных данных

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

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

4.2 Функциональные решения

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

При запуске программы создается вступительная форма (Form1), которая показывает приглашение к запуску главной формы. При нажатии кнопки "Запуск учебника" (TForm1::SpeedButton1Click) запускается главная форма (Form2). На ней изображено иерархическая структура разделов, и поле для отображения теории.

Для выбора определенного раздела следует сделать двойное нажатие на интересующее название раздела после чего вызывается функция TForm2::TreeView1DblClick. Данная функция в зависимости от того, какая тема выбрана в содержании, автоматически формирует путь к файлу с темой (dat-документу), загружает его в окно браузера тем.

Для перехода к предыдущему или следующему разделу предусмотрены кнопки "Предыдущая", "Следующая" при нажатии которых вызывается событие TForm2::SpeedButton2Click и TForm2::SpeedButton3Click соответственно.

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

Для изменения шрифта следует выбрать Опции -> Шрифт после чего запускается стандартное окно выбора шрифта FontDialog в котором можно выбрать шрифт, стиль, размер, видоизменение и цвет текста отображаемого на главной форме.

Для поиска следует выбрать Опции -> Поиск после чего запускается стандартное окно поиска FindDialog в котором можно задать текст для поиска (поиск осуществляется в открытом в данный момент разделе).

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

Сохранение осуществляется путём выбора нужной темы(отобразить на экране) и нажать в правом нижнем углу кнопку сохранить. Далее выбрать путь сохранения файла.

При закрытии главной формы вызывается событие TForm2::FormClose, которое вызывает функцию Application->Terminate().

4.3 Модули реализации

В разработанный проект входят одиннадцать модулей - файл проекта (головная программа - файл Project1.cpp), заголовочный файл пригласительной формы (описание класса TForm1-- файл Unit1.h), файл с реализацией функций-членов класса TForm1 (файл Unit1.cpp),заголовочный файл главной формы (описание класса TForm2-- файл Unit2.h), файл с реализацией функций-членов класса TForm2 (файл Unit2.cpp), заголовочный файл формы об авторе (описание класса TForm3-- файл Unit3.h), файл с реализацией функций-членов класса TForm3 (файл Unit3.cpp), заголовочный файл формы о программе (описание класса TForm4-- файл Unit4.h), файл с реализацией функций-членов класса TForm4 (файл Unit4.cpp).

4.4 Взаимосвязь модулей

Наиболее распространенная связь, которая может существовать между двумя модулями, - компиляционная зависимость. В C++ такая зависимость указывается директивой #include (файл Form2.cpp содержит директиву #include ко всем модулям программы)

4.5 Тестирование

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

5 Описание применения

5.1 Назначение программы

Данная программа представляет собой программно-педагогическое средство и предназначена для изучения материалов по предмету C++.

5.2 Область применения

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

5.3 Система помощи

В программе реализована всплывающая справка.

Заключение

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

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

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

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

Список использованных источников

1. Либерти, Джесс. Освой самостоятельно С++ за 21 день: 3-е изд, пер. с англ.: Уч. пос. -- М.: Издательский дом «Вильямс», 2000. -- 816 с.: ил. -- Парал. тит. англ.

2. Буч Г. Объектно-ориентированный анализ и проектирование с примерами приложений на С++. 2-е изд.: Пер. с англ. - М.: Издательство Бином, СПб.: Невский диалект, 1999.

3. Прата Стивен. Язык программирования C++. Лекции и упражнения.Учебник.: Пер. с англ. - М.: Издательство Диасофт, 2004.

Приложение А Текст программы

//файл с головной программой Project1.cpp

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

USEFORM("Unit1.cpp", Form1);

USEFORM("Unit2.cpp", Form2);

USEFORM("Unit3.cpp", Form3);

USEFORM("Unit4.cpp", Form4);

//---------------------------------------------------------------------------

#include "Unit1.h"

HRGN Rgn;

//---------------------------------------------------------------------------

WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)

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



© 2003-2013
Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент.