Страница: 1 |
Страница: 1 |
Вопрос: Как обеспечить...
Добавлено: 29.03.08 14:08
Автор вопроса: Harter
Как обеспечить быструю, или хотя бы не мендленную работу программы, а именно:
Задача состоит в том, чтобы в RichTextBox зделать проверку орфографии по txt (словарю)
У меня есть словарь (2 мб.), сответственно слов там тоже не мало, программа идёт циклом и Line Input по всему словарю и соответственно виснет =(
Что делать?
Ответы
Всего ответов: 11
Номер ответа: 1
Автор ответа:
VerhoLom
Вопросов: 20
Ответов: 285
Профиль | | #1
Добавлено: 29.03.08 18:13
Тут бы базу данных использовать вместе с АДО...
Номер ответа: 2
Автор ответа:
Harter
Вопросов: 32
Ответов: 167
Профиль | | #2
Добавлено: 30.03.08 03:05
НЕ, мне имено через Line Input и цикл!!!
(Вот в чём проблема!)
Номер ответа: 3
Автор ответа:
Администратор
ICQ: 278109632
Вопросов: 42
Ответов: 3949
Web-сайт:
Профиль | | #3
Добавлено: 30.03.08 10:52
А что мешает сделать базу?
Ну если уж совсем нехрен делать тебе, тогда делай индексирование этого текстовика.
З.Ы. Я делал эвристичекую проверку орфографии и файл с сигнгами весил 400 кб.
Номер ответа: 4
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #4
Добавлено: 01.04.08 11:05
Виснет на 2 МБ???
Выкидывай комп на мусорку!
Номер ответа: 5
Автор ответа:
Yanex
ICQ: 387761649
Вопросов: 32
Ответов: 169
Web-сайт:
Профиль | | #5
Добавлено: 01.04.08 13:16
Если все слова в файле находятся в алфавитном порядке, то можно перебирать не все. Например, слово "природа" ) можно обрабатывать следующим способом: сначала ищем строчку в файле, где начинается "П". Потом, "Р" (можно сравнивать только несколько первых букв, например две). Если нету такого - значит, слово неверно. Если есть, можно уже и перебрать (а останется совсем немного).
можно и так. но тогда надо будет еще писать программу для индексирования
P.S.: информацию о первых буквах можно хранить в первых строках TXT-шника.
P.P.S.: если слова часто повторяются, можно их записывать в оперативку. Например, 100 последних слов
Номер ответа: 6
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #6
Добавлено: 01.04.08 13:40
Издеваешься?
Прочитай вопрос - у афтара 2 МБ словарь.
Его ВЕСЬ можно загрузить в память и не париться!
Номер ответа: 7
Автор ответа:
Yanex
ICQ: 387761649
Вопросов: 32
Ответов: 169
Web-сайт:
Профиль | | #7
Добавлено: 02.04.08 08:33
тоже правда
Номер ответа: 8
Автор ответа:
Ra$cal
ICQ: 8068014
Вопросов: 18
Ответов: 817
Web-сайт:
Профиль | | #8
Добавлено: 03.04.08 01:20
для проверки орфографии обычно юзают специальное дерево. но если нужно просто проверять правильность слова и не предлагать вариантов - то вполне сгодится бинарный поиск. предварительно есесно придется отсортировать файл по алфавиту
Номер ответа: 9
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #9
Добавлено: 03.04.08 03:32
Ra$cal говорит истину. Если для каждого слова заново считывать полностью 2 метра, зависнет любой комп. Бинарный поиск в данном случае рулит.
Номер ответа: 10
Автор ответа:
Harter
Вопросов: 32
Ответов: 167
Профиль | | #10
Добавлено: 03.04.08 14:35
Резкий поворот событий:
"Бинарный поиск" - Поподробнее пожалуйста.
Номер ответа: 11
Автор ответа:
Ra$cal
ICQ: 8068014
Вопросов: 18
Ответов: 817
Web-сайт:
Профиль | | #11
Добавлено: 03.04.08 15:51
http://www.google.ru/search?q=%D0%B1%D0%B8%D0%BD%D0%B0%D1%80%D0%BD%D1%8B%D0%B9+%D0%BF%D0%BE%D0%B8%D1%81%D0%BA&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ru:official&client=firefox-a