Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
курсовик волков ит 01.docx
Скачиваний:
19
Добавлен:
12.04.2015
Размер:
1.51 Mб
Скачать

52

ВВЕДЕНИЕ

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

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

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

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

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

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

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

Как указывает Е.И.Машбиц, первыми разработками такого рода стали программы, использующие возможность автоматизации обратной связи - системы автоматизированных опросов.

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

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

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

Цель: разработка электронного учебного пособия по информатике.

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

- содержать лекции и лабораторные работы по дисциплине;

- предоставлять возможность быстрой и удобной навигации по разделам;

- работа в двух режимах: режим чтения и режим редактирования;

-создание и сохранение новых разделов пособия;

- печать отдельных лекций;

- ввод пароля при входе в режим редактирования;

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

  1. Объектно-ориентированная среда программирования C++ Builder

C++ Builder остается одной из самых популярных систем разработки математического обеспечения на языке C++. Система предоставляет в распоряжение программистов-профессионалов высокопродуктивные средства разработки 16- и 32-разрядных приложений для операционных систем Windows 95, NT. C++ Builder - программный продукт, инструмент быстрой разработки приложений (RAD), интегрированная среда программирования (IDE), система, используемая программистами для разработки программного обеспечения на языке C++. C++ Builder первоначально создавалась только для платформы Microsoft Windows. C++Builder поддерживает основные принципы объектно-ориентированного программирования - инкапсуляцию, полиморфизм и множественное наследование, а также нововведенные спецификации и ключевые слова в стандарте языка C++. C++ Builder может быть использован везде, где требуется дополнить существующие приложения расширенным стандартом языка C++, повысить быстродействие и придать пользовательскому интерфейсу качества профессионального уровня.

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

Неопытным пользователям среда разработки Borland C++ Builder позволяет с небольшими затратами сил и времени создавать прикладные программы, которые внешне неотличимы от программ, созданных профессионалами, и удовлетворяют всем требованиям Windows.

Объектно-ориентированное программирование – это совершенно естественный подход к построению сложных (и не очень сложных) программ и систем. Объектно-ориентированная программа – совокупность объектов и способов их взаимодействия. Отдельным (и главным) объектом при таком подходе во многих случаях можно считать пользователя программы. Он же служит основным, но не единственным, источником событий, управляющих приложением. Совокупность данных и методов их чтения и записи называется свойством. Свойства можно устанавливать в процессе проектирования, их можно изменять программно во время выполнения прикладной программы. В процессе проектирования приложения с помощью C++ Builder можно увидеть значения некоторых данных в Инспекторе Объектов, эти значения можно менять. Все общение с данными происходит через методы их чтения и записи. Это происходит в процессе проектирования, когда среда C++ Builder запускает в нужный момент эти методы, и в процессе выполнения приложения, поскольку компилятор C++ Builder незримо для разработчика вставляет в нужных местах программы вызовы этих методов. Средой взаимодействия объектов являются сообщения, генерируемые в результате различных событий. События наступают, прежде всего, вследствие действий пользователя – перемещения курсора мыши, нажатия кнопок мыши или клавиш клавиатуры. В конкретных экземплярах объекта могут быть определены обработчики каких-то из этих событий, которые и определяют реакцию данного экземпляра объекта. Таким образом, объект можно определить как совокупность свойств и методов, а также событий, на которые он может реагировать.[1]

  1. Основы визуального программного интерфейса

Одним из революционных шагов в программировании явилось появление визуального программирования, возникшего в Visual Basic и нашедшего блестящее воплощение в системах C++ Builder и Delphi фирмы Borland. Это явилось решающим шагом в развитии так называемой CASE-технологии (Computer Aided Software Engineering – автоматизированное проектирование программного обеспечения).

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

В современном C++ Builder это выглядит в виде работы в Интегрированной Среде Разработки (ИСР или Integrated development environment – IDE). Среда представлена формами, на которых размещаются компоненты. На форму с помощью мыши переносятся и размещаются пиктограммы компонентов, имеющихся в библиотеке C++ Builder. С помощью простых манипуляций можно изменить размеры и расположение этих компонентов. Во время проектирования формы и размещения на ней компонентов C++ Builder автоматически формирует коды программы, включая в нее соответствующие фрагменты, описывающие данный компонент. При этом пользователь может изменить заданные по умолчанию значения каких-то свойств этих компонентов и, при необходимости, написать обработчики каких-то событий.

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

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

Типы объектов и, в частности, компонентов библиотек C++ Builder оформляются в виде классов. Классы – это типы, определяемые пользователем. В классах описываются свойства объекта, его методы и события, на которые он может реагировать. Язык программирования С++ предусматривает только инструментарий создания классов. Сами классы создаются разработчиками программного обеспечения.

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

В целом C++ Builder – великолепный инструмент как для начинающих программистов, так и для ассов программирования.[1]

  1. Разработка приложения

Описание и обоснование выбора библиотеки VCL

Для выполнения проекта была выбрана библиотека визуальных компонентов - VCL(Visual Component Library).

Библиотека VCL была написана на языке Object Pascal и предназначалась для Delphi. При создании C++ Builder не было никаких причин начинать всё с нуля, поэтому разработчики фирмы Borland взяли существующую библиотеку и адаптировали её к новой среде. Дополнительный выигрыш состоял в том, что пользователи Delphi могли легко перейти к C++ Builder, и наоборот. Из-за использования одной и той же VCL не нужно изучать новую библиотеку, работая внутри семейства Delphi/ C++ Builder.

C++Builder 6 также позволяет строить кросс-платформенные приложения, которые можно компилировать как в среде Windows, так и в среде Linux. Для реализации такой возможности в C++Builder 6 имеется кросс-платформенная библиотека компонентов CLX. Классы этой библиотеки подобны классам традиционной для C++Builder библиотеки VCL, но могут работать на платформах и Windows, и Linux. Правда, пока CLX намного беднее, чем VCL. Частично это связано с тем, что многие специфические аспекты Windows отсутствуют в Linux. Впрочем, в CLX уже появились компоненты, отсутствующие в VCL.

В библиотеке VCL C++ Builder 6.0, в палитре компонентов, появилось 11 новых страниц: dbExpress, DataSnap, BDE, WebServices, WebSnap, COM+, Servers (новая страница, а прежняя переименована в Office2k), IndyClients, IndyServers, IndyMisk и изменено немало прежних страниц. Появилась возможность быстрого переключения на нужную страницу с помощью раздела Tabs контекстного меню палитры компонентов.

Следовательно, т.к. в данном курсовом проекте разрабатывается приложение для операционной системы Windows, нужно выбирать библиотеку VCL, а не CLX

    1. Компоненты, используемые в программе

В разрабатываемом приложении используются следующие компоненты: Label, RichEdit, ToolBar, MainMenu, Button, ImageList,Edit,RadioButton,RadioGroup,ListBox,StatusBar,Timer,PopupMenu.

  • Компонент Edit предназначен для ввода текста. Расположен он на вкладке Standard Палитры компонентов. Основное его свойство - это Text. Оно позволяет читать и записывать некоторый текст в Edit.

  • RadioButton. Свойство Caption содержит надпись, появляющуюся около кнопки. Поскольку в начале выполнения приложения обычно надо, чтобы одна из кнопок группы была выбрана по умолчанию, ее свойство Checked надо установить в true в процессе проектирования.

  • Компонент StatusBar представляет собой ряд панелей, отображающих полосу состояния в стиле Windows. Свойство SimplePanel определяет, включает ли полоса состояния одну или множество панелей. Если SimplePanel = true, то вся полоса состояния представляет собой единственную панель, текст которой задается свойством SimpleText. Если же SimplePanel = false, то полоса состояния является набором панелей, задаваемых свойством Panels.

  • RadioGroup-это несколько RadioButton,сгруппированных на одной панели.Имеется свойство ItemIndex,которое указывает на выбранную кнопку.Свойство Checked задает,выбрана кнопка или нет.

  • Для отображения различных надписей на форме используются в основном компонент Label. Тексты определяются значением свойства Caption. Его можно устанавливать в процессе проектирования или задавать и изменять программно во время выполнения приложения. Цвет фона определяется свойством Color, а цвет надписи — подсвойством Color свойства Font.

  • Компонент RichEdit является окном редактирования многострочного текста. В нем предусмотрены типичные комбинации «горячих» клавиш: Ctrl-C — копирование выделенного текста в буфер обмена "Clipboard" (команда "Copy"), Ctrl-X — вырезание выделенного текста в буфер "Clipboard" (команда "Cut"), Ctrl-V — вставка текста из буфера "Clipboard" в позицию курсора (команда "Paste"), Ctrl-Z — отмена последней команды редактирования

  • Компонент MainMenu расположен на вкладке Standard Палитры компонентов. Обычно на форму помещается один компонент MainMenu. В этом случае его имя автоматически заносится в свойство формы Menu. Но можно поместить на форму и несколько компонентов MainMenu с разными наборами разделов, соответствующими различным режимам работы приложения. В этом случае во время проектирования свойству Menu формы присваивается ссылка на один из этих компонентов. А в процессе выполнения в нужные моменты это свойство можно изменять, меняя соответственно состав главного меню приложения. Основное свойство компонента — Items. Его заполнение производится с помощью Конструктора Меню, вызываемого двойным щелчком на компоненте MainMenu или нажатием кнопки с многоточием рядом со свойством Items в окне Инспектора Объектов. Свойство Caption обозначает надпись раздела. Свойство Name задает имя объекта, соответствующего разделу меню. Свойство Shortcut определяет клавиши быстрого доступа к разделу меню — «горячие» клавиши, с помощью которых пользователь, даже не заходя в меню, может в любой момент вызвать выполнение процедуры, связанной с данным разделом. Чтобы определить клавиши быстрого доступа, надо открыть выпадающий список свойства Shortcut в окне Инспектора Объектов и выбрать из него нужную комбинацию клавиш.

  • Button служит для создания на форме приложения кнопки.Надпись на кнопке задается свойством Caption.

  • Компонент ТооlBar используются для построения инструментальной панели.Если вы поместите компонент ТооlBar на форму, то по умолчанию он расположится вверху, поскольку его свойство Align по умолчанию равно аlTор. Если вы хотите, чтобы панель располагалась иначе, установите Align = alNone, после чего можете придать панели любую форму и расположить ее в любом месте. Занесение компонентов на панель ТооlBar можно, в принципе, осуществлять обычным способом — переносом их из палитры компонентов. Но для занесения кнопок имеется и более простой вариант. Щелкните на ТооlBar правой кнопкой мыши и выберите из всплывшего меню команду New Button. На форме появится очередная кнопка — объект типа TToolButton. Это не совсем обычная кнопка, так как в дальнейшем вы увидите, что внешне она может не походить на кнопку. Ее вид и поведение определяется ее свойством Style, которое по умолчанию равно tbsButton — кнопка. Изображение на кнопке определяется не свойством Glyph. Оно определяет индекс изображения, хранящегося во внешнем компоненте ImageList. Разделитель можно ввести и из контекстного меню ТооlBar, выбрав команду New Separator.

  • Timer - используется для запуск процедур с указным интервалом времени. Невизуальный компонент, который может размещаться в любом месте формы. Имеет два свойства, позволяющих им управлять: Interval - интервал времени в миллисекундах и Enabled -доступность. Компонент расположен на вкладке System.

  • Контекстному меню соответствует компонент PopupMenu. Формирование контекстного всплывающего меню производится с помощью Конструктора Меню, вызываемого двойным щелчком на PopupMenu.

  • Компонент ListBox отображает списки строк и позволяют пользователю выбрать в них нужную строку. Основное свойство компонента, содержащее список строк, — Items, имеющее рассмотренный ранее тип TStrings. Заполнить его во время проектирования можно, нажав кнопку с многоточием около этого свойства в окне Инспектора Объектов. Во время выполнения работать с этим свойством можно, пользуясь свойствами и методами класса TStrings— Clear, Add и другими. Этот же класс позволяет поставить в соответствие каждой строке некоторый объект. Тогда выбор пользователем строки в списке можно программно соотносить с этим объектом.

  • Компонент ImageList представляет собой набор изображений одинаковых размеров, на которые можно ссылаться по индексам, начинающимся с 0. Во многих компонентах— меню, списках и др. встречались свойства, представляющие собой ссылки на компонент ImageList. Этот компонент позволяет организовать эффективное и экономное управления множеством пиктограмм и битовых матриц. Он может включать в себя монохромные битовые матрицы, содержащие маски для отображения прозрачности рисуемых изображений.

    1. Дерево форм приложения.

Рассмотрим структуру электронного пособия по информатике, которая представлена на рисунке 1.

Form1

Form2 (созд.раздела)

Form3 (ввод пароля)

Form4 (печать)

AboutBox (об авторе)

Рисунок 1 – Дерево форм приложения

Form1 – главная форма приложения (рисунок 2).

Рисунок 2 – Главная форма приложения

Главная форма выполняет функции электронного пособия по информатике:

  • содержит курс лекций и лабораторных работ;

  • позволяет их редактировать;

  • сохранение изменений;

Рисунок 3 – Form 2

Form 2 выполняет функции электронного пособия по информатике:

  • создание лекций и лабораторных работ;

Form2– форма, подчиненная главной, которая появляется при нажатии кнопки «Новый раздел» или «Редактирование» и «Новый раздел» в меню в верхней части окна на главной формы.

Рисунок 4 – Form 3

Form 3 выполняет функции электронного пособия по информатике:

  • ввод пароля для доступа в режим редактирования;

Form3– форма, подчиненная главной, которая появляется при нажатии кнопки «Режим редактирования» или «Режимы» и «Режим редактирования» в меню в верхней части окна на главной формы.

Рисунок 5 – Form 4

Form 4 выполняет функции электронного пособия по информатике:

  • печать отдельных разделов пособия;

Form4– форма, подчиненная главной, которая появляется при нажатии кнопки «печать» или «Редактирование» и «печать» в меню в верхней части окна на главной формы.

Рисунок 6 – About

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

    1. Создание электронного пособия по информатике.

Прежде всего, требуется создать новый проект в C++Builder 6.0, основанный на пустой форме, сохранить его в отдельной папке. Далее на форме размещаем ListBox1.

Размещаем на форме RichEdit1. Свойству Align у компонента RichEdit1- alLeft, а свойству Lines- пустые строки.Для возможности редактирования, печати,удаления,создания новой лекции и выбора типа справочных материалов на форме располагаем компоненты Button1, Button2, Button3, Button4,RadioButton1, RadioButton2,RadioGroup1

Далее создается меню для редактора. Для этой цели помещается на главную форму приложения компонент TMainMenu со страницы Standard. Нажимается правая клавиша мыши и из контекстного меню выберается пункт Menu Designer. Перемещаясь с помощью стрелок клавиатуры, создаются новые компоненты - пункты меню верхнего и последующего уровней, вводя текстовые строки в колонку значений напротив свойства Caption.(рисунок 7)

Рисунок 7 – Вид главного меню

Далее всплывающее меню. Для этой цели помещается на главную форму приложения компонент TPopupMenu со страницы Standard. Нажимается правая клавиша мыши и из контекстного меню выберается пункт Menu Designer. Перемещаясь с помощью стрелок клавиатуры, создаются новые компоненты - пункты меню верхнего и последующего уровней, вводя текстовые строки в колонку значений напротив свойства Caption.(рисунок 8)

Рисунок 8 – Вид всплывающего меню

Далее на форме размещается компонент TToolBar - будущую инструментальную панель редактора. Свойству Align полученного компонента ToolBar по умолчанию присвоено значение alTop. Для создания кнопок нажимаем правую кнопку мыши над компонентом и выбираем пункт New Button.

Размещается на форме компонент StatusBar со страницы Win32. Редактируется его свойство Panels (это свойство представляет собой набор компонентов-панелей, на которых выводится необходимая пользователю информация). Создаются панели, на которых будет показано текущее время и дата.