YandexSpeller



Есть разные люди, грамотные и безграмотные. Есть безграмотные по разным причинам: от склада ума от собственной лени и т.д.
Мне вот, например, в школе на 5 давались все естественные науки, а вот по русскому, немецкому и английскому было 2. Такая же история потом была в универе, а потом и в аспирантуре. Ну и вот, имея 2 высших образования (физик и программист), я все тот же двоечник. А так как работаю на ПК, это все усугубляется в разы. Вот, собственно, в голове и возникла идея написания данного приложения.

Данное приложение делает http запрос на http://api.yandex.ru/speller/ и пытается проверить ошибки в тексте.

Да, я видел в интернете компоненту, написанную на скриптах под платформу 8.1.  но она достаточно специфична, мне хотелось написать что-нибудь попроще. 

 

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

Пример строки из 1с 8 

Процедура ПроверкаОрфографии(СтрокаД)
Путьspeller = КаталогВременныхФайлов() + «YandexSpeller.V2.exe»;
ФайлПроверка = Новый Файл(Путьspeller);
Если НЕ ФайлПроверка.Существует() Тогда
ФайлДвоичныеДанные = ПолучитьОбщийМакет(«speller»);
ФайлДвоичныеДанные.Записать(Путьspeller);
КонецЕсли;

команда = Путьspeller + » » + СокрЛП(СтрокаД);
ЗапуститьПриложение(команда,,Истина);
КонецПроцедуры

&НаКлиенте
Процедура ABC(Команда)
Если ЗначениеЗаполнено(Объект[ЭтаФорма.ТекущийЭлемент.Имя]) Тогда
ПроверкаОрфографии(СокрЛП(Строка(Объект[ЭтаФорма.ТекущийЭлемент.Имя])));
КонецЕсли;
КонецПроцедуры

 

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

9 Comments

  1. seermak

    Зачем же делать компоненту — есть же «разработчикам — встроить функцию проверки правописания в свое приложение с помощью API Яндекс.Спеллера (JavaScript или HTTP)» = http://api.yandex.ru/speller/doc/dg/concepts/api-overview.xml = и делай спокойно через WebСервис (кстати получится неплохой пример использования Веб сервиса в 1С))))))

    Reply
  2. micha-r

    Так если рассуждать, вообще тогда делать не чего не надо, все уже есть в готовом виде и все уже придумано до нас. В массе своей процентов 80% пользователей вообще не программисты, они просто берут или готовое на этом сайте или че нить типовое юзают. Я столкнулся с тем что этим пользователям не очень просто встроить JavaScript в 1с или куда нить еще. Вот собственно для них и рассчитано данные приложения. Наверное гораздо проще будет в любой 1с запустить команду ЗапуститьПриложение(<СтрокаКоманды>, <ТекущийКаталог>, <ДождатьсяЗавершения>, <КодВозврата>) и получить какой то результат, не извращаясь с написанием скриптов и т.д.

    Конечно было бы не плохо чтоб данный инструмент вернул что то в 1с, я вот с этим разбираюсь.

    Reply
  3. seermak

    (2) Вы непоняли = сайт http://api.yandex.ru/speller/ предоставляет свой веб-сервис по адресу http://api.yandex.ru/speller/doc/dg/concepts/api-overview.xml = далее работа исключительно средствами 1С (Конфигуратор=Общие=Web-Сервисы)

    Reply
  4. micha-r

    Да есть такое, но как это прописать «пользователю»?

    1) Нужно добавить Конфигуратор=Общие=Web-Сервисы=YandexSpeller

    2) Прописать запрос, обработать результат. В 1с не я вот так вот не на шел как по нормальному отработать гипертекст.

    3) Совместить все это с текущим интерфейсом.

    И я хочу сказать очень много народу из программистов 1с которые вообще не знают что такое Конфигуратор=Общие=Web-Сервисы и как с этим жить. Спасибо конечно за подсказку я сам не знал, попробую сейчас реализовать.

    Не знаю может Вы меня не понимаете, я считаю что программисту в первую очередь нужно делать инструмент, который поможет уменьшить телодвижение другому «программисту».

    Reply
  5. DitriX

    (1) вы наверное ошиблись — веб сервисы — это СЕРВЕР 🙂

    А Вам нужен клиент, т.е. веб ссылки. А при работе с веб сервисом яндекса — я понял, что с 1С он нифига нормально работать не хочет.

    А вот хттп запросы — это другое дело:)

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

    Reply
  6. WizaXxX

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

    http://infostart.ru/public/203603/

    Reply
  7. micha-r

    Спасибо!

    Но Сможете ли Вы подчеркнуть ошибку определенным цветом? Сможете ли вы вывести подсказку с выбором нужного варианта в гипертексте? Я думаю 1с нормально это не позволяет. Разве что поля делать вида hml документ и на чистом hml кодить.

    Reply
  8. seermak
    Reply
  9. apostal86

    Отличная доработка, включу в свою базу по учету работ +

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *