gifts2017

[Проверка правописания] - ActiveX-компонента для 1С

Опубликовал Василий Демидов (Душелов) в раздел Программирование - Практика программирования

Компонента проверяет правописание текста.
  Основана на технологии OpenOffice MySpell.
  Не требует установленного офиса.
  В комплекте словари для 5 языков, включая русский (с "ё").

*** Для работы компоненты потребуется установленный Microsoft .NET Framework 2.0, который можно скачать отсюда.


Чтобы зарегистрировать компоненту в Windows - запустить reg.bat
(для удаления информации о компоненте в Windows - запустить unreg.bat)
Можно использовать совместно с хранилищем внешних компонент: http://infostart.ru/projects/2863/

*** Добавление на форму 1С:

v7: Использовать 1С++:

Перем Правописание;

Процедура ПослеОткрытия()
    Правописание = СоздатьОбъект("АктивИкс"); 
    Правописание.УстановитьАтрибут(Форма, "АктХ"); 
    //"АктХ" - идентификатор элемента диалога, на месте которого будет создан элемент ActiveX.
    //только для реквизитов диалога типа "Текст".
    Правописание.СоздатьЭУ("Душелов.SpellCheck1C"); 
    Правописание.УстановитьФокус();
КонецПроцедуры

v8: Меню "Форма" - "Вставить ActiveX..." - Выбрать элемент "Душелов.SpellCheck1C" или Новый COMObject("Душелов.SpellCheck1C");

*** Параметры:

  - Словарь //имя файла словаря
  - КаталогСловарей //каталог со словарями
  - ОповещениеПриОкончании //булево
  - ИгнорироватьВсеСловаВВерхнемРегистре //булево
  - ИгнорироватьHTML //булеов
  - ИгнорироватьСловаСЦифрами //булево
  - МаксимальноеЧислоВариантов //число
  - ПоказыватьДиалог //булево
  - РежимВариатов //0 - фонетика и совпадение, 1 - фонетика, 2 - совпадение
  - СловарьЗагружен //булево, только чтение
  - КоличествоСлов
  - Слова //массив слов

*** Методы:

  - ПроверитьТекст(Текст);
  - ЗагрузитьСловарь();
  - ПолучитьСлово(ИндексСлова); //возвращает слово из списка слов


*** События:

  - ПриУдаленииСлова(ИндексТекста, ИндексСлова, Слово);
  - ПриОкончанииТекста();
  - ПриЗаменеСлова(ИндексТекста, ИндексСлова, Слово, ЗаменяемоеСлово);
  - ПриЗакрытииДиалога();

Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
Русский
.1234190538 456,57Kb
15.10.09
344
.1234190538 456,57Kb 344 Бесплатно
Немецкий
.1234190550 697,15Kb
15.10.09
49
.1234190550 697,15Kb 49 Бесплатно
Английский
.1234190570 367,57Kb
15.10.09
83
.1234190570 367,57Kb 83 Бесплатно
Французский
.1234190591 315,21Kb
15.10.09
43
.1234190591 315,21Kb 43 Бесплатно
Итальянский
.1234190609 319,82Kb
15.10.09
41
.1234190609 319,82Kb 41 Бесплатно
Проверка правописания
.1234941252 38,00Kb
15.10.09
167
.1234941252 38,00Kb 167 Бесплатно

См. также

Вознаграждение за ответ
Сумма: 0 $m
Добавили:
Виктор Череватенко (buddha667) (0.03 $m)
Подписаться Добавить вознаграждение

Комментарии

1. Василий Демидов (Душелов) 09.02.09 17:38
Попросили - сделал.
Работает довольно шустро.
Ничего, кроме фреймворка не требует.
Для 7-ки демо-обработку напишу позже.
2. Василий Демидов (Душелов) 09.02.09 17:41
Забыл словари выложить :)
Сейчас добавлю.
3. Андрей Скляров (coder1cv8) 09.02.09 17:41
(1) тэкс... опять свои идеи узнаю... )
4. Sasha R. (sasha_r) 09.02.09 17:43
Действительно быстро! Спасибо! Ща буду качать/проверять ;)
5. Василий Демидов (Душелов) 09.02.09 17:44
Добавил основные словари.
Остальные выкладывать пока не вижу смысла.
Словарь можно выложить в папку с компонентой и не указывать путь.

(3) А где были идеи? Я не видел :)
6. Sasha R. (sasha_r) 09.02.09 17:46
(5) можно написать (тем, кому надо), откуда брать доп.словари ;)
7. Андрей Скляров (coder1cv8) 09.02.09 17:46
8. Василий Демидов (Душелов) 09.02.09 17:51
(6) С оппенофис.орг, только придется немного адаптировать под мой формат, я так русский словарь переделывал.
(7) Ну так там нужен установленный ворд :)
9. Sasha R. (sasha_r) 09.02.09 17:54
(8) а что пришлось переделывать в словаре?

(7) не, просьба была как раз отказаться от проприентарщины и тормознутости в виде ворда ;)
10. Епрст (Ёпрст) 09.02.09 17:55
Словарик можно пополнять/изменять?
11. Василий Демидов (Душелов) 09.02.09 17:56
(10) Конечно, это обыкновенный текстовый файл.
12. Sasha R. (sasha_r) 09.02.09 17:56
Баг номер раз (не фатальный) - если словарь положить рядом с компонентой, но путь явно не указывать - не видит. Проверял приложенной обработкой (v8)
13. Василий Демидов (Душелов) 09.02.09 17:56
(9) Секции обозвать по-другому и суффиксы переименовать.
14. Василий Демидов (Душелов) 09.02.09 17:57
(12) Только что проверил - все ок :) Но, видимо, у меня прописалось уже... Дома посмотрю...
15. Sasha R. (sasha_r) 09.02.09 17:59
16. Sasha R. (sasha_r) 09.02.09 18:21
вопрос - а куда компонента записывает добавляемые вручную слова?
17. Sasha R. (sasha_r) 09.02.09 18:26
а, вроде сюда "C:\Documents and Settings\<USER>\Application Data\NetSpell\user.dic"
все верно?
18. Василий Демидов (Душелов) 09.02.09 19:01
19. Василий Демидов (Душелов) 09.02.09 23:06
Добавил пример работы из 1С 7.7
20. Василий Демидов (Душелов) 09.02.09 23:07
Видимо, придется диалог сделать модальным, а то в 7-ке активное окно возвращается на 1С, а не на окно компоненты.
21. Василий Демидов (Душелов) 10.02.09 11:09
(12) Сделал автоподстановку пути к папке с компонентой.
И диалог теперь поверх всех окон.
22. Sasha R. (sasha_r) 10.02.09 16:05
23. Sasha R. (sasha_r) 11.02.09 17:34
Заранее извиняюсь, а при каких дейсвиях пользователя или компоненты, срабатывает событие "ПриУдаленииСлова(ИндексТекста, ИндексСлова, Слово);"
?
24. Sasha R. (sasha_r) 11.02.09 17:36
25. Sasha R. (sasha_r) 11.02.09 17:48
2просьбы:

1. Может ли метод "ПроверитьТекст(Текст);" возвращать булево (есть ошибки или нет) без показа диалога с вариантами. Такое есть в MS Word - удобно быстро понять есть ошибки или нет

2. Я заметил, что в окне с вариантами есть счетчик переданных слов. Можно ли реализовать метод получения массива переданных ранее слов. Полезно в случае, когда п.1 вернул ЛОЖЬ (в случае ошибок в тексте) - натравить уже пословную проверку (в MS Word) тоже есть что-то похожее.

Сложно ли такое доделать? Заранее благодарю за внимание!
26. Василий Демидов (Душелов) 11.02.09 17:58
1. Можно

2. Зачем массив переданных слов нужен, если не было изменений в исходном тексте?
27. Sasha R. (sasha_r) 11.02.09 18:01
1. было бы здорово для быстрого понимания есть косяки или нет

2. массив слов можно конечно получать и средствами 1С, но раз он уже сформирован компонентой, а мы ее используем в полный рост - это было бы удобно.
28. Sasha R. (sasha_r) 12.02.09 10:15
мелкий баг - кнопка "пропустить все" работает так же, как "пропустить" - т.е. пословно, а не пропуская всю проверку.
29. Василий Демидов (Душелов) 12.02.09 10:17
(28) Пропустить все - по этому слову, если не нужна проверка, то жми "отмена"
30. Sasha R. (sasha_r) 12.02.09 10:19
еще мелкое пожелание:
добавить событие "ПриЗакрытии()" - суть которого в том, чтобы сообщить 1С о закрытии пользователем окна спеллчекера кнопкой закрыть.

А то в этой ситуации из 1С не знаешь - идет проверка или юзер давно уже закрыл окно ;)

спасибо!
31. Sasha R. (sasha_r) 12.02.09 10:20
(29) понял. буду иметь ввиду.
32. Sasha R. (sasha_r) 12.02.09 11:01
(30) - небольшое дополнение - "кнопкой закрыть или кнопкой отмена". т.к. по сути надо иногда отлавливать из 1С закрытие юзером окна проверки орфографии.
33. Василий Демидов (Душелов) 12.02.09 11:02
Добавил параметры:
- КоличествоСлов
- Слова //массив слов

Метод:
- ПолучитьСлово(ИндексСлова); //возвращает слово из списка слов

Событие:
- ПриЗакрытииДиалога();

Метод "ПроверитьТекст" теперь возвращает булево, если обнаружены ошибки.
34. Василий Демидов (Душелов) 12.02.09 11:02
+33 Точнее истину, если есть ошибки, а ложь, если ошибок не найдено.
35. Sasha R. (sasha_r) 12.02.09 11:06
(33)(34) ОГРОМНОЕ СПАСИБО!
ща затестим!
36. Василий Демидов (Душелов) 12.02.09 11:07
(35) Спасибо в стакан не нальешь :))))
37. Василий Демидов (Душелов) 12.02.09 11:09
(35) Вообщем, я в примере показал, как предварительно проверять текст на ошибки и как просмотреть массив слов.
38. Sasha R. (sasha_r) 12.02.09 11:18
(36) - это понятно, но респект выразить как минимум считаю своим долгом!

(37) - про массив слов гляну, спасибо ;)
39. Василий Демидов (Душелов) 13.02.09 19:32
Для получения демо-версии или покупки обращайтесь по контактам, указанным в профиле.
40. Сhe Burashka (CheBurator) 14.02.09 13:07
(20) это что имеется в виду? и когда это происходит?
а может кроме модальности есть другие способы
41. Александр Рытов (Арчибальд) 16.02.09 11:39
Буква Ё в деловой переписке допускается только в именах собственных!
42. Sasha R. (sasha_r) 16.02.09 13:05
Словарь "без Ё" получается обычной заменой "ё" на "е" в предлагаемом словаре.
Работает без проблем ;)
43. Василий Демидов (Душелов) 19.05.09 15:10
Снова в бесплатном доступе :)
44. Епрст (Ёпрст) 19.05.09 15:12
А чего, продажи не попёрли ?
:))
45. Василий Демидов (Душелов) 19.05.09 15:18
(44) Изучаю рынок :) Что идет, а что нет.
46. Alex Fisher (unknown77701) 16.06.09 12:28
Помогите пожайлуста!
Собрал "ручками" словарик украинский. И всё вроде ничего, пока не встречаються украинские буквы "і" и "ї". Слова с такими буквами программа во всех словарях считает без ошибок (даже в английском).
Заранее благодарен.
47. dushelov (Душелов) 16.06.09 12:35
(46) Думаю, что словарь собран не верно.
unknown77701; +1 Ответить
48. Alex Fisher (unknown77701) 16.06.09 13:39
Я тоже так подумал сначала, но потом проверил слова с єтими буквами английским словарём. Результат - нет ошибок. Как только убираю из слов буквы "і" и "ї" - слово вываливается в ошибки. Возращаю буквы назад - ошибок нет. И это для английского словаря.
49. dushelov (Душелов) 16.06.09 14:35
в секции Try эти буквы добавлены?
50. dushelov (Душелов) 16.06.09 14:35
Я вообще, советую взять готовый словарь для украинского языка и адаптировать его под эти шаблоны.
51. Alex Fisher (unknown77701) 24.06.09 10:57
А можно куда-то сбросить словарь чтобы Вы его посмотрели?

52. dushelov (Душелов) 24.06.09 11:03
(51) Я смотреть не буду, т.к. нет на это времени, лучша воспользуйтесь советом из (50)
53. Alex Fisher (unknown77701) 24.06.09 11:39
Не совсем понял что значит "готовый словарь для украинского языка". Я взял myspell файлы с openoffice и собрал их по образцу Вашего русского словаря. Правильно ли это?
54. Андрей Коляда (Незнайка) 10.05.11 14:11
Огромное спасибо за компоненту.
Есть 3 вопроса:
1) в форме диалога "Проверка правописания"
2 надписи "Заменить на" и "Варианты"
немного накладываются на соответствующие поля.
Можно поправить?
2) Можете ли сделать, чтобы после выполнения метода ПроверитьТекст(),
был доступ к массиву слов с ошибками?
3) И (эх, мечты) подчеркивать бы слова с ошибками в реквизите формы Текст
как в Word'е
4) Можно обсудить коммерческую составляющую нужных изменений.
andrey_k65@mail.ru
55. anry mc (AnryMc) 10.05.11 16:31
(0) А пользователи из Малороссии будут благодарны и за украинский словарь
Или можно напрямую брать отсюда http://extensions.services.openoffice.org/en/dictionaries?cid=926386
56. Андрей К. (andrei.k) 24.09.11 20:38
57. Serg (spacedragon) 27.09.11 18:40
Подскажите кто-нибудь из уже скачавших данную компоненту пробовал работать с ней в терминальном режиме?
58. Лена (VorHel) 02.10.12 15:59
Здравствуйте.
Подскажите, пожалуйста, будет ли работать с .Net Framework 4? И меня также интересует, будет ли работать в терминальном режиме?
Заранее спасибо!
59. Константин Гейнрих (CyberCerber) 22.11.12 17:34
Здравствуйте!
А пойдет ли это на 8.2?
Как я понимаю нет, т.к. не вижу тут УФ и с компонентой может быть проблемы... Она Native или COM?
60. Иван Борисов (Kaavan) 16.01.13 03:11
Простите, торможу наверное, но в списке файлов вижу только словари и не могу найти саму компоненту.
Что я делаю не так?

С уважением.
61. Юрий Лазаренко (TitanLuchs) 30.01.13 17:41
Кто-нибудь пробовал запускать компоненту под тонким клиентом в 8.2?
62. A A (ytreco2012) 28.02.13 11:41
Скажите эту компоненту можно подстроить для работы в фоновом режиме для строк таблицы формы? И кто знает будет ли в платформе версии 8.3. реализация проверки орфографии по умолчанию?
63. Роман Дубинин (Krimskiy_xan) 04.02.14 17:35
Подскажите как быть?
DLL не хочет регаться на одном из серверов (w2008R2 x64). FrameWork 3.51 стоит, который содержит и 2.0 соответственно.
Выдает ошибку см.вложение.
Прикрепленные файлы:
buddha667; Anubis23; +2 Ответить 1
64. Spenser (spenser123) 19.02.16 10:23
Не могу найти саму обработку, словари в разделе скачать вижу, а самого файла обработки нет.
65. Виктор Череватенко (buddha667) 02.03.16 00:18
(63) Krimskiy_xan, мне не помог даже запуск от имени администратора reg.bat.
А если же запустить командную строку от имени администратора и из нее запустить батник, всё получилось.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа