Смекни!
smekni.com

Обучающая программа-переводчик текста (стр. 2 из 2)

{ Result->Caption="That's right!! =) " + Wordz.GetWord(k).One;//правильно!

// выбор соответствующе картинки }

else {//если перевод введённого слова не совпадает

Result->Caption="That's wrong! =( "+Wordz.GetWord(k).One;//неправильно!

// выбор соответствующе картинки


8 Сценарий работы проекта

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

После ввода текста в верхнее текстовое поле, нажав кнопку Translate или Enter, получаем пословный перевод вида ВВЕДЁННОЕ_СЛОВО : перевод.

Изменение направления перевода – с помощью списка на главной форме.

Пользователю доступны все разделы меню, поэтому можно открыть текстовый файл изменить содержимое текста, а потом сохранить или распечатать полученный пословный перевод. Некоторые разделы меню (например, Правка) представлены в виде панелей инструментов, которые можно отобразить или скрыть.

Приступить к работе с Tutor можно, нажав кнопку Tutor главного окна программы, закончить работу – нажав BacktoTranslator или красный крест.

По нажатию Contents раздела меню Help или клавиши Ctrl+F1 можно ознакомиться со справкой по программе.

Основными правилами, предъявляемыми для пользователя, являются:

· Не удалять и не перемещать файлы, поставляемые с программой (любые файлы программы после распаковки архива являются неприкосновенными и не подлежат коррекции);

· Не пытаться использовать EasyTranslator в не предназначенных и не рассчитанных для него целях;

· Относиться с уважением к работе автора программы


9 Реализация сценария

Верхнее текстовое поле главной формы предназначено для ввода переводимого текста, нижнее поле – для полученного перевода (поле перевода не подлежит правке – для этого при создании формы установлен параметр полей ReadOnly=True. Также устанавливается внешний вид полей, и загружается первоначальная база слов). Для получения перевода достаточно нажать большую и заметную кнопку Translate! в окне или Enter на клавиатуре (обрабатывается нажатие кнопки или анализируется нажатая кнопка клавиатуры при фокусе в поле ввода).

Рисунок 2 – Главное окно переводчика

Пользователь может изменять направление перевода (с русского на английский или с английского на русский) с помощью списка Directionoftranslation. При этом ранее переведённые слова (если они были противоположной направленности) теряют перевод. Реализовано с помощью методов класса TWords – содержание вектора меняется в соответствии с заданным направлением перевода:

Рисунок 3 – Главное окно переводчика. Направление перевода

Программа была рассчитана на пользователя с хотя бы минимальными знаниями английского языка, поэтому практически весь интерфейс (названия кнопок, пунктов меню) реализован на английском. Однако для пользователей, совсем не знающих этого языка, предусмотрены подсказки на русском, они становятся видны при наведении курсора мыши на интересующую часть окна (надписи обеспечены свойством Hint, видимость надписей – свойством ShowHint=True).

В программе предусмотрено стандартное меню, оснащённое горячими клавишами, что позволяет пользователю открывать текстовые файлы для перевода, сохранять и распечатывать перевод, а также редактировать текущий текст для перевода. Меню реализовано с помощью компонента ActionManager, с помощью которого легко создаются и реализуются разделы меню (по необходимости снабжённые горячими клавишами и встроенными диалогами), к которым могут быть привязаны иконки действий по индексу компонента Images (ImageList). Пользователь может менять внешний вид приложения, например, изменять размер шрифта. Также возможно скрывать или отображать панели инструментов (которые были созданы также с помощью ActionManager) – с помощью контекстного меню (компонент PopupTools – PopupMenu, реализация действий взята из ActionManager):

Рисунок 4 – Изменение состояния панелей инструментов с помощью контекстного меню

или с помощью главного меню:

Рисунок 5 – Изменение состояния панелей инструментов с помощью главного меню

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

Для перехода к Tutor необходимо нажать кнопку Tutor главного окна. Для этого было необходимо включить заголовочный файл TTutor.h в файл описания главного окна, после чего возможно спрятать главное окно и показать окно Tutor. При каждом обращении к этому окну случайным образом генерируется новое задание:

Рисунок 6 – Окно Tutor

Tutor предлагает ознакомится с сочетанием слов, данным в верхнем текстовом поле, и предложить свой вариант их перевода, записав его в нижнее поле, и затем нажав кнопку Check! Программа сравнивает перевод введённого слова с данными в верхнем поле словосочетаниями. Код обработки нажатия этой кнопки можно посмотреть в разделе 7 настоящей записки.

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

Рисунок 7 – Окно Tutor. Слово переведено верно

Если пользователь ошибся, он сразу же об этом узнает по соответствующей надписи и картинке:

Рисунок 8 – Окно Tutor. Слово переведено неверно

Для возврата в EasyTranslator достаточно нажать кнопку Back… или кнопку закрытия окна.

Также проект содержит небольшую, но информативную справку по программе, которую можно вызвать из раздела меню Help – Contents или нажав Ctrl+F1. Для раздела справки предназначена специальная форма ETHlp:

Рисунок 9 – Окно помощи

Также пользователю доступна информация о программе и составителе (Help – About…):

Рисунок 10 – Окно О программе

Некоторые особенности программы:

· Отключается возможность запускать несколько копий программы. При попытке запустить более одной версии выдаётся сообщение о невозможности выполнения операции;

· Из всех заголовков окон проекта была убрана кнопка Maximize, для запрещения изменения размеров с целью сохранения задуманных при дизайне пропорций;

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

· На данный момент программа имеет довольно узкие возможности перевода (около 15 слов в каждом направлении, список слов прилагается в текстовом файле), так как добавление слов в базу данных – процесс очень трудоёмкий и занимает сравнительно много времени


10 Документация проекта

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

Для установки программы требуется самораспаковывающийся архив EasyTranslator.exe (никаких дополнительных программ для распаковки не требуется).

Требования для установки и работы с программой:

· Наличие настольного компьютера, ноутбука или КПК

· Версия Windows не ниже 95

· Нежелание перемещать и/или удалять файлы, образующиеся после установки программы


11 Заключение

Данный проект полностью реализует возможности использования средств объектно-ориентированного программирования на примере создания программного продукта – переводчика, а также иллюстрирует возможности использования среды разработки – BorlandC++ Builder 6.

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


12 Источники информации

1. Г. Шилдт «Самоучитель С++, 3е издание», Издательство «БХВ-Петербург» 2006

2. А.Я. Архангельский «C++ Builder 6, Справочное пособие, Книга 2 – Классы и компоненты», Издательство «Бином» 2002

3. Учащиеся групп Эиу-264 и Эиу-263 ЮУрГУ

4. Лекции по курсу «Высокоуровневые методы информатики и программирования»


Оглавление

1 Введение......................................................................................................... 1

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

3 Структура программы................................................................................... 3

4 Спецификация................................................................................................. 4

5 Структурная схема отношений в спецификации классов............................. 6

6 Реализация...................................................................................................... 7

7 Алгоритмы реализации................................................................................. 8

8 Сценарий работы проекта........................................................................... 10

9 Реализация сценария.................................................................................... 11

10 Документация проекта............................................................................... 17

11 Заключение................................................................................................. 18

12 Источники информации............................................................................. 19

Оглавление...................................................................................................... 20