Гость
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Проверка правописания / 20 сообщений из 20, страница 1 из 1
29.05.2013, 16:54
    #38278888
Riska
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка правописания
Нужно сделать проверку правописания.
Можно использовать OpenOffice.
Есть ли готовое решение?
...
Рейтинг: 0 / 0
30.05.2013, 13:28
    #38280116
PL99
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка правописания
RiskaЕсть ли готовое решение? Здесь смотрели?
...
Рейтинг: 0 / 0
11.06.2013, 12:21
    #38293800
Riska1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка правописания
PL99,
Да.
Нужно сделать без дополнительных программ (установок). Исключение - ОpenОffice (уже установлен у всех клиентов).
В крайнем случае нужна бесплатная программа.
...
Рейтинг: 0 / 0
11.06.2013, 15:30
    #38294250
PL99
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка правописания
Riska1PL99,
Да.
Нужно сделать без дополнительных программ (установок). Исключение - ОpenОffice (уже установлен у всех клиентов).
В крайнем случае нужна бесплатная программа. Оно?
...
Рейтинг: 0 / 0
11.06.2013, 20:03
    #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
12.06.2013, 10:41
    #38294915
Riska1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка правописания
Вот линк на то, как должно работать:
http://www.openoffice.org/api/docs/common/ref/com/sun/star/linguistic2/XSpellChecker.html#spell
...
Рейтинг: 0 / 0
16.06.2013, 19:17
    #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
17.06.2013, 10:45
    #38299515
Riska1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка правописания
PL99,
Помогло!
Ура!!!
Большое человеческое спасибо!


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

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

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

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


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

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


Riska1Есть еще несколько причин все сделать самим:
...
3. Может быть в дальнейшем начальство еще чего-нибудь придумает.
Они все фантазеры, наши шефы... Им можно фантазировать - у них нет конкретной работы, а давать руководящие указания умеют даже шимпанзе в цирке...
...
Рейтинг: 0 / 0
18.06.2013, 01:01
    #38300823
AIS
AIS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка правописания
PL99...Они все фантазеры, наши шефы... Им можно фантазировать - у них нет конкретной работы, а давать руководящие указания умеют даже шимпанзе в цирке...
О-о, надеюсь Ваш шеф не посещает этот форум.
...
Рейтинг: 0 / 0
18.06.2013, 10:07
    #38301049
Big Boss
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка правописания
Как закончите надеяться, зайдите ко мне в кабинет...
...
Рейтинг: 0 / 0
18.06.2013, 14:59
    #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
19.06.2013, 18:39
    #38303818
Филипп
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка правописания
Riska1Плыли, плыли и на берегу... :(
Все работает, но сам по себе OpenOffice гораздо хуже, чем Microsoft Office.
Как заплатил, так и получаешь :-)
...
Рейтинг: 0 / 0
19.06.2013, 20:51
    #38303924
Anatoly Moskovsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка правописания
Riska1Все работает, но сам по себе OpenOffice гораздо хуже, чем Microsoft Office.
Т.е. не все слова проверяет правильно: то выдает ошибку нормальному слову, то ошибочное пропускает.
А можно пример такого слова?
...
Рейтинг: 0 / 0
20.06.2013, 11:09
    #38304356
boogiman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка правописания
ФилиппRiska1Плыли, плыли и на берегу... :(
Все работает, но сам по себе OpenOffice гораздо хуже, чем Microsoft Office.
Как заплатил, так и получаешь :-)
А за что платить Майкрософт, за их корявость и изменчивость? Я сейчас немного на C# пишу - дык вот, чтобы VS работала и все приблуды с ней связанные. Мне поставили дополнительную память и сейчас 8 ГБ. А я то в свое время java за прожорливость ругал))
Погнались разработчики Павлика за WPF от Майкрософт, а те сейчас от WPF отворачиваются. Это ещё раз доказывает, что не стоит идти на поводу у Майкрософт и жестко затачиваться на их продукты. Лучше бы Павлика под java заточили! Да и вообще американцы со своим печатанием долларов - весь мир загонят в кризис!
Сорри за оффтоп!
...
Рейтинг: 0 / 0
20.06.2013, 14:48
    #38304896
Riska1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка правописания
Anatoly Moskovsky,
на иврите слово
איתם
написано правильно. MS Office пропускает, а ОpenОffice ругается, что нет такого.

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

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

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

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

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

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

Спасибо.
...
Рейтинг: 0 / 0
08.09.2013, 14:39
    #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
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Проверка правописания / 20 сообщений из 20, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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