![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Какую базу применить? [D6, XP]
pavelkq © (2011-06-17 15:16:00)Написал черновую версию программы. В двух словах она делает следующее:
1. Разбирает электронные книги на отдельные слова с учетом морфологии
(Выводит список всех слов в окне с прокруткой и чекбоксом рядышком)
2. При отметке любого слова (ключевого) чекбоксом в РичТекстЭдите появляется объединенный полный текст всех введенных файлов, где ключевые слова выделены красным цветом. Навигация осуществляется кнопкой вверх/вниз.
3. Кроме ключевых слов в РичТекстЭдите можно выделить фрагмент текста и нажав правую кнопку мыши создать дополнительную сылку на этот фрагмент. Созданные вручную фрагменты выделяются желтым цветом, а их названия (другие слова) отображаются в новом листбоксе.
Программа удобна для составления подборок на заданную тему. Но есть проблема - все скрытые данные (позиции ключевых слов в объединенном файле, сам объединенный файл, позиции начала и конца желтого фрагмента, отмеченные чекбоксы и т.п.) хранятся в скрытых на этой же форме листбоксах, а при выходи из программы и входи сохраняются/читаются из текстовых файлов. Естественно это жутко тормозит программу. Особенно, когда в объединенный файл включается больше 15 больших художественных книг одновременно.
Сейчас хочу переписать программу с учетом ошибок и распихать данные в какую-нибудь БД для повышения скорости работы. Но вот какую базу использовать для данной задачи? Будьте добры, посоветуйте.
MsGuns (2011-06-21 13:37:00) [1]оракл
QAZ (2011-06-21 10:58:00) [2]крупица смысла есть ,но не более ;)
antonn (work) (2011-06-20 16:17:00) [3]в этом есть крупица смысла, многие плееры ведут статистику "мне нравица этот трек", с проставлением всяких рейтингов, подкачкой из инета обложек и прочего. Сам не пользуюсь, но знаю тех кто юзает (итюнс, например, наворочен, почему бы и нет?).
мне для игры нужно было, всяко быстрее работает чем на инифайлах
QAZ (2011-06-20 14:16:00) [4]нуда,щас даже самый задрипаный плейлист плеера в базы пихают...
antonn (work) (2011-06-20 14:01:00) [5]поиск по индексам там уже сделан, а себе придется еще делать :)
QAZ (2011-06-20 13:27:00) [6]да я не про удобство и скорость разработки
antonn (work) (2011-06-20 12:28:00) [7]sqlite
> QAZ (20.06.11 11:02) [8]
> БД<>скорость
Спорно. БД позволяет довольно быстро разработать проект, делать сложные выборки. В свое время для несложной программы делал все на типизированных файлах, потом взял БД и все стало значительно быстрее, проще.
QAZ (2011-06-20 11:02:00) [8]БД<>скорость
pavelkq (2011-06-20 06:49:00) [9]Сейчас сижу и понимаю, что самое важное, пожалуй, правильно придумать структуру базы. Пожалуй, тут мне никто не помощник.
alexdn (2011-06-19 22:31:00) [10]самая распространённая access.. и наверное самая рекомендуемая..
Loginov Dmitry (2011-06-18 11:14:00) [11]
> Но вот какую базу использовать для данной задачи? Будьте
> добры, посоветуйте.
Имхо, для вашей задачи подойдет абсолютно любая база данных. Из бесплатных рекомендую FireBird.
Эффективность решения зависит не от базы данных, а от того как вы сможете "переписать программу с учетом ошибок и распихать данные"
RWolf (2011-06-17 16:03:00) [12]Загрузка десятков мегабайт текста в RichEdit — небыстрый процесс.
Наверное, есть смысл сделать вьювер текста, который будет одномоментно подгружать и показывать (с подсветкой) только небольшую часть большого файла, а сам файл вместо загрузки просто отображать в память.
pavelkq (2011-06-17 15:45:00) [13]Я маленько ошибся, объединенный файл хранится в СтрингЛисте и ключевые слова тоже. Так и сохраняются на диск. Но другие данные все же в листбоксе. Как же их все держать в памяти? В каком виде? Надо хранить либо номера отмеченных позиций, либо все позиции и флаг выделения.
Может быть можно сделать считывание объединенного файла не целиком в память (в СтрингЛист), а кусками по мере прокрутки?
Есть еще такая проблема: когда я в списке ключевых слов чекаю какой-то слово, то программа пробегает по всему списку, чтобы определить какой из них отмечен, а затем уже пробегает по объединенному файлу и выделяет слова красным. Как бы ускорить этот алгоритм?
Ega23 (2011-06-17 15:27:00) [14]
> RWolf © (17.06.11 15:24) [1]
+1
RWolf (2011-06-17 15:24:00) [15]полагаю, для ускорения загрузки достаточно не хранить данные в листбоксах.