![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы
![]() |
Поиск в этой теме
![]() |
![]() |
#1 |
Программист и
Участник клуба
Регистрация: 29.10.2006
Сообщений: 1,265
|
![]()
Как можно БЕЗ использования сторонних программ и пакетов, типа Ворд, сделать проверку орфографии в мемо. Принцип такой- написал текст, нажал проверка и если найдено не правильно написанне слово, вылазит окно со словами. Если нет готовых программ, подскажите хотя бы алгоритм, хоть лучше что нибудь набрасась в Делфи
![]() |
![]() |
![]() |
![]() |
#2 |
Участник клуба
Регистрация: 26.10.2007
Сообщений: 1,244
|
![]()
Наипростейшую проверку можно реализовать проверкой написанного слова с базой. Если в базе такого слова нет значит ошибка.....
Что касается построения предложений то тут сложнее....
Умом Россию не понять, пока не выпито ноль пять,
А если выпито ноль пять всё делом кажется не хитрым, Попытка глубже понимать уже попахивает литром... |
![]() |
![]() |
![]() |
#3 |
Регистрация: 19.09.2007
Сообщений: 5
|
![]()
Еще раз о функции проверки орфографии...
Имеется Форма (среда разработки - Delphi 5), в ней поле Memo, текст в нем, и две Button. Как реализовать, чтобы при нажатии на Button1 выводилась форма проверки орфографии из пакета Microsoft Office 2003, а при нажатии Button2 - выводился тезаурус? Помогите пожалуйста! PS Гуглом нашел статью, но без рисунков. Вот здесь: http://www.delphihelp.org/delphi_spell.html |
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 29.03.2008
Сообщений: 300
|
![]()
В русском языке по окончанию можно определить что это за слово (глагол, существительное и т.д.), любое предложение должно иметь основу (существительное + глагол, или просто один член предложения(существительное)). Еще можно определить глагол и -не с глаголом раздельно проверять.
Окончание глаголов: -ал -ала -ать и т.д. Так же можно проверить запятые перед предлогами -а -но.
Карп преодолевший водопад становится драконом.
|
![]() |
![]() |
![]() |
#5 |
Регистрация: 19.09.2007
Сообщений: 5
|
![]()
А как вызвать форму проверки правописания и тезаурус?
|
![]() |
![]() |
![]() |
#6 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]() Цитата:
Это далеко не так... (слово вокзал, например :-) Реально только использовать интернет-сервисы (не знаю точно, но думаю, что такие есть), либо, задействовать готовую библиотеку (хотя бы того же ворда) разумеется, если не будет этих библиотек - проверка работать не будет... ___________________________________ __________ morgoth2, так что Вам в статье не понравилось? - на первый взгляд - всё грамотно и достаточно подробно. А рисунок там один и к делу отношения не имеет :-) - ![]() Кстати, эта же статья вошла в DelphiWorld... Последний раз редактировалось Serge_Bliznykov; 14.06.2008 в 11:44. |
|
![]() |
![]() |
![]() |
#7 |
Регистрация: 19.09.2007
Сообщений: 5
|
![]() Цитата:
Получилось вызвать через OLE Word, отправить в него текст из Memo и даже вызвать мастер проверки орфографии. Но вот как сделать, чтобы окно проверки правописания выводилось отдельно, т.е. чтобы окно Word-а было скрыто, а мастер проверки был активен? ![]() Последний раз редактировалось morgoth2; 14.06.2008 в 12:12. |
![]() |
![]() |
![]() |
#8 | |
Телепат с дипломом
Старожил
Регистрация: 10.06.2007
Сообщений: 4,929
|
![]() Цитата:
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог |
|
![]() |
![]() |
![]() |
#9 | |
Регистрация: 19.09.2007
Сообщений: 5
|
![]() Цитата:
procedure TForm1.Button1Click(Sender: TObject); var s:string; begin s:=Memo1.Lines.GetText; //В переменной s "сидит" текст из поля Memo WordDocument1.Range.Set_Text(s);// Отправляем в Word этот текст WordDocument1.CheckSpelling(); //запускаем проверку орфографии WordDocument1.Activate(); end; procedure TForm1.Button2Click(Sender: TObject); var s:string; begin //По нажатию на эту кнопку в поле Memo загоняется исправленный в Word-е //текст Memo1.Clear(); //Очищаем Memo от старого текста s:=WordDocument1.Range.Get_Text(); //В переменную s загоняем текст из Word-а Memo1.Text:=s; //Теперь в Memo лежит исправленный текст //Только, блин, почему-то не разбивается на строки end; procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); var SaveChanges:OleVariant; //Параметр закрывания Worda begin SaveChanges:=False;// Закрыть без сохранения изменений WordDocument1.Close(SaveChanges); WordApplication1.Disconnect();//закрываем Word. end; procedure TForm1.FormCreate(Sender: TObject); begin Memo1.Clear();//Очищаем Memo WordApplication1.Visible:=True; end; В аттаче - исходники с коментариями и скомпилированный проект. Посмотрите плыз, что можно поправить? Последний раз редактировалось morgoth2; 14.06.2008 в 14:19. Причина: Немного переделал |
|
![]() |
![]() |
![]() |
#10 |
Программист и
Участник клуба
Регистрация: 29.10.2006
Сообщений: 1,265
|
![]()
To morgoth2 думаю можно было создать отдельную тему и в другом разделе. Ну да ладно. По моему вопросу вроде всю перспективу понял - это только проверка орфографии путем тупого сравнивания с базой. Жаль, но это хоть чтото
![]() |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
программное переключение словаря при проверке орфографии методами MS Word | tojhto | Общие вопросы Delphi | 2 | 06.09.2008 01:54 |
Проверка орфографии | Serg113 | Microsoft Office Word | 1 | 09.05.2008 22:29 |
Проверка условия | Luciferium | БД в Delphi | 1 | 05.06.2007 16:23 |
Проверка орфографии | Simply-Art | Общие вопросы Delphi | 2 | 17.04.2007 15:44 |