Member
Статус: Не в сети Регистрация: 23.12.2004 Откуда: Беларусь, Минск
После того, как поюзал прогу Picasa захотелось заиметь нечто подобное, но для любых файлов.
Пока у меня сдача диплома, вступительные, туда-сюда парюсь - но идейка созрела, и как я представляю - достаточно простая в реализации.
Короче, что это будет:
1
Будет база данных файлов (я пока MySQL юзал по веб-интерфейсу, но вроде представляю, как это работает) - в ней хранятся сведения о файле, ключевые слова (задаётся юзером, но если кто предложит алгоритм поиска и выделения ключевых слов для текстовых файлов, html, doc - буду рад).
2
Создаются виртуальные папки в которых файлы будут только по определённым критериям (размер, ключевое слово, тип...). Однако я пока не представляю как это сделать с стандартным explorer'ом - наверне, просто будет свой "просмотрщик" виртуальных папок - это я не плагиатил из Висты - сам когда узнал про виртуальные папки - обалдел 3
Должен быть конвертер всего-во-всё возможное.
Т.е. при райт-клике на картинке должно быть меню:
Convert to>
-jpg
-png
...
На тексте - в ртф, док, хтмл...
4,5,6...
Воможно - всякие плюшки типа планировщика, календаря, просмотра rss-ок...
Чего я тут это разместил?
Хочу прояснить некоторые моменты, которые могут вызвать затруднения, чтобы потом не наступать на грабли:
1 Хорошо знаю только Делфи. Юзаю седьмую версию - может новые удобнее, лучше?
1.1 Что есть такого хорошего в Делфи.нет (вроде 8, или 2006-ой?) кроме малого размера экзешника?
2. Список обрабатываемых папок (в которых автоматически будут отслеживаться изменения с файлами) хранить в ini или рееестре или БД?
3. Как интегрировать свои операции в контекстное меню?
_________________ ASUS A4M88T-M, Athlon II X3 425, 2GB NCP, video - internal ATI 4250, 200GB Samsung HDD, Win7 x64
Advanced member
Статус: Не в сети Регистрация: 09.06.2003 Откуда: USSR
1. Новые не трожь, пожалееш Поверь я до сих пор сищу на 7 версии, хотя перетыкал уже 3 новые версии. Наиболее убогая это последняя Delphi 2006. IDE грудится годами, жрет тучу памяти и после 15 минут работы жутко тормозит
1.1 Про это убожество вообще забудь!!! Твой малый .exe тянет за собой 20Mb .NET FrameWork и заметь , Borland уроды и в 2006 версии все .NET приложения компилируются под .NET 1.1 !!! И это когда на носу уже NET 3.0!
2. А чем BD не устраивает? Самый легкий вариант это использование ADO + хранения данных в формате Access при чем для этого на компе даже Office не требуется, так как поддержка работы с mdb файлами в XP уже встроеная.
3. В нете есть большая куча статей по написанию shell extentions, и даже в комплекте Delphi (в папке demos) такое есть!
________
По поводу самой программы я так и не понял, а что же собственно ты хочеш написать!?
Advanced member
Статус: Не в сети Регистрация: 30.08.2003 Откуда: Санкт-Петербург
Цитата:
2. А чем BD не устраивает? Самый легкий вариант это использование ADO + хранения данных в формате Access при чем для этого на компе даже Office не требуется, так как поддержка работы с mdb файлами в XP уже встроеная.
mdb с глаз долой и с сердца вон! вариантов на замену два - тот же DBF или SQL.
Цитата:
1 Хорошо знаю только Делфи. Юзаю седьмую версию - может новые удобнее, лучше?
для этих целей за уши хватит.
Цитата:
2. Список обрабатываемых папок (в которых автоматически будут отслеживаться изменения с файлами) хранить в ini или рееестре или БД?
либо ini, либо БД. реестр не трогать - он и так большой + переносимость теряется. Опять импорт/экспорт придется делать. а с ини или базой просто - взял файли и скопировал куда надо.
Цитата:
3. Как интегрировать свои операции в контекстное меню
поиск по shell extensions. Рекомендую сначала с основным кодом разобраться, а потом уже наворачивать всяческие фичи.
Цитата:
Должен быть конвертер всего-во-всё возможное. Т.е. при райт-клике на картинке должно быть меню: Convert to> -jpg -png ... На тексте - в ртф, док, хтмл...
разумно будет поддержку каждого формата вынести в отдельный файл DLL. Типа плугинов. Возможно с открытым интерфейсом, дабы народ сам их писал.
_________________ {:€ дед в законе :-) нородный окодемег почетный пользователь OpenSuSE 11.3 Ремонт и модернизация ноутбуков IBM (Lenovo) ThinkPad
Member
Статус: Не в сети Регистрация: 23.12.2004 Откуда: Беларусь, Минск
Qt3 - это же в Линухе? Добавлено спустя 2 минуты, 9 секунд И ещё
Расширяемость - один из основных залогов успеха, но
как сделать так, чтоб при нахождении модуля (опр. формата или Dll - пока не знаю как правильнее и удобнее) прога сама добавила пару строчек и функций себе?
_________________ ASUS A4M88T-M, Athlon II X3 425, 2GB NCP, video - internal ATI 4250, 200GB Samsung HDD, Win7 x64
Advanced member
Статус: Не в сети Регистрация: 09.06.2003 Откуда: USSR
AzaZeo писал(а):
как сделать так, чтоб при нахождении модуля (опр. формата или Dll - пока не знаю как правильнее и удобнее) прога сама добавила пару строчек и функций себе?
Это все зависит от тебя. Как реализуеш так и будет работать.
Root писал(а):
mdb с глаз долой и с сердца вон! вариантов на замену два - тот же DBF или SQL.
Чем это тебе mdb так не угодил то!? Там хотябы есть view, а вот DBF это уже левак полный Без SQL сервера самым удобным вариантом является mdb
Member
Статус: Не в сети Регистрация: 23.12.2004 Откуда: Беларусь, Минск
Ray Adams
Ray Adams писал(а):
Это все зависит от тебя. Как реализуеш так и будет работат
А какие есть способы реализации этого? Я представляю так - поиск в спец папке библиотек определённого имени, затем импорт из них функций в строгом порядке (по индексу - хотя где-то читал, что микрософт хочет убрать индексы - вроде в книге Фаронова по Делфи 7)... так как собрать функции - вроде ясно, но как их вывести в интерфейс, где их не было - вот в чём вопрос!
Ray Adams писал(а):
Root писал(а): mdb с глаз долой и с сердца вон! вариантов на замену два - тот же DBF или SQL.
Чем это тебе mdb так не угодил то!? Там хотябы есть view, а вот DBF это уже левак полныйБез SQL сервера самым удобным вариантом является mdb
Так... желательно попоробнее и с комментариями, чтобы я тоже понял:)
_________________ ASUS A4M88T-M, Athlon II X3 425, 2GB NCP, video - internal ATI 4250, 200GB Samsung HDD, Win7 x64
Advanced member
Статус: Не в сети Регистрация: 30.08.2003 Откуда: Санкт-Петербург
AzaZeo
Цитата:
Qt3 - это же в Линухе?
нет. Это библиотека GUI-компонентов. Примерно как и у Борланда. Только она есть и под Линух, и под Винду, и под другие оси. Ray Adams
Цитата:
Чем это тебе mdb так не угодил то!
а если большую базу набрать в нем? даже в родном access'е база пару раз умудрялась слететь.
Цитата:
Там хотябы есть view
и много от него радости?
Цитата:
а вот DBF это уже левак полный
FoxProшный формат. Юзается в куче различных мест (начиная еще с ДОС-приложений вроде всяческих медицинских баз и кончая виндовыми вроде базы по паспортам) Причем для работы DBF'а SQL-сервер ставить не надо
_________________ {:€ дед в законе :-) нородный окодемег почетный пользователь OpenSuSE 11.3 Ремонт и модернизация ноутбуков IBM (Lenovo) ThinkPad
Advanced member
Статус: Не в сети Регистрация: 09.06.2003 Откуда: USSR
Root писал(а):
а если большую базу набрать в нем? даже в родном access'е база пару раз умудрялась слететь.
Если не ломать , то все нормально. Большая это по втоему сколько!? DBF к примеру тоже не супер, елси ты таблицу раздуеш на 25 мегов , то такие тормоза будут!
Root писал(а):
Причем для работы DBF'а SQL-сервер ставить не надо
Member
Статус: Не в сети Регистрация: 23.12.2004 Откуда: Беларусь, Минск
а кто мне пояснит про
AzaZeo писал(а):
А какие есть способы реализации этого?Я представляю так - поиск в спец папке библиотек определённого имени, затем импорт из них функций в строгом порядке (по индексу - хотя где-то читал, что микрософт хочет убрать индексы - вроде в книге Фаронова по Делфи 7)... так как собрать функции - вроде ясно, но как их вывести в интерфейс, где их не было - вот в чём вопрос!
?
_________________ ASUS A4M88T-M, Athlon II X3 425, 2GB NCP, video - internal ATI 4250, 200GB Samsung HDD, Win7 x64
Member
Статус: Не в сети Регистрация: 14.01.2004 Откуда: Киев, Украина
AzaZeo бррр, объявляешь для ддлок какой-то специальный набор функций, чтобы они его экспортировали. В свой программе берешь список файлов определенной дирректории, все для всех файлов с расширением dll делаешь LoadLibrary и с помощью GetProcAddress импортруешь нужные ф-ции, указатели на эти ф-ции хранишь в каком-нибудь векторе.
_________________ Ку ку
Последний раз редактировалось Daemon 19.06.2006 18:40, всего редактировалось 1 раз.
Member
Статус: Не в сети Регистрация: 23.12.2004 Откуда: Беларусь, Минск
ёпть - как много я не знаю. Чуть по-проще - как сделать, чтобы в меню интерфейса появилсяь строчка на функцию/процедуру из НОВОЙ дллки?
А моежет параметры хранить в ini файлах? Или файлах типа своего данных (модиф. Record)? Грузить их в массивы и сортировать повсякому?
Или всё-таки БД имеют выигрыш в скорости?
_________________ ASUS A4M88T-M, Athlon II X3 425, 2GB NCP, video - internal ATI 4250, 200GB Samsung HDD, Win7 x64
Advanced member
Статус: Не в сети Регистрация: 30.08.2003 Откуда: Санкт-Петербург
AzaZeo
Цитата:
как сделать, чтобы в меню интерфейса появилсяь строчка на функцию/процедуру из НОВОЙ дллки?
1) сканнить каталог проги на наличие плугинов. Создавать их список в памяти
2) динамически генерировать меню, где пункты меню будут вызывать так или иначе код плугина.
_________________ {:€ дед в законе :-) нородный окодемег почетный пользователь OpenSuSE 11.3 Ремонт и модернизация ноутбуков IBM (Lenovo) ThinkPad
Advanced member
Статус: Не в сети Регистрация: 12.01.2004
Root
Root писал(а):
тот же DBF
Слишком старо и неудобно + нужно будет ставить BDE, который не сильно-то хочеться тащить с собой (сужу по 5-й версии Delphi, с более поздними уже не работал)
Root писал(а):
или SQL.
Это как Ray Adams
Ray Adams писал(а):
Без SQL сервера самым удобным вариантом является mdb
Без SQL сервера самым удобным вариантом являются EmbendedDB. Т.е. сервер или не нужен (в основном функционала в них мало) или же "серверок" встраивается в саму программу/используется как DLL. Пример - тот же Interbase/Firebird. По-моему самое простое и элегантное решение + полная независимость от системы (а то мало ли кто там что с Access-драйвером натворил)
Advanced member
Статус: Не в сети Регистрация: 12.01.2004
Root Если не BDE, то драйвер для DBF, который в свою очередь опять может конфликтовать с уже установленным. Или я отстал от жизни и в 7-ке уже ничего ставить не нужно?
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 28
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения