Перевод текста в другую раскладку клавиатуры

 

СОДЕРЖАНИЕ


Введение

. Обзор литературы

. Системное проектирование

. Функциональное проектирование

. Обзор проекта

Заключение

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



Введение


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

С самых ранних версий персональных компьютеров клавиатура занимает ведущее место среди устройств ввода данных. При вводе символов, пользователь используют одну из нескольких тысяч раскладок клавиатуры, хотя при наборе одного документа может возникать необходимость использовать и другие раскладки клавиатуры. Зачастую пользователь забывает переключить раскладку клавиатуры, или неправильно использует комбинацию переключения раскладки клавиатуры (к примеру, вместо комбинации ctrl+shift будут последовательно нажаты клавиши ctrl,shift). Не заметив этого момента, пользователь продолжит набирать текст, и вместо правильного «Hello, World!»получится «Руддщб Цщкдв!». Подобные ситуации распространены при работе с двумя и более приложениями (браузер и блокнот к примеру). Подобные казусы снижают скорость работы с текстом, а также раздражают пользователя, так как в большинстве случаев приходится перенабирать текст в нужной раскладке.

Мною была создана программа«Truekey» для исправления текста, написанного в раскладке, отличной от правильной. Она позволяет работать как в текстовых редакторах (блокнот, например), так и в адресной строке браузера. Программа работает в трех режимах: изменение всего текста в поле ввода, изменение выделенного текста и изменение текста в буфере обмена.


.Обзор литературы

API (англ. application programming interfaces) - общее наименование целого набора базовых функций интерфейсов программирования приложений операционных систем семейств Windows и Windows NT корпорации «Майкрософт». Является самым прямым способом взаимодействия приложений с Windows. Для создания программ, использующих Windows API, «Майкрософт» выпускает SDK, который называется Platform SDK и содержит документацию, набор библиотек, утилит и других инструментальных средств.API был изначально спроектирован для использования в программах, написанных на языке C (или C++). Работа через Windows API - это наиболее близкий к системе способ взаимодействия с ней из прикладных программ.[2] Так же иногда использование функции WinApiпозволяет значительно ускорить выполнение программ написанных на языках высокого уровня. Использование этих функции происходит с помощью подключения библиотеки kernel32.dll.

Функциональные возможности, предоставляемые Windows API могут быть сгруппированы в восемь категорий:

·Базовые услуги. Обеспечение доступа к основным ресурсам, имеющихся в системе Windows. Включены такие вещи, как файловые системы, устройства, процессы и события, и обработки ошибок. Эти функции находятся в KERNEL.EXE, krnl286.exe или KRNL386.EXE файлах на 16-битных Windows, и в kernel32.dll на 32-битных Windows.

·Дополнительные службы. Обеспечить доступ к дополнительную функционалу ядра. Включены такие вещи, как реестр Windows, выключение / перезапуск системы (или перезагрузка), запуск / остановка / создание службы Windows, управление учетными записями пользователей. Эти функции находятся в advapi32.dll на 32-битных Windows.

·Графический интерфейс устройства. Предоставляются функциональные возможности для вывода графического содержимого на мониторах, принтерах и других устройствах вывода. Находятся в GDI.EXE на 16-битных Windows, и gdi32.dll на 32-битных Windows в пользовательском режиме. В режиме ядра GDI поддержку оказывает win32k.sys, который общается непосредственно с графическими драйверами.

·Пользовательский интерфейс. Обеспечивает функциональность для создания и управления окнами Windows и основными элементами управления, такие как кнопки и полосы прокрутки, обработка мыши и клавиатуры, и другие функции, связанные с GUI частью Windows. Этот функциональный блок находится в USER.EXE на 16-битных Windows, и user32.dll на 32-битных Windows. С версии Windows XP, основные элементы управления находятся в comctl32.dll, вместе с общим управления (Common Control Library).Библиотека Common Dialog Box. Предоставляет применения стандартных диалоговых окон открытия и сохранения файлов, выбор цвет и шрифта, и т.д. Библиотека находится в файле под названием commdlg.dll на 16-битных Windows, и comdlg32.dll на 32-битных Windows. Это сгруппированы по категории Интерфейс Пользователя API.

·Общие библиотеки управления. Дает приложениям доступ к некоторым современные средства управления, предоставляемые операционной системой. Они включают такие вещи, как статус бары, индикаторы, панели инструментов и вкладки . Библиотека находится в DLL файл commctrl.dll на 16-битных Windows, и comctl32.dll на 32-битных Windows. Они сгруппированы в категории Интерфейс Пользователя API.Windows Shell. Компонент Windows API позволяет приложениям получать доступ к функциональным возможностям операционной оболочки системы, а также изменять и улучшать ее. Компонент находится в shell.dll на 16-битных Windows, и shell32.dll на 32-битных Windows. Shell Lightweight Utility Functions находятся в Shlwapi.dll. Они сгруппированы в категории Интерфейс Пользователя API.

·Сетевые службы. Предоставить доступ для различных возможности сети, в которой находится операционная система. Ее подкомпоненты включают NetBIOS, Winsock, NetDDE, RPC и многие другие.[3]

Наболее популярной программой с подобным функционалом является программа «Punto switcher». Она позволяет автоматически при наборе текста переключать неправильно набранные слова в другую раскладку. Однако большим недостатком является то, что эта программа отслеживает набранные символы и сверяет набранные комбинации со своим словарем, что, при недостаточном обучении, приводит к частому ошибочному переводу текста. Особенно это заметно при наборе узкоспециального текста. Моя программа управляется полностью пользователем, что позволяет контролировать переключение, используя горячие клавиши.

·

2.Системное проектирование


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


Необходимо разработать программу перевода текста в другую раскладку клавиатуры.

При создании модели должны быть учтены:

üвозможность дальнейшего создания новых функций;

üинтуитивно понятный интерфейс;

üсохранения параметров;

üминимизация главного окна программы при работе в текстовых редакторах;


2.2 Диаграмма классов


Рисунок 2.1 - Диаграмма классов


2.3 Разработка диаграммы вариантов использования


Диаграмма вариантов использования (см. рисунок 2.2) представляет собой возможные варианты использования программы перевода текста.


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

.Функциональное проектирование


В этом разделе будет рассмотрены наиболее важные классы проекта. Все классыотносятся, в соответствии с шаблоном, к одному из компонент «Модель-представление-поведение»

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


3.1 Класс CTransfApp


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


3.2 Класс CAboutDlg


Класс формы «О программе». Наследован от класса CDialog.


3.3 Класс CTransfDlg


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

Содержитметоды:

public virtual void DoDataExchange(CDataExchange* pDX) -

метод обмена данных с диалоговым окном.OnHotKey(WPARAM wParam, LPARAM lParam) - обработчик нажатия горячих клавиш.OnNotifyIcon(WPARAM wParam, LPARAM lParam)-обработчик развертывания из системного трея.OnPaint() - метод отрисовки.OnDo() - обработчик нажатия кнопки «RUN».OnButton1() - обработчик нажатия кнопки «О программе».

void OnDo2() - обработчикнажатиякнопки «RUN and Hide».

void OnDestroy() -обработчик деструктора.

void OnClose() - обработчик события закрытия.

void SetRu() - метод установки русской раскладки.

void Change(LPTSTR lpData) - функция перевода текста.

void Changeclip() - функция изменения текста в буфере обмена.

BOOL CALLBACK EXPORT EnumChildProc(HWND hwnd, LPARAM lParam)- функция обработки текста, в зависимости от режима работы.


4.Обзор проекта


.1 О программе


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


4.2 Главное окно


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


Рисунок 4.1 - Главное окно


4.3Окно «О программе»


Окно предоставляет информацию об авторе.


Рисунок 4.2 Форма «Опрограмме»


4.4Тестирование программы


Программа «TrueKey» была протестирована в 64-разряднойоперационнойсистемеWindows 7 наPCспроцессоромAMDAthlon 64X2 2.30 ГГциОЗУ4ГБ.

Разработано и скомпилировано в MicrosoftVisualStudio 2010Version10.0.30319.1 RTMRelRus. Версия Microsoft .NETFramework - 4.0.30319 RTMRel.

Ошибок в работе программы выявлено не было.


4.5Особенности работы программы


·Работает только в операционной системе Windows

·Сохраняет параметры в реестре

·В режиме изменения выделенного текста не изменяет содержимого буфера.


ЗАКЛЮЧЕНИЕ

программа раскладка клавиатура

В результате разработки проекта было реализовано приложение «Truekey» для трансформации текста в другую раскладку клавиатуры.

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

Понятный интерфейс позволяет за короткое время настроить и приступить к использованию программы.

Доступ к буферу осуществляется посредством функций WindowsAPI.


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


[1]Джеффри Рихтер, К. Назар, 2009.Windows via C/C++. Программирование на языке Visual C++ <http://oz.by/books/more1055672.html>.

[2]Библиотека MSDN (по-русски) [Электронный ресурс]. - Электронные данные. - Режим доступа: <http://msdn.microsoft.com/ru-ru/library/ms123401.aspx>.

[3]Работа с буфером обмена в ОС Windows [Электронный ресурс] - http://msdn.microsoft.com/ru-ru/library/c2thcsx4.aspx.

[4]WinAPI [Электронный ресурс]. - Электронные данные. - Режим доступа:<http://ru.wikipedia.org/wiki/WinAPI>.

[5]WindowsAPI [Электронный ресурс]. - Электронные данные. - Режим доступа:<http://en.wikipedia.org/wiki/Windows_API>.


СОДЕРЖАНИЕ Введение . Обзор литературы . Системное проектирование . Функциональное проектирование . Обзор проекта Заключение Список исп

Больше работ по теме:

КОНТАКТНЫЙ EMAIL: [email protected]

Скачать реферат © 2017 | Пользовательское соглашение

Скачать      Реферат

ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ