Вверх ↑
Этот топик читают: Гость
Гость
Ответов: 17029
Рейтинг: 0
#1: 2005-12-27 00:53:00 правка | ЛС | профиль | цитата


Редактировалось 1 раз(а), последний 2017-03-03 09:58:29
карма: 0

0
Ответов: 8908
Рейтинг: 823
#2: 2005-12-29 04:19:59 ЛС | профиль | цитата
D&W, пример слишком большой для форума, выложил в Upload под названием "dictionary". Файл в 300 кБ с 50 000 словами обрабатывает за 90 сек (Pen-IY, 2400 мГц). Из имеющихся у меня текстовых файлов удалось извлечь ~30 000 слов, так что при словаре в 800 000 слов проверку работоспособности выполнить не удалось.
карма: 19

0
Ответов: 676
Рейтинг: 5
#3: 2005-12-29 05:30:59 ЛС | профиль | цитата
Леонид, нада же так извращятся столько лишнего кода
Пример работает неккоректно добавляются разные символы (+ - = _) и тд, после открытия файла постоянно выскакивает message Открыть словарь? вобщем добавить в словарь мне так и не удалось.
Производить поиск одинаковых слов надо в несколько потоков скажем по числу букв в алфавите каждый поток ищет слова начинающиеся на определенную букву и добавляет в отдельную базу данных соответсвенно поиск слов и работа программы возрастет в несколько раз неговоря уже о том что все слова будут отсортированны по алфавиту

PS: Леонид, как говорил дядюшка Ленин оптимизировать оптимизировать и ещё раз оптимизировать
карма: 1

0
Ответов: 8908
Рейтинг: 823
#4: 2005-12-29 15:13:00 ЛС | профиль | цитата
-=Dima=-, я горился, как же мне набирать базу для кросвордов (сам их не люблю, да внучка заставляет - кто вперёд!), а тут гостьD&W, спасибо, подсказал.
Вообще-то я собирался оставить в тексте только 33 маленькие русские буквы, но отложил на потом и, конечно, забыл, т. к. проверял на литературных текстах, там таких знаков не встретилось , это легко исправить - во вложенной схеме в *.sha/.
Одинаковые слова ищутся после сортировки и поэтому раположены рядом и удаляются за один проход по массиву.
Я не рассказал про последовательность работы с программкой: запуск программки - открытие источника (текстового файла) - на message "Открыть словарь?" ответить "Да" и открыть приложенный файл "dictionary.txt" (который и является, собственно, словарём) - после занесения новых слов в словарь можно открывать следующий ***.txt - по окончании работы не забыть сохранить словарь!
Над оптимизацией буду работать , спасибо за подсказки!
карма: 19

0
Гость
Ответов: 17029
Рейтинг: 0
#5: 2005-12-29 17:39:59 правка | ЛС | профиль | цитата


Редактировалось 1 раз(а), последний 2017-03-03 09:58:29
карма: 0

0
Ответов: 8908
Рейтинг: 823
#6: 2005-12-30 00:30:59 ЛС | профиль | цитата
D&W, -=Dima=-, я критику учёл и выложил новую версию без визуальных викрутасов и, как смог, уменьшил
карма: 19

0
Ответов: 16884
Рейтинг: 1239
#7: 2006-01-04 02:35:59 ЛС | профиль | цитата
Леонид, надеюсь Вы прочли как установить фильтр в ODialog. Я задавал этот вопрос после анализа Вашего словаря. Так что можно еще упростить схему.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 8908
Рейтинг: 823
#8: 2006-01-04 02:46:59 ЛС | профиль | цитата
Tad, ой, и правда!
карма: 19

0
Ответов: 9906
Рейтинг: 351
#9: 2006-01-04 02:55:00 ЛС | профиль | цитата
А еще правда, что на форуме об этом говорили (периодически) раз пять
карма: 9

0
Ответов: 8908
Рейтинг: 823
#10: 2006-01-04 03:17:59 ЛС | профиль | цитата
Galkov, и ещё одна правда: что бы я в этот фильтр ни выставлял, диалог показывает и открывает все файлы , может там есть какая-нибудь тонкость, примерчиком не побалуете?
карма: 19

0
Ответов: 2058
Рейтинг: 28
#11: 2006-01-04 03:40:59 ЛС | профиль | цитата
Вот так можно организовать два фильтра. Только я не знаю как сделать так чтобы в одной стоке происходило выделение нескольких типов файлов.
[code:1]Add(MainForm,839566,21,105) {
Left=20
Top=105
link(onCreate,12666382:doExecute,[(103,146)(103,202)])
}
Add(ODialog,12666382,154,196)
{
Filter="Txt fail|*.txt|WinRar|*.rar"
}
[/code:1]
карма: 1

0
Ответов: 8908
Рейтинг: 823
#12: 2006-01-04 04:28:59 ЛС | профиль | цитата
[b]Эдик[/b], спасибо, у меня разделители нарисованы "", а работают "|" - разве догадаешся![code:1]Add(MainForm,8456193,98,63) {
Left=20
Top=105
link(onCreate,8730419:doExecute,[])
}
Add(ODialog,8730419,189,98)
{
Filter="Текстовые файлы(*.txt, *.html)|*.txt;*.html"
}
[/code:1] оказывается перечислять расширения надо через ";" (точка с запятой) :D
карма: 19

0
Ответов: 16884
Рейтинг: 1239
#13: 2006-01-04 12:30:59 ЛС | профиль | цитата
"Galkov" писал(а):
А еще правда, что на форуме об этом говорили (периодически) раз пять
А еще правда - искал, но "Поиск" увы... Или "поиск" не поиск, или я не там искал.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 9906
Рейтинг: 351
#14: 2006-01-04 22:16:59 ЛС | профиль | цитата
Поиск - не поиск. Блин....
карма: 9

0
Гость
Ответов: 17029
Рейтинг: 0
#15: 2006-01-05 03:18:59 правка | ЛС | профиль | цитата


Редактировалось 1 раз(а), последний 2017-03-03 09:58:29
карма: 0

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)