FoxBase!
msgbartop
Блог Oracle разработчика
msgbarbottom
foxbase

14.03.2010 Проверка орфографии в Delphi-MSSpeller

В приложениях, работающих с текстом, часто требуется проверка орфографии. Для этих целей существует множество систем проверки орфографии, платных и бесплатных компонентов для Delphi. Я хочу предложить вам простой и эффективный компонент для проверки орфографии MSSpeller, который использует словари Microsoft Word.
Компонент создавался исходя из следующих соображений:
  • Microsoft Word используется практически на каждом компьютере, система проверки орфографии от Microsoft стала стандартом де-факто, почему бы не использовать уже существующее решение в собственных приложениях? 
  • Проверка орфографии в приложениях наиболее эффективна "на лету" (Live Spelling), следовательно проверка орфографии должна осуществляться быстро.
  • При проверке орфографии должны использоваться словари Microsoft Word, которые соответствуют языку вашей системы, и, если она мультиязычная, должны использоваться словари всех установленных в системе языков. Для нас это русский и английский словари.  Приоритетный словарь должен соответствовать языку системы, в нашем случае русскому, затем должен использоваться английский и затем пользовательский словари.  
  • Все это должно работать на новых Unicode версиях Delphi 2009, 2010
Бесплатных компонентов, соответствующих этим требованиям мне найти не удалось, однако наиболее близкий по функционалу компонент для проверки орфографии это LS Speller от Luzius Schneider, который в свою очередь основан на разработке Alexander Obukhov. Этот компонент умеет работать с Microsoft Common Speller API (CSAPI) а также с системой ISpell. К сожалению, развитие компонента на момент написания этой статьи приостановлено, этот компонент хорошо работает с Delphi 7, а с Delphi 2009, 2010 не работает. Но для наших целей в этом компоненте интересна та часть кода, которая работает с CSAPI. Этот код и лег в основу MSSpeller, исходники которого можно скачать с этого сайта.
Более подробно об этом компоненте можно прочитать на постоянной странице MSSpeller на этом сайте.



Смотрите также:



Оставьте свой комментарий

Вы должны быть авторизированны, чтобы оставить комментарий.