Огромная просьба!
Если вы пользуетесь BkTosser'ом и/или заинтересованы в его дальнейшем развитии, пожалуйста, сообщите нам об этом.
Оглавление
Как с нами связаться
Наш адрес в Интернет: bktosser@narod.ru
Наши адреса в FIDONET: Nikolay Kozlov, 2:5029/3.52 & Ivan Rudakov, 2:5029/3.22
Лучше писать нам через интернет - так, кажется, письма идут быстрее. Сообщайте об обнаруженных ошибках, присылайте предложения - мы ждем ваших писем!
BkTosser в Интернет
Наш сайт: http://bktosser.narod.ru. Заходите чаще! На сайте можно подписаться на нашу рассылку на Subcribe.Ru, также это можно сделать здесь: http://www.subscribe.ru/catalog/comp.soft.others.bktosser.
Новое в версии 0.8.5, 09.09.02
- Исправлен баг, выражавшийся в незапоминании файлов-исключений в установках. (Сообщил Alex Petrovskii).
- Исправлен баг, заставлявший BkTosser падать, если в файле описаний встречалась очень длинная последовательность символов, не имеющая в себе пробелов. (Сообщил Alex Petrovskii).
- При нажатии кнопки "Тест" в настройках файла описаний теперь открывается каталог-источник (так удобней тестировать). (Предложил Alex Petrovskii).
- "Поиск автора" на форме тоссинга теперь берет автора из текущей строки "Имя автора". (Предложил Alex Petrovskii).
- В установках добавлена галка, позволяющая синхронизировать поля "Имя автора" и "Путь назначения". При редактировании имени автора будет меняться его имя в пути назначения. (Предложил Alexander Ivashkin).
- Добавлена возможность навигации в стартовом меню с помощью курсорных стрелок и клавиши "Tab". (Предложил Alexander Ivashkin).
- Наконец-то добавлена возможность немного управлять BkTosser'ом с командной строки. Пока только три команды, но со временем, думается, их станет больше.
формат: BkTosser.exe [t] [fl[:filename]] [e]
- t(oss) - тоссинг в автоматическом режиме
- fl[:filename] - создание списка, где filename - имя файла (можно указывать путь, но только если он уже существует - программа не создает каталоги)
- e - автоматический выход (закрыть программу)
- /? - краткая помощь
Пример 1: BkTosser t fl:filelist.txt e
Происходит тоссинг, затем создание списка, потом программа автоматически завершается.
Пример 2: BkTosser fl
Программа запрашивает имя файла для списка и создает его, но не завершается.
Пример 3: BkTosser e fl t
Программа сразу завершит работу.
- Проблема изменения размеров формы тоссинга (выражается в пропадании некоторых кнопок и полей при уменьшении и последующем увеличении формы) до конца не решена. Пока Николай предлагает как-нибудь изменить строчку "Version=0.8.4b 20.08.02" в bktosser.ini, например, дописать что-нибудь в конец строки. Также рокомендуется не уменьшать размеры формы менее, чем 640х480. Полностью проблема будет решена в версии 1.0.
- К сожалению, возможность управления формой тоссинга с помощью "горячих клавиш" тоже пока не реализована, хотя мы понимаем, что это необходимо. Скорее всего, это будет сделано в версии 1.0, не ранее.
В настоящее время Николай активно работает над созданием следующей версии BkTosser'а, которая предположительно будет иметь номер "1.0.0". В связи с началом учебного года работа движется медленнее, чем мы планировали. Новая версия будет иметь полностью переделанные "внутренности", также, как мы уже сообщали, мы отказываемся (возможно, не насовсем :) от громоздкой базы данных, содержащей в себе излишне большое количество информации. Вместо информации о каждом файле программа будет хранить в базе коротенькие правила, которым будет следовать при тоссинге. По нашим прикидкам, в результате этих усовершенствований скорость работы программы должна увеличиться в 5-10 раз. Внешних же отличий в интерфейсе будет мало.
Что такое BkTosser?
BkTosser - это программа, облегчающая ведение электронной библиотеки. Она предназначена для автоматической и полуавтоматической сортировки файлов, содержащих книги, с целью создания простого и понятного дерева каталогов. Также программа ведет базу данных по всем обработанным файлам. В полуавтоматическом режиме тоссинга программа активно взаимодействует с пользователем, запрашивая у него информацию о размещении файла и ряд других параметров. Будучи введенной один раз, эта информация сохраняется в базе данных программы. Таким образом, создаются как бы правила, которым программа будет следовать в случае обнаружения схожих файлов, автоматически помещая их в нужные каталоги. В автоматическом режиме программа не запрашивает никакой дополнительной информации, руководствуясь только уже имеющимися данными. Неподходящие ни к одному правилу файлы будут пропущены.
Тоссинг производится по имени автора. Для работы программы необходимо:
- каталог-источник, в котором находятся файлы, предназначенные для тоссинга;
- каталог-назначение, т.е. каталог, куда будут переноситься файлы из каталога-источника;
- в каждом каталоге должен находиться файл описаний(напр., files.bbs) находящихся в нем файлов;
Пример:

Если в каталоге-назначении уже сформирована база, то в каждом каталоге, содержащем файлы, должен быть файл описаний. BkTosser формирует следующее дерево каталогов:

Возможности
- Раскладывание (сортировка, тоссинг) файлов по разным каталогам в зависимости от имени файла и автора.
- Интерактивное обучение программы в процессе тоссинга.
- Корректное ведение files.bbs (файла описаний) во всех каталогах.
- Ведение собственной базы данных о всех имеющихся и полученных файлах.
- Создание листинга всех файлов в файловой базе.
- Проверка целостности файловой базы (ошибки в files.bbs: отсутствие описаний файлов, отсутствие самих файлов и т.д.)
Системные требования
Операционная система: Win’95, 98, Me; Win’2000, WinXP. Оперативная память: зависит от размера вашей библиотеки. Требуется приблизительно 2Мб и ~1Мб на каждые 1000 файлов в файловой базе.
С чего начать?
Во-первых, у вас должен быть входной каталог, в котором должны содержаться файлы с книгами и файл описаний (например, files.bbs). Файлы с книгами должны иметь имена вида “TN.*”, где T – комбинация букв и прочих символов длиной от 1 до 6 знаков, N – номер файла, * – расширение, не более трех символов. Имена должны соответствовать формуле “8.3”; длинные имена не поддерживаются. Примеры: BASOV02.HA, BEK__A02.HA, LUKJAN84.HA.
Во-вторых, у вас уже может быть файловая база, содержащая файлы с книгами. В таком случае вы можете попытаться использовать для работы ее. Перед созданием базы рекомендуем запустить проверку базы. Однако, в BkTosser’е удобно работать только с описанным в документации типом базы.
Файл описаний
Для работы с файлами описаний используются шаблоны. Допускается использовать следующие макросы:
- %N - имя файла;
- %D - описание файла;
- %S - размер файла в байтах;
- %T - дата создания файла;
- %? - любой символ;
- %* - любая последовательность символов, кроме пробела и табуляции;
- %% - символ %.
Между символом % и буквой можно указать размер соответствующего поля. Этот размер должен лежать в пределах от 1 до 255. Внутри поля указанного размера текст выравнивается по ЛЕВОМУ краю. Если требуется в поле выровнять текст по ПРАВОМУ, то надо написать между числом и макросом букву r, например, %10rS. Версия файла не поддерживается. Поэтому следует писать [%?%?%?]. ВАЖНО ВСТАВЛЯТЬ ПРОБЕЛЫ И/ИЛИ СИМВОЛЫ ТАБУЛЯЦИИ МЕЖДУ МАКРОСАМИ. Примеры строк макросов:
- %12N %S [%?%?%?] %D;
- %12N %10rS [%?%?%?] %D;
- %N %9rS [%?%?%?] %D;
- %11N %9rS [%?%?%?] %D.
Файл описаний можно получить различными способами, например, с помощью программы BLstBBS от Piafi Software International (но только в том случае, если файлы с книгами являются архивами, содержащими файл описания архива file_id.diz). Эта программа распакует каждый архив, вынет из file_id.diz его описание и вставит в соответствующую строку files.bbs. (Часто в file_id.diz содержится ненужная информация, засоряющая files.bbs. Избавиться от нее можно с помощью нашей программы CleanBBS, которую можно скачать с этого сайта.) Если вы получаете файлы с книгами непосредственно из файлэхи BOOK, то легче использовать файлэхопроцессор, который сам создает и обновляет files.bbs.
Если у вас в разных каталогах файловой базы хранятся files.bbs, имеющие различные шаблоны, программа, скорее всего, не сможет корректно их обрабатывать. Шаблон файла описаний должен быть един для всех файлов описаний в файловой базе.
Описание окон программы
Окно управления
- "Проверить каталоги" – проверка каталогов на соответствие стандарту BkTosser;
- "Создать базу" - создает файлы базы;
- "Начать тоссинг" – так и будет: начать тоссинг :)
- "Перенести каталог" - перенос каталога с автоматическим изменением данных в базе;
- "Создать список" - создает файл, содержащий данные о каталогах и файлах, взятых из базы.
Установки
- Закладка "Каталоги".

- "Каталог-источник" – в этом каталоге находятся файлы, предназначенные для тоссинга. В каталоге должен находиться файл описаний(напр., files.bbs) файлов, находящихся в этом каталоге.
- "Каталог-назначение" - каталог, куда будут переноситься файлы из каталога-источника.
- "Каталог базы" - BkTosser создает и работает с базой, которая хранится в специальных файлах. Можно создать и указать отдельный каталог для этих файлов (рекомендуется).
- Закладка "Настройки".

- "При запросах выдавать имя автора вида: "Фамилия Имя". - Обычно файлы имеют в своем описании имя автора вида "Имя Фамилия". Если галка установлена, то программа автоматически будет переставлять Имя и Фамилию перед обработкой (рекомендуется).
- "Спрашивать о создании каталога" - в процессе работы будут создаваться каталоги для новых авторов. Если галка установлена, то спрашивается подтверждение перед созданием каждого каталога.
- "Пропускать, если файлов найдено менее" - если галка установлена, то программа не будет формировать запрос о неизвестном файле, если количество файлов с его маской менее заданного.
- "Файлы из каталога-источника копировать, но не перемещать" - при тоссинге программа не будет удалять файлы из каталога-источника.
- "Удалять файл при совпадении контрольных сумм" - удалять обрабатываемый файл, если в базе присутствует файл, имеющий такую же маску, автора и контрольную сумму CRC32.
- "Автоматический режим" - программа будет тоссить ТОЛЬКО те файлы, которые смогла сама идентифицировать. Запросы не формируются вообще.
- "Добавлять первую букву имени автора в каталог-назначение" - автоматическое формирование строки вида C:\BOOKS\А\
- "Добавлять имя автора в каталог-назначение" - автоматическое формирование строки вида C:\BOOKS\А\Алферов Михаил\
- "Синхронизировать поля "Имя автора" и "Путь назначения" - при редактировании поля "Имя автора" будет также изменяться соответствующая часть поля "Путь назначения".
- Кнопка "Горячие кнопки" - просто набор каталогов. В окне "обработки неочевидного файла" имеются "горячие кнопки", при щелчке по которым в "Путь назначения" подставляется имя соответствующего каталога. (не проверено).
- Закладка "Исключения".
- "Каталоги-исключения" - используется только при создании базы. Если Вы не хотите, чтобы программа работала с каким-либо подкаталогом каталога-назначения, необходимо записать его в этот список. (Каталог-источник записывается в этот список автоматически).
- "Файлы-исключения" - используется везде. Если Вы не хотите, чтобы программа работала с какими-либо файлами, необходимо записать его в этот список. (Файл описаний записывается в этот список автоматически).
- Закладка "Файл описаний".

- "Файл описаний" - имя файла описаний (оно должно быть одинаковым во всех каталогах). В файле описаний хранится информация о файлах, находящихся в одном каталоге с файлом описаний.
- "Шаблон (макросы)" - строка шаблона для файлов описаний.
- "Разбивать строки" - сохранять ли описания многострочными.
- "Максимальная длина строки" - указывается количество символов в строке, при превышении которого строка разбивается на несколько строк при сохранении файла описаний.
- Кнопка "Тест" - открывает Ваш файл описаний, чтобы проверить правильность задания шаблона.
Обработка файла
Вы уже нажали кнопку "Начать тоссинг"? :) И BkTosser сформировал запрос? Тогда самое время узнать, что же он предлагает и хочет :)

Вверху окна "обработки неочевидного файла" находится файл описаний файлов, подлежащих тоссингу. Это не важно, но весьма удобно.
- "Текущий файл" - имя файла, обрабатываемого в данный момент.
- "Имя автора" - BkTosser выявил неизвестное ему имя автора(ну, это он считает это именем автора :). Теперь он спрашивает у Вас подтверждения. Если имя автора определено неправильно, его следует отредактировать.
- "Автор II" - это небольшая хитрость. Показываю на примере:
Отрывок из файла описаний:
====================================================
ALTOVG08.HA Генрих Саулович Альтов. Может ли машина мыслить?
ALTOVG09.HA Генрих Альтов. Девять минут
ALTOVG10.HA Генрих Альтов. Клиника "Сапсан"
ALTOVG11.HA Генрих Альтов. Создан для бури
ALTOVG12.HA Генрих Альтов. Порт Каменных Бурь
====================================================
Определим настоящее имя автора как Альтов Генрих Саулович. Но когда программа дойдет до файла ALTOVG09.HA, она сформирует запрос, т.к. обнаружит неизвестное ей имя автора Альтов Генрих. В данном случае в поле "Имя автора" следует записать "Альтов Генрих Саулович", включить галку "Автор II" и записать в поле "Автор II" имя "Альтов Генрих". Тогда все последующие файлы будут растоссены автоматически. Т.е. Альтов Генрих Саулович - это настоящее имя автора, а Альтов Генрих - это альтернативное имя автора.
- "Описание файла" - именно эта строка будет записана в файл описаний.
- "Путь назначения" - каталог, куда будет перемещен обрабатываемый сейчас файл. На конце должен быть обязательно символ "\". Если его нет, то последнее слово в этой строке считается именем файла, в который будет переименован обрабатываемый сейчас файл. Пример:
обрабатываемый файл: qwer02.ha
C:\Book\ - файл будет перемещен в C:\Book\qwer02.ha
C:\Book\aaa23.ha - файл будет перемещен в C:\Book\aaa23.ha
- Таблица в нижней части окна. Здесь BkTosser выдает похожие имена авторов и маски, которые программа нашла в базе. Подстановка значений производится двойным щелчком по левой кнопке мыши на ячейке таблицы.
- Кнопка "ОК" - внести данные в базу и перенести файл.
- Кнопка "Пропуск" - пропустить текущий файл, не обрабатывать.
- Кнопка "Вернуть" - заполнить все поля на форме так, как их заполняла программа при формировании запроса.
- Кнопка "Пропускать маску" - в текущем сеансе работы программа не будет формировать запросы (и обрабатывать) для файлов с текущей маской.
- Кнопка "Искать автора" - поиск в базе имени автора, которое введет пользователь.
- Кнопка "Перенести каталог" - перенос каталога с автоматическим изменением данных в базе.
Кнопка "Удалить последний каталог в "пути назначения".
Кнопка "Добавить выделенную область из "описания файла" в "путь назначения".
Кнопка "Переставить имя автора". Имя Фамилия -> Фамилия Имя, и наоборот.
Кнопка "Добавить имя автора в "путь назначения".
Кнопка "Найти каталог для "пути назначения".
Внимание! Все данные, которые будут сохранены для обрабатываемого файла, берутся из этого окна. Т.е. можно здесь сразу же править описание файла.
Стратегия работы с окном чаще всего следующая:
- Посмотреть то, что программа предложила в таблице.
- Проверить/отредактировать имя автора.
- Проверить/отредактировать жанр (для тоссинга по жанрам).
- Вставить название жанра в "путь назначения".
- Вставить имя автора в "путь назначения".
Перенос каталога

Осуществляется перенос каталога БЕЗ подкаталогов с автоматическим изменением данных в базе.
- Кнопка "Старый каталог" - фиксируется имя старого каталога.
- Кнопка "Новый каталог" - фиксируется имя нового каталога.
Если в поле "Новое имя автора" записано имя, то для всех перенесенных файлов будет назначено именно это имя автора, иначе сохранится старое имя.
ВНИМАНИЕ! Данная программа является свободно распространяемой и предоставляется по принципу "AS IS", без каких-либо гарантий. Ни при каких обстоятельствах авторы не несут ответственности за какой-либо прямой или косвенный ущерб, возникший в результате использования данной программы.
Использование данной программы в коммерческих целях запрещено. По вопросам коммерческого использования обращаться к разработчикам.
Николай Козлов и Иван Рудаков, 09.09.2002.