Реализация текстового редактора, читающего форматы doc и rtf

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

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 04.05.2014
Размер файла 1,6 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

СОДЕРЖАНИЕ

текстовый редактор приложение проектирование

Техническое задание

Введение

1. Теоретические сведения

2. Обзор сущестующих аналогов

3. Постановка задачи

4. Проектирование

5. Интерфейс пользователя

Заключение

Приложение А

Приложение Б

Приложение В

Список использованных материалов

ВВЕДЕНИЕ

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

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

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

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

Основные функции.

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

1. Набирать текст с клавиатуры.

2. Исправлять символы, вставлять новый символ на место ошибочного.

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

4. Копировать фрагмент текста, используя определённую часть памяти - так называемый «буфер» (или «карман», как говорят программисты) для временного хранения копируемых фрагментов текста.

5. Удалять одну или несколько строк, копировать и перемещать их в другое место текста.

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

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

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

9. Форматировать текста (т.е. изменять длину строки, межстрочные расстояния, выравнивать текст по краю или середине строки и т.д.).

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

11. Распечатывать подготовленный текст на принтере [2].

1. ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ

Началом эпохи текстовых редакторов можно считать 1975 год, когда кинорежиссер из Нью-Йорка Майкл Шрейер (MichaelShrayer), отправившийся в Калифорнию в поисках удачи, стал одним из обладателей набора для конструирования компьютера «Альтаир». Вскоре он усовершенствовал свою машину, подключив к ней клавиатуру и телевизор, выполнявший роль дисплея, и стал продавать небольшие программы. По мере того как программы становились все более сложными, усложнялись и руководства по их использованию.

И однажды Шрейера осенило, что было бы гораздо удобнее подготавливать эти руководства с помощью «Альтаира», а не печать на машинке. Позднее, мотивируя свое решение, Шрейер говорил: «Делать веши более простыми для меня всегда было своего рода игрой». Он трудился над своей программой по 16-20 часов в сутки на протяжении года. Закончив работу, он пустил программу в продажу под названием «Электрический карандаш» (ElectricPencil).

Вскоре Шрейер понял, что его потенциальный рынок не ограничивается лишь кругом владельцев «Альтаира», и написал варианты «Электрического карандаша» для других микрокомпьютеров и целого ряда принтеров. В общей сложности он создал 78 вариантов своей программы. Продажу ее Шрейер осуществлял главным образом по почте, так как в то время было менее 500 магазинов по продаже программного обеспечения. Для человека, который по натуре своей был программистом, а не бизнесменом, такая ноша оказалась слишком обременительной. Со временем Шрейер потерял всякий интерес к бизнесу, перестал распространять свой ElectricPencil и полностью посвятил себя программированию.

В первые два года после появления на свет ElectricPencil был фактически единственным текстовым процессором, доступным массовому потребителю. Однако по мере расширения рынка персональных компьютеров и роста его прибыльности другие предприниматели последовали примеру Шрейера [3].

В настоящее время существует множество самых разнообразных текстовых редакторов. Все они делятся на три вида: построчный (строковый), контекстный (строковый) и экранный.Построчный (строковый) текстовый редактор (англ. lineeditor) работает с текстом как с последовательностью пронумерованных строк, выполняя операции над текстом в указанных строках. Примером такого редактора может быть edlin, входивший в состав MS-DOS. Контекстный (строковый) редактор (англ. contexteditor), примером которого может быть ECCE (англ. EdinburghCompatibleContextEditor), выполняет операции над текстом в текущей позиции.

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

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

В текстовом формате файлы создаёт, в частности, редактор Блокнот, входящий в стандартную комплектацию ОС Windows. Такой простой текстовый формат весьма компактен (поскольку не содержит ничего, кроме собственно текста), но имеет ряд недостатков, ограничивающих его использование. Самый серьёзный из них - невозможность передать форматирование текста (кроме примитивного деления на абзацы), в первую очередь размеры и характер шрифтов. Кроме того, текстовый формат традиционно использует байтовые таблицы символов, отчего не может поддерживать многоязычные документы (хотя современные текстовые редакторы -тот же Блокнот Windows - поддерживают работу с текстами в кодировке Unicode). Текст, набранный на компьютере с поддержкой французского языка, в русскоязычной системе будет выглядеть как абракадабра - бессмысленная смесь русских букв со специальными знаками. Чтобы преодолеть подобные недостатки, были придуманы различные форматы текстовых файлов, позволяющие хранить сведения о форматировании, об использованных шрифтах, о таблицах, вставленных иллюстрациях и прочих атрибутах : оформленного текстового документа прямо в составе файла. Разумеется, такие файлы получаются более объёмными, чем простые текстовые, но зато есть гарантия, что с таким трудом отформатированный документ на любом другом компьютере отобразится так же, как и у автора. Форматы эти делятся на несколько групп в зависимости от области применения и происхождения. Они бывают закрытыми и открытыми. Для закрытых форматов (их называют проприетарными) характерно отсутствие каких-либо официальных стандартов и всем доступных спецификаций, они развиваются конкретной компанией и потому не всегда совместимы с программами от других производителей. Самый популярный из них - формат редактора MS Word (с расширением имени файла DOC), который повсеместно принят в качестве фактического стандарта офисных документов. Из открытых форматов наиболее известен RTF (RichTextFormat - «богатый формат текста»). RTF - чисто текстовый формат, похожий на DOC и сохраняющий почти все его особенности, только ещё менее компактный. В отличие от DOC в RTF не могут распространяться компьютерные вирусы, потому при рассылке документов по электронной почте предпочтительно использовать именно его. Наиболее универсальным средством представления документов сейчас считается формат XML (extensibleMarkupLanguage - «расширяемый язык разметки»), однако это не единый формат наподобие DOC или RTF, а скорее основа для создания различных форматов для конкретных целей (например, на XML основан новый открытый формат документов для MS Office, который в начале 2008 г. принят в качестве международного стандарта). Перечисленные форматы отличаются тем, что хранят всё в одном файле - и картинки, и текст, и его форматирование. Это удобно при переносе файлов с компьютера на компьютер, но не очень подходит для других целей - например, при публикации в Интернете часто нужно изменить только часть документа, не затрагивая его форматирование в целом. Специально для Интернета был разработан другой способ представления форматированных документов, известный под названием HTML (HyperTextMarkupLanguage - «язык разметки гипертекста»). Отметим, что вариант HTML под названием XHTML доводит идею разделения функций до предела: в странице документа содержится лишь текст с указателями на специальные таблицы стилей, где отдельно сохраняется его форматирование (причём, вероятно, сразу для многих страниц).

2. ОБЗОР СУЩЕСТУЮЩИХ АНАЛОГОВ

Notepad++

Рисунок 1 - интерфейс текстового редактора Notepad++

Плюсы:

- Бесплатная программа

- Подсветка синтаксиса языков программирования

- Возможность параллельного редактирования нескольких документов на соседних закладках

- Имеется встроенная возможность записи и выполнения макросов

Минусы:

- Нет наглядного отображения страницы

Блокнот

Рисунок 2 - интерфейс Блокнота

Плюсы:

- Лёгок в запуске приложений

- Прост в использовании

- Распространяется бесплатно

Минусы:

- Нет подсветки

- Нет наглядного отображения страницы

Microsoft Word

Рисунок 3 - интерфейс Microsoft Word

Плюсы:

- Работа с изображениями

- Простота работы

- Создание и отображение страниц

Минусы:

- Полная версия платная

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

WordPad

Рисунок 4 - интерфейс Microsoft Word

Плюсы:

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

- Широкие возможности по форматированию абзацев, гибкость в выборе шрифтов

Минусы:

- Отсутствует контроль правописания

3. ПОСТАНОВКА ЗАДАЧИ

Требуется разработать текстовый редактор, читающий форматы doc и rtf .

Со стороны разработчика ПО

1. Возможность разработки и сборки ПО для разрабатываемой ОС при помощи интегрированной среды разработки модульных кроссплатформенных приложений, использующей инструментальный комплект разработки в среде Java - JavaSEDevelopmentKit(JDK).

2. Возможность запуска скомпилированного ПО на разрабатываемой ОС.

Со стороны пользователя

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

Функции текстового редактора

Возможность чтения и сохранения тестовых документов форматов rtfи doc.

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

Поддержка оборудования

Поддержка ввода символов с клавиатуры.

Поддержка вывода текстовой информации на монитор.

Комплект поставки

Для запуска текстового редактора достаточно запустить jar-файл из командной строки при помощи команды:

java -classpathpathToFile\Notepad_Lyanova.jar main.MainFrame, где pathToFile - путь к jar-файлу.

4. ПРОЕКТИРОВАНИЕ

4.1 Этапы создания приложения

Подготовительный этап

На данном этапе был разработан план работы над проектом. Также были определены сроки выполнения каждого этапа и техническое задание к проекту.В итоге был сделан выбор среды разработки - IDEEclipse.После этого был осуществлен переход к следующему этапу.

Проектирование

На следующем этапе была разработаныUML-диаграммы (Приложение А). Согласно им программа были разбита на логические части.

Написание исходного кода

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

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

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

4.2 Реализация основных особенностей программы

Рассматриваемый нами текстовый редактор написан на языке Javaс использованием технологии Swing для создания графического интерфейса. Для работы с документами формата docмы воспользовались библиотекой ApachePOI - интерфейсом прикладного программирования для работы с документами Microsoft.Для работы с rtf-документами использовалась библиотека RTFEditirKit (внутренняя библиотека Java).

Само приложение состоит из одного главного окна(JFrame), которое содержит меню с тремя пунктами меню(File, Edit, Help). Пункт меню Fileимеет несколько стандартных подпунктов меню - для создания, открытия и сохранения файлов, а также для завершения работы приложения, пункт меню Editсодержит четыре простейшие команды для редактирования текста. С помощью этих команд можно копировать и вырезать фрагмент текста, используя определённую часть памяти - так называемый «буфер» для временного хранения копируемых фрагментов текста, вставлять текст из этого буфера, а также удалять фрагмент текста. Help, как и следует из названия, даёт вспомогательную информацию о нашем приложении. Для вывода текста и изображений из файла используется компонент JEditorPane.

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

5. ИНТЕРФЕЙС ПОЛЬЗОВАТЕЛЯ

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

Рисунок 5 -- вид приложения после запуска

Рисунок 6 -- вид окна в процессе работы приложения

Рисунок 7 - окно открытия файла

Рисунок 8 - чтение файла .doc с текстом и картинкой

Рисунок 9 - чтение файла .doc с текстом и картинкой

Рисунок 10 -редактирование файла

Рисунок 11 - открытие справки о программе

Рисунок 12 -информация о программе

ЗАКЛЮЧЕНИЕ

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

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

ПРИЛОЖЕНИЕ А

Диаграммы

Диаграмма классов файловой системы

Рисунок 13 - диаграмма классов файловой системы

Use-Case диаграмма

Диаграмма вариантов использования

Рисунок 14 - диаграмма вариантов использования

В данном варианте использования пользователь (User) пытается прочитать данные из файла (Рисунок 14)

Actors: User

Поток событий: Основной поток

Начало: Вариант использования начинается, когда пользователь нажимает кнопку Open (Рисунок 7).

Альтернативный поток 1: Отказ в открытии. Формат файла не соответствует rtfили doc.

ПРИЛОЖЕНИЕ В

Использованные сокращения

- ECCE- EdinburghCompatibleContextEditor

- ОС - операционнаясистема

- RTF - Rich Text Format

- XML - extensible Markup Language

- HTML -HyperText Markup Language

- JDK - Java Development Kit

- IDE - Integrated Development Environment

- UML - Unified Modeling Language

Размещено на Allbest.ru


Подобные документы

  • Использование текстового редактора MS Word для создания текстовых документов. Расчеты и анализ данных с помощью табличного процессора Excel. Алгоритмизация и программирование на Pascal. Проектирование реляционных баз данных с помощью СУБД Access.

    контрольная работа [571,7 K], добавлен 22.02.2012

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

    дипломная работа [2,8 M], добавлен 21.07.2013

  • Классификация программ обработки текстовых документов. Общие принципы оформления издания. Правила набора текста. Системы распознавания текста (OCR). Комплекс программного обеспечения для настольных издательских систем. Примеры текстовых редакторов.

    презентация [75,0 K], добавлен 13.08.2013

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

    курсовая работа [35,0 K], добавлен 25.04.2013

  • Уровневая архитектура компьютерных ресурсов CMS. Поток данных от детекторов для анализа. Сокращение размера событий: CMS форматы данных и форматы Тир-данных. Иерархия CMS данных. Средства удаленной работы на LINUX машинах в CERN: PUTTY, WinSCP и Xming.

    курсовая работа [3,1 M], добавлен 17.02.2014

  • Текстовый редактор - приложение для обработки текстовой информации. Описание текстовых процессоров как более совершенных текстовых редакторов. Типы текстовых файлов: форматированные, неформатированные. Основные правила редактирования и набора текста.

    презентация [747,3 K], добавлен 26.11.2010

  • Классификация и возможности текстовых редакторов. Среда текстового редактора Microsoft Word 2003. Процесс редактирования текста, его копирование и перемещение. Проверка орфографии и синтаксиса, автотекст и автозамена. Пример гипертекстового документа.

    курсовая работа [2,4 M], добавлен 25.04.2013

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

    методичка [788,7 K], добавлен 24.10.2012

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

    реферат [150,3 K], добавлен 24.12.2013

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

    реферат [175,6 K], добавлен 01.03.2009

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.