Мы всегда рады услышать ваше мнение и пожелания по дальнейшему развитию программы.
0
Fixed

Ссылка на местоположение файла

Геннадий Алехин 3 years ago • updated 3 years ago 11
Привет. Спасибо за программу. Пользуюсь давно, нравится. Теперь проблема. Режим хранения - индекс. При попытке внести изменения в информацию о книге требует, чтобы файл был расположен в том месте, откуда был импортирован. А файлов там давно нет. (Импортирую из временных папок). В прошлогодних версиях все менялось без проблем. Подскажете как исправить?
Answer
Andrej Repin 3 years ago
Исправлено в версии 1.4.1190.0
0
Answered

Планируется ли возможность установки программы на флэшку?

NOVl 5 years ago 0

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

Answer
Andrej Repin 5 years ago
Если установленную программу перенести на "флэшку", то она прекрасно с неё запустится. Единственная проблема в конфигурационных и служебных файлах, которые располагаются в папке %LOCALAPPDATA%\Gremlin\Fb2Library. Если хочется иметь настоящую portable версию, создайте предложение по этой идее на этом сайте.
0
Answered

Режим хранения "Index only"

Илья Агафонов 6 years ago • updated by Andrej Repin 6 years ago 7

У меня база в режиме "Index only", будет ли возможность перевести ее в режим "database"? файлы хранятся локально на жестком диске.

Answer
Andrej Repin 6 years ago
Такая возможность будет реализована в одной из следующих версий. Пока у меня другие приоритеты.
0
Fixed

Анотация

Valerij Morozov 5 years ago 0

При импорте не fb2 файлов, вручную введя описание, не сохраняется аннотация

Answer
Andrej Repin 5 years ago
Спасибо. Ошибка исправлена, исправление будет доступно в следующем обновлении.
0
Fixed

Библиотека. Новые поступления.

Stepan 6 years ago 0

В версии 1.1.352.1 новые поступления у меня не работают, книги добавляю, они в выборках "неделя, месяц, год" не появляются.

Answer
Andrej Repin 6 years ago
Появляется, воспроизвести не удалось.

UPD:
Воспроизвелось, исправлено в версии 1.1.366.1
0
Fixed

Ошибка разбора книги после объединения авторов

Stepan 5 years ago • updated by Andrej Repin 5 years ago 3

После действия "Объединить автора с..." при обработке книги автора которого объединили, действие "Создать документ наряду со старым", выдаётся ошибка разбора:
violation of FOREIGN KEY constraint "FK_BOOK_AUTOR_AUTOR" on table "BOOK_AUTOR"
No message for error code 335544838 found.

Answer
Andrej Repin 5 years ago
Исправлено, будет доступно в следующем обновлении.
0
Completed

Скроллинг ползунком

ve51 6 years ago • updated by Andrej Repin 6 years ago 3

Пользоваться скроллингом с помощью ползунка в списках авторов и книг совершенно невозможно. Предлагаю вернутся к традиционному варианту и не изобретать велосипед с квадратными колесами.

Answer
Andrej Repin 6 years ago
Я вот даже не знаю как мне воспринимать "велосипед с квадратными колесами"?

Этот "велосипед", как вы изволили выразится, называется "Deferred Scrolling" и служит для оптимизации производительности больших списков.

UPD: Пока переключил прокрутку в нормальный режим, а там посмотрим...
0
Fixed

1.2.456.1 - у меня внутренний редактор не изменяет файлы книг

ve51 6 years ago • updated by Andrej Repin 6 years ago 6

1.2.456.1 - у меня внутренний редактор не изменяет файлы книг, в базе данные меняются.
Внешний (FBE) работает, только иногда при закрытии сообщение об ошибке, но без видимых последствий. Если с помощью FBE прописываю серию, то потом во внутреннем редакторе её не видно.

Answer
Andrej Repin 6 years ago
Ошибка была в коде подтверждения сохранения изменений. Исправление будет доступно в следующей версии.
0
Under review

Convert 2 UTF8

Илья Агафонов 6 years ago 0

Вчера от IBExpert Team пришло письмо с вложенным SQL скриптом конвертирования баз в различных кодировках в том числе NONE в кодировку UTF8. Вот я и решил поделится может быть пригодится и в библиотекаре...



execute ibeblock
as
begin
--Change these variables
source='LOCALHOST:C:\db\db1.fdb';
sourcecharset='ISO8859_1';
sourcecollate='DE_DE';
target='LOCALHOST:C:\db\db1_utf8.fdb';
scriptdir='c:\db\dump\';
bakfile='C:\db\test.fbk';
--End of variables

cbb = 'execute ibeblock (
LogLine variant)
as
begin
ibec_progress(LogLine);
end';

ibec_BackupDatabase(source,bakfile,'ClientLib=fbclient.dll;Password=masterkey; User=SYSDBA; G;',cbb);

--optionally you can also restore the source database; here it has been commented out.
--ibec_RestoreDatabase(bakfile, source,'ClientLib=fbclient.dll;Password=masterkey; User=SYSDBA; C; REP; O;',cbb);

--Create a connection to the source database and open it
sourceDB = ibec_CreateConnection(__ctFirebird,'DBName="'+source+'";ClientLib=fbclient.dll;User=SYSDBA; Password=masterke; Names='+sourcecharset+'; SqlDialect=3');
use sourceDB;

--Create a comma-separated list of table names, to transfer the data
tnlist='';
komma='';
for
select trim(rdb$relations.rdb$relation_name) from rdb$relations
where rdb$relations.rdb$relation_name not containing '$'
and rdb$relations.rdb$view_blr is null
into
:tn
do
begin
tnlist=tnlist||komma||tn;
komma=',';
end

--Call the Extract Metadata script function, to create a database dump including metadata, data and blobs.
ibec_ExtractMetadata(sourceDB, scriptdir,'GenerateConnect;IncludePassword;SetGenerators;ExtractDescriptions;
SeparateComputedBy;CommitAfter=50000;MaxFileSize=100;UseCreateOrAlter;ExtractBLOBs;
ExtractPrivileges;OnlySelectedPrivileges;UseReinsert;TrimStrings;SeparateFiles;
DateFormat=YYYY-MM-DD;DataTables='||tnlist,cbb);

--If the target database already exists, then drop it, if errors occur, then ignore.
try
res = ibec_dropdatabase(__ctFirebird,
'DBName="'+target+'";
ClientLib=fbclient.dll;
User=SYSDBA; Password=masterke;');
except
end;
if (res is not null)
then ibec_Progress('Datenbank erfolgreich gelцscht');

--Create a new database with the character set UTF8
TargetDb = ibec_createdatabase(__ctFirebird,'DBName="'+target+'";ClientLib=fbclient.dll;PageSize=16384;User=SYSDBA; Password=masterke; DefaultCharset=UTF8; SqlDialect=3;');
ibec_Progress('UTF8 Datenbank erfolgreich erzeugt');

--Reconnect to the source database and make some changes to the header script:
use sourcedb;
txt=ibec_LoadFromFile(scriptdir+'_ibe$start_.sql');

--All fields and variables longer that 8190 bytes need to be cropped, because UTF8 is a multibyte character set.
for select distinct rdb$fields.rdb$field_length from rdb$fields where rdb$fields.rdb$field_length>8190 into :lx
do txt=ibec_StringReplace(txt,'('||lx||')','(8190)', __rfReplaceAll + __rfIgnoreCase);

txt=ibec_StringReplace(txt,'SET NAMES NONE;','SET NAMES '+sourcecharset+';', __rfReplaceAll + __rfIgnoreCase);
txt=ibec_StringReplace(txt,'COLLATE '+sourcecollate,'COLLATE UTF8', __rfReplaceAll + __rfIgnoreCase);
txt=ibec_StringReplace(txt,source,target, __rfReplaceAll + __rfIgnoreCase);
ibec_SaveToFile(scriptdir+'_ibe$start_.sql',txt,__stfOverwrite);

--do the same in the footer script
txt=ibec_LoadFromFile(scriptdir+'_ibe$finish_.sql');
for select distinct rdb$fields.rdb$field_length from rdb$fields where rdb$fields.rdb$field_length>8190 into :lx
do txt=ibec_StringReplace(txt,'('||lx||')','(8190)', __rfReplaceAll + __rfIgnoreCase);
ibec_SaveToFile(scriptdir+'_ibe$finish_.sql',txt,__stfOverwrite);


txt=ibec_LoadFromFile(scriptdir+'runme.all.sql');
txt=ibec_StringReplace(txt,'INPUT ''','INPUT '''+scriptdir, __rfReplaceAll + __rfIgnoreCase);
ibec_SaveToFile(scriptdir+'runme.all.sql',txt,__stfOverwrite);

res = ibec_Exec('ibescript.exe '+scriptdir+'runme.all.sql -N -VD:\db\db1\runme.all.log ','',cbb);
end;

Answer
Andrej Repin 6 years ago
Cпасибо, может и пригодиться.
0
Fixed

Сканер. Модуль записи закрыт из за ошибки.

Stepan 6 years ago • updated by Andrej Repin 6 years ago 7

Зарядил с утра добавляться книги в режиме Индексирования, пришёл, а тут ошибка:

System.InvalidOperationException: Модуль записи закрыт из-за ошибки.
в System.Xml.XmlWellFormedWriter.AdvanceState(Token token)
в System.Xml.XmlWellFormedWriter.WriteEndElement()
в System.Xml.XmlWellFormedWriter.WriteEndDocument()
в  .    (XmlWriter ,    , IEnumerable`1 , IEnumerable`1 )
в Fb2Library.ImportView.(String )
в Fb2Library.ImportView.()
в Fb2Library.ImportView..(Object , RunWorkerCompletedEventArgs )
в System.ComponentModel.BackgroundWorker.OnRunWorkerCompleted(RunWorkerCompletedEventArgs e)
в System.ComponentModel.BackgroundWorker.AsyncOperationCompleted(Object arg)
в System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
в MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)

Answer
Andrej Repin 6 years ago