От автора Сразу отвечу на вопрос "Почему такой скачок в версиях?" Были произведены кардинальные изменения как в программном коде, так и в структуре базы данных. Билдов (невыложенных) было очень много. Изменения, производимые в программе не фиксировал по причине банальной лени и нехватки времени. К тому же, я думаю, что программа уже достаточно функциональна и достойна того, чтобы изменить мажорный номер версии. В процессе работы над программой мне очень помогают замечания пользователей. Большое количество ошибок и недочетов выявлено именно ими. По мере возможности я постарался в данном файле указывать имена или ники (форум fictionbook.org) людей выявивших ошибку или посоветовавших внести какое-либо изменение в программу. Большое им спасибо за помощь! Важные (ИМХО) замечания по алгоритму работы программы: 1. Названия книг, Серий в базе данных (и соответственно в Description после редактирования) хранятся в виде ProperCase (т.е. каждое слово с заглавной буквы). Предваряя вопросы: пробовал по-разному, МНЕ ПОНРАВИЛСЯ ЭТОТ ВАРИАНТ. 3. При сохранении книги на диск, а так же в режиме работы с файловой системой имя файла книги формируется следующим образом: Фамилия_Имя (или Имя_Фамилия) (в зависимости от режима LNFN или FNLN) ПЕРВОГО В СПИСКЕ АВТОРА + Название_книги + (Название_Серии-Номер_в_серии) Причем, в зависимости от значения ключа "Транслит" в настройках все это будет или кириллицей или латиницей. 4. При формировании имени файла заменяются на подчеркивание символы не входящие в диапазон: ['A'..'Z', 'a'..'z', '0'..'9', '-', '!', '_', 'А'..'Я', 'а'..'я', 'Ё', 'ё'] 5. При сохранении в базе данных (и в книге после выгрузки из библиотеки) обложка преобразуется к JPG, независимо от того, в каком формате она была в исходном файле. Ограничения 1. Не поддерживается отображение более 1 обложки для каждой книги 2. Размер аннотации книги ограничен 4096 байтами (я считаю, что больше - это уже предисловие). При большем размере сканер не пропустит 3. Есть ограничения по длине полей. Обычно лишнее урезается справа. Но сканер может и не пропустить (не до конца проверил). 4. Может есть еще что-то, просто на данный момент я не вспомнил. TODO Функционал: -Визуализация физического размера файла базы данных -Сохранение Ini-файла не в рабочем каталоге -Перенос/копирование из библиотеки в библиотеку -Добавление книг формата не FB2 Plugins: -Экспорт списка книг в XML,CVS,TXT,XLS -Экспорт заголовков (BookInfo) (plugin) -Построение простейшего сайта на основе БД (plugin) History Версия 1.0.0.8 RC1 (DB+File System Version) + Исправлена серьезная ошибка. При редактировании информации о книге менялся ID документа. Теперь он остается прежним ! Добавил возможность сортировки в таблицах щелчком по заголовку (Glassy) + Изменил диалог создания библиотеки. Теперь сразу можно выбрать режим хранения книг (Admin) + Zip-ы из TMP теперь удаляются. + Добавил в сканер расшифровку ошибки/деталей дубликата (Admin) + Исправил ошибку записи списка жанров. Не производился поиск в алтернативных названиях ! Таблица Errors перенесена в файл FBLIBRARY.FDB ! Переделана форма отображения статистики. Теперь можно увидеть количество прочитанных книг (Alex) ! Добавлена возможность выбора действия по двойному клику по книге в списке (Не помню, кто просил) Версия 1.0.0.4 RC1 (DB+File System Version) + Косметические изменения + Перевод заголовка главной формы работает нормально + Убрал кнопки удалить обложку и загрузить обложку с главной формы -теперь доступны только в корректировке информации о книге + В комплект включена исправленная база данных + В сканере исправлен участок, отвечающий за замену книг в базе найденным дубликатом (теперь обновляется не только сам файл, но и информаци в базе данных) + Исправлена процедура изменения способа хранения (при большом количестве книг системе не хватало ресурсов, сейчас процедура работает стабильно. Проверено на 7000 книгах) ! Добавлена возможность указать папку на СЕ устройcтве при передаче файлов. (проверял на 2 устройствах Qtek 2020 и iPAQ 1915. В основную память прошло на ура в обоих случаях, на Storage Card на iPAQ скопировалось нормально, на Qtek файл сбойный. Подозреваю флешку. Проверяйте). Папка сохраняется в ini-файле. ! Положение и размер главной формы, формы просмотра обложки, формы сканера, а также положения и размеры колонок грида, положения и размеры панелей сохраняется при выходе в файле props.ini. Оборотная сторона: пришлось на данных формах отключить максимизацию и в первый раз они могут встать некрасиво на экране (свойство Position выставлено в poDesigned) Версия 1.0 RC1 (DB+File System Version) FB2-Сканер ! Сканер сильно переработан и перенесен из dll в основную программу ! Изменен алгоритм определения дубликатов. Теперь во внимание принимается ID из файла книги. ! Добавлена возможность отложить обработку ошибок сканирования на другой сеанс работы с программой ! Убран режим автоматического переноса файлов по папкам в процессе сканирования Это можно сделать вручную по правому клику на списке ошибок ! Теперь можно заменить книгу в библиотеке дубликатом, найденным в процессе сканирования ! При перемещении по списку ошибок в случае дубликата внизу отображается книга из библиотеки, чей дубликат был найден. Здесь же видна версия документа. Библиотека ! Оптимизорваны запросы к базе данных. Теперь запуск программы происходит значительно быстрее ! На вкладках отображается размер архива с книгой ! Добавлена информация о количестве рецензий на книгу ! Изменена панель с алфавитными вкладками для авторов (вместо вкладок теперь надписи) ! Подписи для вкалдок вынесены в отдельный файл ABC.TXT в папке Language ! Добавлен режим хранения книг в виде файловой системы, замечания - см. выше ! Поменял движок скинов. Программа "понимает" *.msstyle ! Добавлена работа с авторами. В базе данных есть таблица синонимов автора. При работе по ней сканера производится поиск в первую очередь. При нахождении совпадения в базу попадают правильные значения данных автора (файл книги при этом не меняется) ! Добавлены кнопки часто используемых операций на панель управления ! Включено отображение всплывающих подсказок к кнопкам ! Есть возможность импорта жанров из файла genres_transfer. При этом происходит не полная замена жанров, а ОБНОВЛЕНИЕ существующих. К сожалению я не смог (пока) найти способ напрямую использовать этот файл без импорта. ! На панель инструментов выведена кнопка "Обновить". При нажатии на нее происходить переоткрытие запросов на текущей вкладке. Я отказался от автоматического обновления в пользу быстродействия ! Расширен функционал многопользовательской версии: - При добавлении книги теперь фиксируется, кем она добавлена - Добавлена возможность не отображать прочитанные книги - Для каждой книги можно вести "цитатник". Построен по тому же принципу, что история и рецензии - Удалять книги может либо тот, кто эту книгу внес, либо владелец библиотеки. - Удалить автора может только владелец библиотеки - Добавлена возможность запомнить пользователя, входящего в программу по умолчанию (если вы владелец библиотеки и работаете с чужого рабочего места НЕ ИСПОЛЬЗУЙТЕ ЭТУ ВОЗМОЖНОСТЬ (если вас интересует результат :))). + Устранена ошибка, когда в описание книги с отсутствующей обложкой записывалась обложка от другой, уже обработаной книги + Исправлено много незначительных ошибок Версия 0.3.1.2 ! Поддержка скинов (пока есть 5 встроенных) в планах - загрузка из файлов ! Удаление авторов ! Многопользовательский режим Отметка о прочтении Авторизация пользователя Статус "Владелец библиотеки" Рецензия История для каждого пользователя Избранное для каждого пользователя + Очистка временного каталога + Статистика после добавления книг в библиотеку + Добавлено несколько кнопок на панель инструментов Сканер: + Изменен алгоритм декодирования обложки. Теперь это происходит намного быстрее даже на больших (порядка 1 Мб) обложках. + Исправил ошибку кодирования обложки (формат Base64 в конце м.б. не более 2 знаков =). + Подправил алгоритм распознавания MIME для обложки. Версия 0.2.0.32 ! Добавлен украинский языковый файл (Alex) + Не работает "переносить в зависимости от результата операции" (Stepochka) + Неправильно заполняется autorlist + Не отображается autorlist для книг с 2 и более авторами + После правки информации о книге частично убивается информация об авторе, в главном окне автора книги видно, а через поиск по имени/фамилии автора книга больше не находится (Stepochka) + Ещё, если править инфо о книге без обложки, в окне светится обложка от последней редактируемой и сохранённой (Stepochka) + UTF кодировка нестабильно пишется в файл + на PDA и при сохранении книги на диск создаётся архив с именем .fb2.zip (Stepochka) + Не очищается папка tmp независимо от указания в настройках (Stepochka) + Исправлена ошибка поиска по интервалу дат (при задании периода менее двух дней не находилось ничего) + Заменил гриды на главной форме для обзора большего количества информации и для введения впоследствии лучшей функциональности + Поставил задержку на обновление Detail датасетов при перемещении по Master Перемещение стало более комфортным (ИМХО). Detail обновляется теперь только при остановке прокрутки Master + Окно можно развернуть на весь экран (Stepochka) Сканер: ! Немного оптимизировал код и изменил интерфейс ! Добавил возможность прервать сканирование (Stepochka) ! Добавил окно для вывода текущей операции ! Добавил расшифровку ошибок на каждом из этапов работы (MAX) + Устранил ошибку, связанную с Американскими настройками даты (yyyy.mm.dd) (спасибо за найденный глюк, MAX) Версия 0.2.0.23 1. Заменена компонента, отвечающая за работу с ZIP. (Admin) 2. Сканер FB2 вынесен в отдельную DLL 3. Сканер теперь осуществляет реккурсивный обход папок, начиная с указанной (j0ker) 4. Изменена структура базы данных. 5. Оптимизированы запросы 6. Добавлена поддержка языковых файлов 7. Добавлена возможность регистрации нескольких библиотек (в т.ч. и находящихся на удаленном компьютере) 8. Добавлена возможность подключения программы для чтения 9. Изменено оформление интерфейса программы 10. В редактирование BookInfo добавлены недостающие поля 11. При сохранении BookInfo теперь обновляется сам файл в базе данных 12. Добавлена поддержка plugin-ов 13. Операция по сохранению базы в структуру папок вынесена в plugin 14. Исправлена ошибка с названиями, содержащими кавычки и пр. недопустимые символы 15. Исправлены ранее остававшиеся незамеченными ошибки 16. Начиная с этой версии я работаю над программой один. Замеченные недоработки и недочеты: 1. Не всегда правлильно отрабатывает "Портал" при невозможности подключения к последней открытой библиотеке. 2. При выгрузке из библиотеки на диск поддерживаются пока только UTF-8 и Win-1251. (У меня не было файлов в других кодировках - проверить остальные не смог) Версия 0.1 beta 1 Начальная версия