Вниз
Скачать: CL | DM;

Какую базу применить?   Найти похожие ветки 

← →
pavelkq   (2011-06-17 15:16) [0]

Написал черновую версию программы. В двух словах она делает следующее:
1. Разбирает электронные книги на отдельные слова с учетом морфологии
(Выводит список всех слов в окне с прокруткой и чекбоксом рядышком)
2. При отметке любого слова (ключевого) чекбоксом в РичТекстЭдите появляется объединенный полный текст всех введенных файлов, где ключевые слова выделены красным цветом. Навигация осуществляется кнопкой вверх/вниз.
3. Кроме ключевых слов в РичТекстЭдите можно выделить фрагмент текста и нажав правую кнопку мыши создать дополнительную сылку на этот фрагмент. Созданные вручную фрагменты выделяются желтым цветом, а их названия (другие слова) отображаются в новом листбоксе.
Программа удобна для составления подборок на заданную тему. Но есть проблема - все скрытые данные (позиции ключевых слов в объединенном файле, сам объединенный файл, позиции начала и конца желтого фрагмента, отмеченные чекбоксы и т.п.) хранятся в скрытых на этой же форме листбоксах, а при выходи из программы и входи сохраняются/читаются из текстовых файлов. Естественно это жутко тормозит программу. Особенно, когда в объединенный файл включается больше 15 больших художественных книг одновременно.
Сейчас хочу переписать программу с учетом ошибок и распихать данные в какую-нибудь БД для повышения скорости работы. Но вот какую базу использовать для данной задачи? Будьте добры, посоветуйте.


← →
RWolf ©   (2011-06-17 15:24) [1]

полагаю, для ускорения загрузки достаточно не хранить данные в листбоксах.


← →
Ega23 ©   (2011-06-17 15:27) [2]


> RWolf ©   (17.06.11 15:24) [1]


+1


← →
pavelkq   (2011-06-17 15:45) [3]

Я маленько ошибся, объединенный файл хранится в СтрингЛисте и ключевые слова тоже. Так и сохраняются на диск. Но другие данные все же в листбоксе. Как же их все держать в памяти? В каком виде? Надо хранить либо номера отмеченных позиций, либо все позиции и флаг выделения.
Может быть можно сделать считывание объединенного файла не целиком в память (в СтрингЛист), а кусками по мере прокрутки?

Есть еще такая проблема: когда я в списке ключевых слов чекаю какой-то слово, то программа пробегает по всему списку, чтобы определить какой из них отмечен, а затем уже пробегает по объединенному файлу и выделяет слова красным. Как бы ускорить этот алгоритм?


← →
RWolf ©   (2011-06-17 16:03) [4]

Загрузка десятков мегабайт текста в RichEdit — небыстрый процесс.
Наверное, есть смысл сделать вьювер текста, который будет одномоментно подгружать и показывать (с подсветкой) только небольшую часть большого файла, а сам файл вместо загрузки просто отображать в память.


← →
Loginov Dmitry ©   (2011-06-18 11:14) [5]


> Но вот какую базу использовать для данной задачи? Будьте
> добры, посоветуйте.


Имхо, для вашей задачи подойдет абсолютно любая база данных. Из бесплатных рекомендую FireBird.
Эффективность решения зависит не от базы данных, а от того как вы сможете "переписать программу с учетом ошибок и распихать данные"


← →
alexdn ©   (2011-06-19 22:31) [6]

самая распространённая access.. и наверное самая рекомендуемая..


← →
pavelkq   (2011-06-20 06:49) [7]

Сейчас сижу и понимаю, что самое важное, пожалуй, правильно придумать структуру базы. Пожалуй, тут мне никто не помощник.


← →
QAZ   (2011-06-20 11:02) [8]

БД<>скорость


← →
antonn (work)   (2011-06-20 12:28) [9]

sqlite


> QAZ   (20.06.11 11:02) [8]
> БД<>скорость

Спорно. БД позволяет довольно быстро разработать проект, делать сложные выборки. В свое время для несложной программы делал все на типизированных файлах, потом взял БД и все стало значительно быстрее, проще.


← →
QAZ   (2011-06-20 13:27) [10]

да я не про удобство и скорость разработки


← →
antonn (work)   (2011-06-20 14:01) [11]

поиск по индексам там уже сделан, а себе придется еще делать :)


← →
QAZ   (2011-06-20 14:16) [12]

нуда,щас даже самый задрипаный плейлист плеера в базы пихают...


← →
antonn (work)   (2011-06-20 16:17) [13]

в этом есть крупица смысла, многие плееры ведут статистику "мне нравица этот трек", с проставлением всяких рейтингов, подкачкой из инета обложек и прочего. Сам не пользуюсь, но знаю тех кто юзает (итюнс, например, наворочен, почему бы и нет?).
мне для игры нужно было, всяко быстрее работает чем на инифайлах


← →
QAZ   (2011-06-21 10:58) [14]

крупица смысла есть ,но не более ;)


← →
MsGuns ©   (2011-06-21 13:37) [15]

оракл



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: -0.995 c
2-1308515045
Geo
2011-06-20 00:24
2011.10.09
Видимость комонентов приналожении


2-1308471338
Pepe
2011-06-19 12:15
2011.10.09
TThread - Хм....Виснет однако....


2-1288558535
Rembo2010
2010-10-31 23:55
2011.10.09
Как узнать ip-адрес?


15-1308328493
alexdn
2011-06-17 20:34
2011.10.09
по Inno setup


15-1308317438
Brabus
2011-06-17 17:30
2011.10.09
Ограничение на ввод




   Наверх