powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Проверка правописания
20 сообщений из 20, страница 1 из 1
Проверка правописания
    #38278888
Фотография Riska
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нужно сделать проверку правописания.
Можно использовать OpenOffice.
Есть ли готовое решение?
...
Рейтинг: 0 / 0
Проверка правописания
    #38280116
Фотография PL99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RiskaЕсть ли готовое решение? Здесь смотрели?
...
Рейтинг: 0 / 0
Проверка правописания
    #38293800
Riska1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PL99,
Да.
Нужно сделать без дополнительных программ (установок). Исключение - ОpenОffice (уже установлен у всех клиентов).
В крайнем случае нужна бесплатная программа.
...
Рейтинг: 0 / 0
Проверка правописания
    #38294250
Фотография PL99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Riska1PL99,
Да.
Нужно сделать без дополнительных программ (установок). Исключение - ОpenОffice (уже установлен у всех клиентов).
В крайнем случае нужна бесплатная программа. Оно?
...
Рейтинг: 0 / 0
Проверка правописания
    #38294616
Riska1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PL99,
Честно говоря, ничего в "Оно" не понял.
Скачал, получил кучу папок и файлов.
Как прикрутить эту прелесть к РВ?

Может быть общий разум подскажет решение вот здесь:
(До последней строчки все нормально. В последней строчке РВ падает.)

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
string 		ls_exceptionMsg, ls_word = 'tabli'	
any 			la_tempReturn 
OLEObject 	lobj_ServiceManager, lobj_Desktop, lobj_CoreReflection, lobj_PropertyClass, lo_locale
OLEObject 	lo_propertyValue[], lole_LSM, lole_spellchecker

//Create the service manager 
lobj_ServiceManager = CREATE OLEObject 
IF lobj_ServiceManager.ConnectToNewObject("com.sun.star.ServiceManager") < 0 Then 
	MessageBox("Error", "Cound not connect to OpenOffice") 
	RETURN
End IF 

////Create the Desktop, core reflection and property class services 
//lobj_Desktop= lobj_ServiceManager.createInstance("com.sun.star.frame.Desktop") 

lobj_CoreReflection = lobj_ServiceManager.createInstance("com.sun.star.reflection.CoreReflection" ) 
lobj_PropertyClass = lobj_CoreReflection.forName ("com.sun.star.beans.PropertyValue") 

lo_locale = lobj_CoreReflection.forName( 'com.sun.star.lang.Locale') 
lo_locale.CreateObject( REF lo_locale ) 

lo_locale.Language = 'en'
lo_locale.Country = 'US'  
lo_locale.Variant = '' 

lobj_PropertyClass.CreateObject(REF lo_propertyValue[1]) 
//lo_propertyValue[1] = lobj_CoreReflection.Bridge_GetStruct("com.sun.star.beans.PropertyValue") 

lole_LSM = lobj_ServiceManager.CreateInstance("com.sun.star.linguistic2.LinguServiceManager") 
lole_spellchecker = lole_LSM.getspellchecker() 

//Здесь эта дрянь падает ("Error calling external object function spell..."):
la_tempReturn = lole_spellchecker.spell( ls_word ,lo_locale , lo_propertyValue) // PROBLEM!!!
...
Рейтинг: 0 / 0
Проверка правописания
    #38294915
Riska1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот линк на то, как должно работать:
http://www.openoffice.org/api/docs/common/ref/com/sun/star/linguistic2/XSpellChecker.html#spell
...
Рейтинг: 0 / 0
Проверка правописания
    #38299132
Фотография PL99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Riska, что-то никаких мыслей, увы. может быть, за объектом напрямую обратиться?
Riska1
Код: sql
1.
2.
3.
4.
5.
6.
...
//Проверить не могу, т.к. с OpenOffice не работаю, но вдруг...
//lole_LSM = lobj_ServiceManager.CreateInstance("com.sun.star.linguistic2.LinguServiceManager") 
//lole_spellchecker = lole_LSM.getspellchecker() 
lole_spellchecker = lobj_ServiceManager.CreateInstance("com.sun.star.linguistic2.SpellChecker")
...



Мне одному кажется, что мы уже потратили сумму человеко-часов вполне сравнимую со стоимостью лицензии?
...
Рейтинг: 0 / 0
Проверка правописания
    #38299515
Riska1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PL99,
Помогло!
Ура!!!
Большое человеческое спасибо!


Мне одному кажется, что мы уже потратили сумму человеко-часов вполне сравнимую со стоимостью лицензии?

US$199.00 - это за одну версию или за "сколько влезит"?
У нас где-то 6000 компов. Если за каждого клиента отдать 200 баксов, то, боюсь, что начальство за эти деньги найдет более толкового программера :)

Есть еще несколько причин все сделать самим:
1. Redistributable American, Canadian, and UK English dictionaries - Нам нужен иврит.
2. Каждый клиент должен будет подстраивать под себя словари (добавлять/изменять) слова.
3. Может быть в дальнейшем начальство еще чего-нибудь придумает.
Короче, своя прога гораздо лучше.

Еще раз спасибо!!!
...
Рейтинг: 0 / 0
Проверка правописания
    #38299998
Фотография PL99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Riska1PL99,
Помогло!
Ура!!!
Большое человеческое спасибо!
На здоровье :-)


Riska1 Мне одному кажется, что мы уже потратили сумму человеко-часов вполне сравнимую со стоимостью лицензии?

US$199.00 - это за одну версию или за "сколько влезит"?
У нас где-то 6000 компов. Если за каждого клиента отдать 200 баксов, то, боюсь, что начальство за эти деньги найдет более толкового программера :)Ну, если я правильно понимаю слово "redistributable" (Redistributable 32-bit ActiveX spell check control), то это лицензия на одного разработчика.


Riska1Есть еще несколько причин все сделать самим:
...
3. Может быть в дальнейшем начальство еще чего-нибудь придумает.
Они все фантазеры, наши шефы... Им можно фантазировать - у них нет конкретной работы, а давать руководящие указания умеют даже шимпанзе в цирке...
...
Рейтинг: 0 / 0
Проверка правописания
    #38300823
AIS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PL99...Они все фантазеры, наши шефы... Им можно фантазировать - у них нет конкретной работы, а давать руководящие указания умеют даже шимпанзе в цирке...
О-о, надеюсь Ваш шеф не посещает этот форум.
...
Рейтинг: 0 / 0
Проверка правописания
    #38301049
Big Boss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как закончите надеяться, зайдите ко мне в кабинет...
...
Рейтинг: 0 / 0
Проверка правописания
    #38301719
Riska1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Плыли, плыли и на берегу... :(
Все работает, но сам по себе OpenOffice гораздо хуже, чем Microsoft Office.
Т.е. не все слова проверяет правильно: то выдает ошибку нормальному слову, то ошибочное пропускает.

Следующий код работает с Microsoft Office:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
OleObject lole_Spell
Long ll_RC
string	as_Text

as_text = 'text dlya proverki'

SetPointer( HourGlass! )

// Word is available so replace all CR/LFs with CRs
this.ReplaceChar( as_Text, '~r~n', '~r' )

// Connect to Word and do a spell-check
lole_Spell = CREATE OleObject
ll_RC = lole_Spell.ConnectToNewObject( 'Word.Application' )
IF ll_RC <> 0 THEN
	MessageBox('Error!', 'Word.Application: ConnectToNewObject ERROR')
	DESTROY lole_Spell
	RETURN ll_RC
END IF

lole_Spell.Application.Visible = False
lole_Spell.Application.WindowState = 2
lole_Spell.Documents.Add()
lole_Spell.Selection.TypeText( as_Text ) // by ref
lole_Spell.Selection.HomeKey()
lole_Spell.Selection.MoveStart()
lole_Spell.ActiveDocument.CheckSpelling()
lole_Spell.ActiveDocument.Select()
as_Text = lole_Spell.Selection.Text
lole_Spell.ActiveDocument.Close( False )
lole_Spell.Application.Quit
lole_Spell.DisconnectObject()
DESTROY lole_Spell

// Change the CRs back to CR/LFs
this.ReplaceChar( as_Text, '~r', '~r~n' )

MessageBox('', as_text)



1. Можно ли как-то использовать этот скрипт без установки MS Office (только какие-нибудь dll)?
2. Kак вызвать окошко с вариантами слов в ОpenОffice (в самом ОpenОffice это нажатие на F7)?
...
Рейтинг: 0 / 0
Проверка правописания
    #38303818
Фотография Филипп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Riska1Плыли, плыли и на берегу... :(
Все работает, но сам по себе OpenOffice гораздо хуже, чем Microsoft Office.
Как заплатил, так и получаешь :-)
...
Рейтинг: 0 / 0
Проверка правописания
    #38303924
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Riska1Все работает, но сам по себе OpenOffice гораздо хуже, чем Microsoft Office.
Т.е. не все слова проверяет правильно: то выдает ошибку нормальному слову, то ошибочное пропускает.
А можно пример такого слова?
...
Рейтинг: 0 / 0
Проверка правописания
    #38304356
boogiman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ФилиппRiska1Плыли, плыли и на берегу... :(
Все работает, но сам по себе OpenOffice гораздо хуже, чем Microsoft Office.
Как заплатил, так и получаешь :-)
А за что платить Майкрософт, за их корявость и изменчивость? Я сейчас немного на C# пишу - дык вот, чтобы VS работала и все приблуды с ней связанные. Мне поставили дополнительную память и сейчас 8 ГБ. А я то в свое время java за прожорливость ругал))
Погнались разработчики Павлика за WPF от Майкрософт, а те сейчас от WPF отворачиваются. Это ещё раз доказывает, что не стоит идти на поводу у Майкрософт и жестко затачиваться на их продукты. Лучше бы Павлика под java заточили! Да и вообще американцы со своим печатанием долларов - весь мир загонят в кризис!
Сорри за оффтоп!
...
Рейтинг: 0 / 0
Проверка правописания
    #38304896
Riska1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Anatoly Moskovsky,
на иврите слово
איתם
написано правильно. MS Office пропускает, а ОpenОffice ругается, что нет такого.

Так что с окошком?
Никто не поможет идеей?
...
Рейтинг: 0 / 0
Проверка правописания
    #38304918
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вам уже советовали купить лицензию для одного разработчика за 150 зеленых. В принципе стоит меньше чем 8 гигов памяти.
...
Рейтинг: 0 / 0
Проверка правописания
    #38304980
boogiman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
spas2001Вам уже советовали купить лицензию для одного разработчика за 150 зеленых. В принципе стоит меньше чем 8 гигов памяти.
Я вообще то С# имел в виду, а так да прожирливы поделки от мелкомягкого! Парень, который проекты дома пишет и серверы типа IIS разворачивает локально говорит на 32 Гб перестало тормозить
...
Рейтинг: 0 / 0
Проверка правописания
    #38384341
SourceLocalizer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!

Столкнулся с проблемой исключения из проверки орфографии слов из пользовательского словаря.
В самом OpenOffice исключаемое слово просто добавляется через контекстное меню в словарь standard.dic и слово больше не считается ошибкой.
При проверке из vb.net, судя по всему, SpellChecker не использует пользовательские словари и все занесенные в них слова считаются ошибкой.

Как заставить SpellChecker проверять слова по пользовательскому словарю?
В остальном все работает отлично.

Проверял словари в vb.net через объект com.sun.star.linguistic2.DictionaryList - все словари видно и все активны (возможно это другие экземпляры словарей, так как не смог проверить их содержимое, но количество и настройки их совпадают с OpenOffice).

Возможно есть настройки для использования пользовательских словарей для SpellChecker.isValid ?

Примеров использования орфографии в интернете много, но не нашел информации именно по пользовательским словарям.

Спасибо.
...
Рейтинг: 0 / 0
Проверка правописания
    #38390310
SourceLocalizer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нашел решение:

myDictionaryList объект com.sun.star.linguistic2.DictionaryList

If ((myspellChecker.isvalid(tempValue, myLocale, myArgs) = False) And _
(IsNothing(myDictionaryList.querydictionaryentry(tempValue, myLocale, True, True)) = True)) _
Or (IsNothing(myDictionaryList.querydictionaryentry(tempValue, myLocale, False, True)) = False) _
then
... значит ошибка в слове

Т.е. проверяем не только текст Спеллчекером, но и наличие в словарях:
1я строка обычная как во всех руководствах по ООО,
2я строка - проверяем наличие в позитивных словарях (разрешено слово),
3я строка - в негативных словарях (запрещено).

При выполнении условия из примера - слово с ошибкой!

Пример упрощенный. Можно получить информацию в чем именно ошибка, запрет и пр. из словаря - см. ссылку ниже.

Подробней о функции поиска в словарях:
http://www.openoffice.org/api/docs/common/ref/com/sun/star/linguistic2/XSearchableDictionaryList.html#queryDictionaryEntry
...
Рейтинг: 0 / 0
20 сообщений из 20, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Проверка правописания
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]