LibRusLib
Понедельник, 25.11.2024, 20:42
Приветствую Вас Гость | RSS
 
Главная ФорумРегистрацияВход
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Архив - только для чтения
Продолжаем работу
1_абрамДата: Четверг, 28.05.2009, 16:27 | Сообщение # 46
Генералиссимус
Группа: Друзья
Сообщений: 1207
Репутация: 0
Статус: Offline
Quote (drserj)
Если есть идеи - делитесь, будем думать...

Можно сделать так: если книжка находится в какой-то группе, то на нее режим "Показывать удаленные" не действует. Тогда реализуется вариант б), правда без "соответствующей пометки". Пометка имхо и не нужна, - если книжка выбрана, то пускай и остается в списке, а автоматическое отслеживание ее редакций хотя и возможно (название, и перечень авторов, как правило, не изменяются), но не очень в этом случае нужно.

Сообщение отредактировал 1_абрам - Четверг, 28.05.2009, 16:29
 
ShamsДата: Четверг, 28.05.2009, 18:48 | Сообщение # 47
Генерал-майор
Группа: Проверенные
Сообщений: 274
Репутация: 0
Статус: Offline
Quote (drserj)
Зачастую меняется и название, и перечень авторов и содержимое.

Ну, если меняется название книги или перечень/написание авторов, тут уж ничего не поделаешь. Я имел в виду только случай полного совпадения. Если дальше напишу чушь, не судите строго, я в программировании, вообще, и в базах данных, в частности, - ноль.
Нельзя ли книгу, занесенную в группу, как бы "полуоткрепить" от базы, скажем прописав ее дополнительно в какой-нибудь ini-файл. Так, чтобы с одной стороны она по прежнему вызывалась из базы, а с другой - при удалении ее из базы, из списка группы не пропадала. После обновления базы автоматически запускается сверка списка групп с ней. При обнаружении "беспризорной" книги, производится поиск идентичной по автору-названию вверх по ID. Если поиск удачен - старая книга заменяется новой, если нет - выставляется маркер удаления. Ну или хотя бы просто сразу выставить такой маркер при отсутствии книги из списка в базе.

Только сейчас увидел пост 1_абрам. И такой вариант бы удовлетворил. А пометка при этом будет автоматически - красным цветом.

Сообщение отредактировал Shams - Четверг, 28.05.2009, 19:01
 
drserjДата: Четверг, 28.05.2009, 19:32 | Сообщение # 48
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Репутация: 30
Статус: Offline
Значит, я понял 3 варианта:

1.Данные по отмеченным книгам загоняем в отдельную таблицу базы
2.Тупо не фильтруем по удалённым те записи, которые в группах (во всех гридах?)
3.Ищем на полную совместимость с удалённой и заменяем на найденный букид.

1 и 2 пункты не дают гарантии что книга есть в наличии
3 не дает гарантии, что останется полное соответствие.

Еще варианты, или давайте уточнять, на чем останавливаемся.


drSerj
 
1_абрамДата: Четверг, 28.05.2009, 22:22 | Сообщение # 49
Генералиссимус
Группа: Друзья
Сообщений: 1207
Репутация: 0
Статус: Offline
В любом случае надо сделать так, чтобы отмеченные книги не пропадали.

У меня обычно, если книжка отмечена (находится в группе), то она она скачана. Следовательно, и нет проблемы с наличием книжек.

М.б. сделать так: пункт 2 (во всех гридах). А если книжка отсутствует, то при попытке ее открыть выполняется пункт 3 (вместо этого можно сообщить, что книжки нет и пусть пользователь сам ищет новую редакцию книжки).

Сообщение отредактировал 1_абрам - Четверг, 28.05.2009, 22:22
 
drserjДата: Четверг, 28.05.2009, 23:20 | Сообщение # 50
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Репутация: 30
Статус: Offline
ых.. 2 пункт... опять нагружать sql-запрос... тихо тянемся к тормозам... ну и ладно...

drSerj
 
1_абрамДата: Пятница, 29.05.2009, 04:49 | Сообщение # 51
Генералиссимус
Группа: Друзья
Сообщений: 1207
Репутация: 0
Статус: Offline
Quote (drserj)
ых.. 2 пункт... опять нагружать sql-запрос... тихо тянемся к тормозам.

Ну тогда пункт 1 + пункт 3 , если книжки нет. Это сложнее в реализации. М.б. стоит сделать все это во второй ветке программы вместе с реализацией мультибиблиотечности.

 
drserjДата: Пятница, 29.05.2009, 16:15 | Сообщение # 52
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Репутация: 30
Статус: Offline
Ладно, подумаем... 2 ветку еще продумать надо. Просто создать на базе первой вторую - не логично.

drSerj
 
1_абрамДата: Суббота, 30.05.2009, 10:05 | Сообщение # 53
Генералиссимус
Группа: Друзья
Сообщений: 1207
Репутация: 0
Статус: Offline
Quote (drserj)
Ладно, подумаем... 2 ветку еще продумать надо. Просто создать на базе первой вторую - не логично.

Тебе виднее, лишь бы программа не стала медленной и монстрообразной. Пока все (за исключением нескольких мелочей) исключительно удобно.

 
drserjДата: Суббота, 30.05.2009, 13:04 | Сообщение # 54
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Репутация: 30
Статус: Offline
Quote (1_абрам)
лишь бы программа не стала медленной и монстрообразной

вот этого и не хочется


drSerj
 
ShamsДата: Воскресенье, 31.05.2009, 07:52 | Сообщение # 55
Генерал-майор
Группа: Проверенные
Сообщений: 274
Репутация: 0
Статус: Offline
Пользую для fb2-файлов AlReader. Но, иногда, возникает необходимость открыть книгу в HaaliReader или CoolReader. Естественно, первое, что приходит в голову - Пакетные операции. Книга открывается в нужной читалке, но... пока читалку не закроешь, Библиотекарь блокируется окошком выгрузки файла. Подстановка в качестве исполнимого файла не самой читалки, а батника из одной строки, ее вызывающего, чуть улучшает ситуацию - Библиотекарь можно разблокировать, принудительно закрыв окно Командной строки. Но все равно это как-то некузяво. Что можно предпринять в этой ситуации? Может есть какие-то команды, позволяющие завершить bat-файл до завершения вызванной из него программы? Или, может быть, уважаемый drserj введет в программу какие-нибудь настройки, позволяющие разрулить такую ситуацию?
 
drserjДата: Воскресенье, 31.05.2009, 12:53 | Сообщение # 56
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Репутация: 30
Статус: Offline
вариант автозакрытия в бат-файлах есть....
start /b F:\work\librusec\HaaliReader.exe %1
но, есть нюанс - файл удаляется после отработки скрипта и соответственно - если книга не успела открыться - файл автоматом удалится.
как вариант - можно создать в скрипте копию, но тогда прийдется удалять ее вручную. Как вариант - копировать в темп, который автоматом можно чистить. Вобщем, варианты есть, хоть и через ж....

Вообще-то по-хорошему хотелось создать развернутую работу со скриптами, но всё руки не доходят...

а... еще, как вариант, попробуй поиграйся не с батниками а с vb-скриптами, там, ессесно, возможностей куда больше.


drSerj
 
drserjДата: Воскресенье, 31.05.2009, 15:39 | Сообщение # 57
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Репутация: 30
Статус: Offline
Вот, как вариант, решение при помощи cmd-файла. Пути поправить под свои.
Файл копируется в темп-каталог с расширением tmp (при желании - можно и не переименовывать)

hr.cmd

Code
set p="F:\work\librusec\temp\%~n1.tmp"
copy %1 %p%  
start /b F:\work\librusec\HaaliReader.exe %p%


drSerj
 
ShamsДата: Воскресенье, 31.05.2009, 21:30 | Сообщение # 58
Генерал-майор
Группа: Проверенные
Сообщений: 274
Репутация: 0
Статус: Offline
Большое спасибо! То что надо.
Правда помучился с HaaliReader, пока не разобрался с лишними пробелами в конце строк, которые образовались при копировании. Почему-то он очень болезненно на них реагирует, в отличии от CoolReader.
А самостоятельно реализовать советы из предыдущего поста - не хватило знаний.
 
drserjДата: Воскресенье, 31.05.2009, 22:00 | Сообщение # 59
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Репутация: 30
Статус: Offline
Да незачто... Всего час брожений в гугле и рамблере biggrin
Ну забыл я уже коммандный язык smile


drSerj
 
1_абрамДата: Понедельник, 08.06.2009, 11:33 | Сообщение # 60
Генералиссимус
Группа: Друзья
Сообщений: 1207
Репутация: 0
Статус: Offline
Что-то у меня не получается конвертация в lrf. Cначала все заработало, а потом почему-то перестало. Появляется и быстро исчезает досовское окошко, а lrf файлы не появляются.

Настройки, вроде бы не менял:

-i %F -o %f.lrf -s default_styles.sini

Программа fb2lrf_c.exe работает.

 
Поиск:

Copyright LibRusLib © 2024