Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Какую базу применить? [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]

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо