Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Single Post  Topic: Задачка для ТС за деньги 
Author Message
Volniy



PostPosted: Thu Apr 12, 2007 15:10    Post subject: Reply with quote

Batya wrote:
Так ведь lamicard написал, что после печати файл надо переместить в архивную папку. Соответственно, "как два пальца ..." Very Happy

Ты опять упрощаешь. Между тем моментом, когда ты обнаружишь файл и когда ты его уже переместишь в некую другую папку пройдет существенный промежуток времени. В это время может появиться новый файл. Как ты об этом узнаешь в скрипте, он ведь будет все еще печатью предыдущего файла заниматься?

Batya wrote:
Дргое дело, что мне самому стало интересно, а как при этом работает DirMonitor? Он ведет лог обработанных файлов и хранит список где-то в файле или в собственной памяти? Как он отработает после перезапуска?

И зря не читаешь доки, тем более не смотришь исходники (там ксати, PowerBasic, для тебя будет все понятно). Там все по-взрослому, однако, никаких списков Smile. Запускается сервис с десятью (по максимуму) тредами, каждый вешает на свою директорию API функцию "ReadDirectoryChangesW" и когда та возвращает положительный результат (произошло некоторое изменение в перечне файлов отслеживаемой директории) выполняет указанную вами команду над файлом-источником изменений (в данной реализации сервиса только в момент добавления файла, но можно обрабатывать и удаление, переименование, изменение атрибутов и тп).

Как я вижу решение с печатью:
запускаем-таки процесс DirMonitor, предварительно указав ему (в его ини-файле) 10 наших директорий и для каждой из них отдельный скрипт (пакетный файл и тп). Скрипт в качестве параметра получит путь к новому файлу PDF. В скрипте: отсыл на печать (pdfp с ожиданием выполнения) и последующее перемещение файла в Отработанные (возможно, поторебуется контроль за именем файла на случай дубликатов по имени). На этом скрипт завершается (я бы еще и в некий общий лог файл добавил запись), но его новый экземпляр будет снова запущен при возникновении нового PDF файла в соответсвующей папке. И так по кругу, весь рабочий день, пока работники, ранее занимавшиеся печатью вручную, пьют пиво и режутся в Doom Wink

А тулзу я эту раньше не видел, но, похоже, у меня у самого найдется парочку задачек для нее. А еще учитывая наличие сорца... Rolling Eyes
View user's profile Send private message


Powered by phpBB © 2001, 2005 phpBB Group