• Реклама

PFProc 2.1.

Каждый дурак может написать программу, которую может понять компьютер. Хороший программист пишет программу, которую может понять человек.
Мартин Фаулер

PFProc 2.1.

Сообщение sh4d0ff » 04 мар 2012, 14:16

PFProc v2.1
Условия распространения: freeware
pfp1.JPG
pfp1.JPG (32.83 КБ) Просмотров: 73597

Данное приложение - объединение 2х моих старых программ 'mass renamer' и 'list creator', я немного дополнил их, пофиксил пару багов, оптимизировал, а также поменял их отвратительный (даже меня от него мутило) дизайн.
Программа позволяет создавать список файлов заданной директории (в том числе файлов определенного расширения), а так же пакетно переименовывать файлы и папки.

pfp2.JPG
pfp2.JPG (29.43 КБ) Просмотров: 73597


ВНИМАНИЕ! это НЕ конвертор, программа только переименовывает файлы, а не меняет их формат. Кроме того, будьте внимательны при выборе директории (необходимо дважды щелкнуть по выбранной в списке папке чтоб выбрать ее), если вы переименуете не то что надо - последствия необратимы, скорее всего придется вручную переименовывать обратно.



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


Скачивая PFProc v2.1 с этого сайта, вы принимаете условия следующего соглашения:
БЕСПЛАТНОЕ (FREEWARE) ЛИЦЕНЗИОННОЕ СОГЛАШЕНИЕ КОНЕЧНОГО ПОЛЬЗОВАТЕЛЯ

ПОЖАЛУЙСТА, ТЩАТЕЛЬНО ОЗНАКОМЬТЕСЬ С ЛИЦЕНЗИЕЙ ПЕРЕД УСТАНОВКОЙ ИЛИ ИСПОЛЬЗОВАНИЕМ ПРОДУКТА. ФАКТОМ ЗАГРУЗКИ, УСТАНОВКИ, КОПИРОВАНИЯ ИЛИ ЛЮБОЙ ДРУГОЙ ФОРМЫ ИСПОЛЬЗОВАНИЯ ПРОДУКТА ВЫ УДОСТОВЕРЯЕТЕ, ЧТО ПРОЧИТАЛИ ДАННОЕ ЛИЦЕНЗИОННОЕ СОГЛАШЕНИЕ, ПОНЯЛИ ЕГО И СОГЛАСИЛИСЬ С ВСЕМИ ТЕРМИНАМИ И УСЛОВИЯМИ ДАННОГО ЛИЦЕНЗИОННОГО СОГЛАШЕНИЯ. ОПРЕДЕЛЕНИЯ.

Александр Соколов (далее "правообладатель") предоставляет пользователю ("пользователь") копию программного продукта 'PFProc' версии 2.1. (далее "программа") и предоставляет пользователю лицензию на использование данного программного продукта. Настоящее лицензионное соглашение (далее "лицензия", "соглашение") определяет действия, которые пользователь вправе совершать по отношению к программе, и включает перечень ограничений гарантий и ответственности.
ЛИЦЕНЗИОННОЕ СОГЛАШЕНИЕ.

Эта программа защищена национальными законами и международными соглашениями об авторском праве. Исключительные права на использование этой программой принадлежат Александру Соколову.

Пользователь имеет право использовать данную версию программы в некоммерческих целях. Программа используется тогда, когда она или её часть загружена в оперативную память (RAM) или установлена на постоянный носитель (жесткий диск, CD или прочий носитель). Программа используется в некоммерческих целях, когда в результате её использования пользователь не получает материальной выгоды явным или косвенным образом.

Пользователь имеет право распространять программу любым путем (CD-ROM, вебсайт и так далее) при соблюдении условий:

* распространение производится бесплатно;
* поставка программы включает все файлы;

Данная лицензия максимально, в рамках действующего законодательства, ограничивает пользователя в правах на модификацию программы. В частности, за исключением специальных случаев, предусмотренных действующим законодательством, запрещается менять файлы с исходным (объектным) кодом, файлы с лицензиями, включая данное соглашение, файлы с документацией и прочие файлы.
ОГРАНИЧЕНИЯ ГАРАНТИЙ И ОТВЕТСТВЕННОСТИ.

Программа предоставляется на условиях «как есть» (as is). Правообладатель не предоставляет никаких гарантий в отношении безошибочной и бесперебойной работы программы, соответствия программы конкретным целям пользователя, а также не предоставляет никаких иных гарантий, прямо не указанных в настоящем соглашении.

В максимальной степени, допустимой действующим законодательством, правообладатель не несет никакой ответственности за какие-либо прямые или косвенные последствия какого-либо использования или невозможности использования программы и/или ущерб, причиненный пользователю и/или третьим сторонам в результате какого-либо использования или неиспользования программы, в том числе из-за возможных ошибок или сбоев в работе программы.

Пользователь соглашается, что несет исключительную ответственность (и что правообладатель не несет ответственности перед пользователем или какими-либо третьими лицами) за любое нарушение обязательств пользователя, установленных условиями настоящей лицензии, а также за все последствия таких нарушений (включая любые убытки или ущерб, которые может понести правообладатель).
КОНТРОЛЬ НАД СОБЛЮДЕНИЕМ ОБЯЗАТЕЛЬСТВ.

Это лицензионное соглашение соответствует национальным законам об авторском праве. Данное соглашение основано на новой редакции этих законов, что отменяет все остальные договоренности и соглашения, ранее применяемые по отношению к данному продукту.

Все спорные вопросы решаются по взаимной договоренности сторон, а если соглашения не было достигнуто, то в судах общей юрисдикции.
КОНТАКТНАЯ ИНФОРМАЦИЯ

По вопросам приобретения лицензии для коммерческого использования направляйте запросы на адрес электронной почты : admin@shadoffarts.ru



Скачать (0,4 mb) ( Кликнули 3283 раза )
Изображение
Аватара пользователя
sh4d0ff
Администратор
 
Сообщения: 127
Зарегистрирован: 19 фев 2012, 15:00
Благодарил (а): 2 раз.
Поблагодарили: 0 раз.

Re: PFProc 2.1.

Сообщение sh4d0ff » 05 мар 2012, 11:24

ВНИМАНИЕ! в ходе тестирования были обнаружены несколько серьезных багов, ждите обновления в ближайшее время.


Описание найденных багов:
  • Магическое слово "Track" - при переименование под таким шаблоном имени прога косячит и переименовывает все под 'Track1' ... сие вообще непонятно как возникает, будем разбираться;
  • Чето не совсем понятное творится с индексированием с 1, но это я чекну быстро, кажется знаю в чем проблема;
  • Также надо скролинг прикрутить к "списку".. чето я совсем забыл про него =)
В целом похоже что придется частично менять алгоритм переименования.


Сообщение не в тему (флуд) :
:omg: чето не прет у меня с этой программой) еще два - три года назад, при первых версиях она меня раздражала, вроде все и фиксишь и учитываешь... а ошибки берутся ниоткуда...
Изображение
Аватара пользователя
sh4d0ff
Администратор
 
Сообщения: 127
Зарегистрирован: 19 фев 2012, 15:00
Благодарил (а): 2 раз.
Поблагодарили: 0 раз.

PFProc 2.1.2

Сообщение sh4d0ff » 14 мар 2012, 00:24

ОБНОВЛЕНИЕ
Обновил до версии 2.1.2.5

Наконец пофиксил ошибки:
  • Переименовывает корректно под любое имя и с любыми коэффициентами, как и должно быть;
  • Добавил скроллинг к "списку".
Изменил немного алгоритм переименования:
  • Теперь, если не введен шаблон имени, то новое имя формируется из старого + суффикс + префикс +9 индекс + расширение (как по логике и должно был быть изначально, так что отчасти это фикс);
  • Переименованные файлы помещаются в отдельную папку "pfp_renamed" (решение тестовое, возможно я это уберу).
Пока ошибок в ходе тестирования не выявлено. В дальнейшем, возможно будет сделана сортировка списка, а также переименование "по списку".

PFProc 2.1.2.zip
обновленная версия
(408.28 КБ) Скачиваний: 3479




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

По сути, в проге нет ничего выдающегося абсолютно.. уровень 'Hello World', собрана из шаблонных кусков кода фактически, однако есть несколько моментов, которым следует уделить внимание.
Если опустить детали, алгоритм примерно следующий:

Код: Выделить всё
1) используем стандартные функции поиска файлов:
TSearchRec F;
int ires=FindFirst(путь, faAnyFile, F);
while (! ires)
{
2) Составляем новое имя файла из суффикса, префикса, шаблона, расширения и КОЭФФИЦИЕНТА;
3) Используем стандартную функцию переименования файлов:
RenameFile(старое имя,новое имя);
4) Меняем коэффициент:
i++;
И далее, пока не кончатся файлы.
}


Казалось бы все элементарно, однако... Во-первых небольшая мелочь - файлы "." и ".." (Специальные файлы, без которых директория считается поврежденной (первые две 32-байтных записи в области данных кластера) – файлы нулевого размера “dot” (идентификатор каталога) и “dotdot” (указатель на родительский каталог) с именами “.” (точка) и “..” (две точки) соотв.) прога читает их тоже, поэтому возникает косяк с индексами, следует прописать
исключение.
Во-вторых, как я понял (хотя я не до конца просек как это происходит) прога "зацикливается"... по всей видимости при переименовании в одной и той же папке циклом while только что переименованный файл становится "новым" (в смысле необработанным) и прога проходит по нему снова... сие вообще как-то странно происходит (например шаблоном имени 'Track', ну или после некоторой пляски с бубном), если поставить после RenameFile функцию Sleep(), то коэффициенты становятся значительно больше (если последний был 100 то становится 200), хотя если отслеживать пошагово, то все вроде как работает правильно. Отсюда я сделал вывод, что идет зацикливание, наибольшая странность, на мой взгляд, в том что оно не бесконечно... это для меня совершенно непонятно (возможно мне следовало бы уделить больше времени изучению вопроса конечно...). Решением может служить перенос переименованных файлов в отдельную папку (как вариант - временную, "буфер") либо изменение цикла.
Вот такое дело.
Изображение
Аватара пользователя
sh4d0ff
Администратор
 
Сообщения: 127
Зарегистрирован: 19 фев 2012, 15:00
Благодарил (а): 2 раз.
Поблагодарили: 0 раз.

Re: PFProc 2.1.

Сообщение CrazyIv » 28 фев 2014, 13:26

Отличная программа, спасибо. Очень удобно сортировать папки с большим количеством файлов.
Аватара пользователя
CrazyIv
 
Сообщения: 1
Зарегистрирован: 28 фев 2014, 13:24
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: PFProc 2.1.

Сообщение sh4d0ff » 03 мар 2014, 07:51

CrazyIv писал(а):Отличная программа, спасибо. Очень удобно сортировать папки с большим количеством файлов.

Благодарю за отзыв. Если будут предложения, как улучшить программу, то обязательно пишите, если смогу - реализую.
Изображение
Аватара пользователя
sh4d0ff
Администратор
 
Сообщения: 127
Зарегистрирован: 19 фев 2012, 15:00
Благодарил (а): 2 раз.
Поблагодарили: 0 раз.


Вернуться в Бесплатный Софт

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron