IPB

Добро пожаловать, гость ( Вход | Регистрация )

3 Страниц V  1 2 3 >  
Reply to this topicStart new topic
> CheckSum, FAR CRC32/MD5 Plugin
-=CHE@TER=-
Jul 14 2008, 07:25
Сообщение #1


Walter Sullivan
***

Группа: Root Admin
Сообщений: 1,361
Регистрация: 4-February 08
Пользователь №: 3
Спасибо сказали: 314 раз(а)



If you wanna job done right - you gonna do it yourself ©

Как я уже говорил, заколебало каждый раз лезть в Total Commander чтобы проверить контрольную сумму. Для FAR плагины были, но они не устраивали, т.к. тоже криво были сделаны.
В конце концов сделали свой плагин, называется CheckSum.
Его достоинства по сравнениию с существующими (ради чего создавался):
1) Возможность создавать как .SFV (CRC32), так и .MD5 (MD5) файлы с контрольными суммами
2) Возможность проверять CRC32 по имени!!! - больше не нужно считать сумму в файл и, затем, смореть его, а потом удалять! Работает только на файлах такого вида:
Some.File.Name[12FACCB4].avi
т.е. маска: *?########?.*
Просто офигенно удобно!
3) Возможность начать проверку просто нажав ENTER на .SFV / .MD5 файле (в некоторых плагинах есть).
4) Возможность сравнить контрольную сумму файла с той, что находится в буфере обмена (появилась с версии 0.21)

Короче, там ещё много всякого - см. checksum.pas.

Файлы на TeamFTP

checksum - собственно плагин и исходники к нему
crc-samples - примеры нормальных .SFV / .MD5
far170dp - кусок из FAR170ManagerDevPack - содержит заголовочные файлы для языков диалекта Pascal, справку по FARAPI на русском и пример HelloWorld.


Для работы поместить .DLL файл в каталог:
C:\Program Files\Far\Plugins\CheckSum\checksum.dll
после чего перезапустить FAR.

ToDo List
CODE

Not implemented yet
~~~~~~~~~~~~~~~~~~~
- Dialogbox with to input filename for checksum file (now this is CheckSum.[sfv/md5])!
  Get file name with .sfv/.md5 extension if one file selected or folder name if there is
  more than one file and, finally, "CheckSum" name when CheckSum performed in the root folder.
- Allow user to manually select files from checksum file in dialog which he want to check
- Progress bar (current %, file X of Y / total % of Y files)
  Progress bar --> http://forum.farmanager.com/viewtopic.php?f=8&t=2622
  Merge CRC32 and MD5 modules
- Statistics (X files OK, Y files fails, Z files not found) with filelist
  For users who don't want to hit ENTER every time on error and just watch overall statistic
- Write help
- Add more checksum algorithms (SHA-1, ED2K, Tiger, etc...) or just create CheckSum plugin (.fmt) routine?..


Спасибо сказали:
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Siberian GRemlin
Jul 14 2008, 10:10
Сообщение #2


Advanced Member
***

Группа: CTPAX-X
Сообщений: 537
Регистрация: 4-February 08
Пользователь №: 2
Спасибо сказали: 221 раз(а)



QUOTE(-=CHE@TER=- @ Jul 14 2008, 15:25) *
I you wanna job done right - you gonna do it yourself ©

"If..."?


Спасибо сказали:
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
-=CHE@TER=-
Jul 14 2008, 10:32
Сообщение #3


Walter Sullivan
***

Группа: Root Admin
Сообщений: 1,361
Регистрация: 4-February 08
Пользователь №: 3
Спасибо сказали: 314 раз(а)



QUOTE(Siberian GRemlin @ Jul 14 2008, 10:10) *
"If..."?
That's right!

Кстати, поговорил сейчас с товарищем, который тот нестандартный CRC32 файл дал - оказывается он сам его сделал перечислив имена и CRC от какой-то встроенной в иксы тулзы, так что добавление в to do:
- Check TAB with SPACE chars in non standard CheckSum files.
Т.к. товарищ логично заметил, что там могут быть не только пробелы, но и символы табуляции.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Grom PE
Jul 14 2008, 16:34
Сообщение #4


Advanced Member
***

Группа: CTPAX-X
Сообщений: 84
Регистрация: 7-February 08
Из: i@grompe.org.ru
Пользователь №: 3,120
Спасибо сказали: 95 раз(а)



Спасибо за плагин, пригодится.

Заодно поиздевался над исходниками:

— перенес/заменил Initialization у всех модулей;
— добавил asm..end в checksum.pas;
— заменил md5.pas своим, быстрым (очень заметно) и маленьким;

Теперь компилится с dcc7hack, и даже работает.
Для совместимости с обычным компилятором оставил старый код в {$IFDEF}.

Залито на TeamFTP.


Спасибо сказали:
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
-=CHE@TER=-
Jul 14 2008, 20:35
Сообщение #5


Walter Sullivan
***

Группа: Root Admin
Сообщений: 1,361
Регистрация: 4-February 08
Пользователь №: 3
Спасибо сказали: 314 раз(а)



Grom PE!
Во, спасибо большое!
Практически в два раза похудело.

P.S. Пора, пора бы уже заняться написанием раздела CTPAX-X Soft для сайта...
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
-=CHE@TER=-
Aug 29 2008, 09:32
Сообщение #6


Walter Sullivan
***

Группа: Root Admin
Сообщений: 1,361
Регистрация: 4-February 08
Пользователь №: 3
Спасибо сказали: 314 раз(а)



Товарищи!
В связи с тем, что комментарии к программе на сайте уже ни в какие ворота не лезут есть предложение разместить тему на форуме, дабы там обсуждать непосредственно вместе с теми, кто программу использует.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Siberian GRemlin
Aug 30 2008, 07:12
Сообщение #7


Advanced Member
***

Группа: CTPAX-X
Сообщений: 537
Регистрация: 4-February 08
Пользователь №: 2
Спасибо сказали: 221 раз(а)



Если ты хочешь чтобы обсуждали программы с сайта на форуме, то я думаю, что это будет удобно.


Спасибо сказали:
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Капитан Фокин
Sep 3 2008, 05:34
Сообщение #8


Member
**

Группа: Authorized
Сообщений: 18
Регистрация: 2-September 08
Пользователь №: 11,780
Спасибо сказали: 9 раз(а)



QUOTE(-=CHE@TER=- @ Aug 29 2008, 13:32) *

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


Хочу повторить основные тезисы из каментов:

1. При создании чек-суммы для текущего файла, по-моему, лучше делать так:
Example.exe
Example.exe.md5
это просто визуально выделяет файл суммы при браузинге.

2. Нашел глючок - встаем на директорию, жмем "Вычислить сумму", получаем сообщение "Выделенные элементы ...", жмем "Ок" - и получаем _выделение_ директории. Есть разница между "оставить выделение" (в случае невозможности обработать, ошибки и проч.) и "установить выделение". Я считаю, что если элемент не был выделен, то его не надо выделять принудительно.

3. Проверить, является ли файл файлом суммы очень просто (во всяком случае, сразу отсеять заведомые "подставки" типа .exe, .avi и т.п.). Набор символов в представлении суммы MD5 и именах файлов ограничен. И если мы встречаем "запрещенный" символ - значит это явно не файл чек-суммы.


Спасибо сказали:
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
-=CHE@TER=-
Sep 3 2008, 13:55
Сообщение #9


Walter Sullivan
***

Группа: Root Admin
Сообщений: 1,361
Регистрация: 4-February 08
Пользователь №: 3
Спасибо сказали: 314 раз(а)



Во, вот тут можно нормально отвечать уже с предпросмотром ответа и т.д.
По поводу вопросов:

1. Делается с полпинка.
2. Делается с пинка.
3. Тут надо подумать, прежде чем пинать, но, в общем, тоже сделать можно.

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

А затруднение с пунктом 3 возникает в силу того, что в CRC32, например, могут быть комментарии (строчки начинающиеся на ";") да и в CRC32/MD5 могут быть просто пустые строки. В общем уже одна идея появилась - фильтр запрещённых символов (например, если в файле есть символ с кодом меньше 32 (пробел) и это не 13 (возврат каретки) и не 10 (перевод строки) и не 9 (табуляция)) - то это бинарный файл, а не файл суммы и, соответственно, проверять его не надо.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Капитан Фокин
Sep 4 2008, 05:38
Сообщение #10


Member
**

Группа: Authorized
Сообщений: 18
Регистрация: 2-September 08
Пользователь №: 11,780
Спасибо сказали: 9 раз(а)



С нетерпением жду обновленных версий!

Кстати, долго думал над Вашей фразой про "многопоточность при копировании файлов FAR-ом"... Есть вопрос. Расчет чек-суммы идет в разы дольше, чем простое копирование (а HDD является одним из медленных устройств в системе). Следовательно, либо:

1. Процесс является "процессороёмким" и, значит, есть смысл подумать над многопоточностью;
2. Насколько оптимально идет чтение файла, для которого считаем сумму ? Не хочу показаться грубым, но не идет ли чтение побайтно ?
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
-=CHE@TER=-
Sep 4 2008, 15:22
Сообщение #11


Walter Sullivan
***

Группа: Root Admin
Сообщений: 1,361
Регистрация: 4-February 08
Пользователь №: 3
Спасибо сказали: 314 раз(а)



QUOTE(Капитан Фокин @ Sep 4 2008, 05:38) *
С нетерпением жду обновленных версий!
П.п. 1, 2, из предыдущего поста, сделаны, сейчас над 3 думаем.

QUOTE(Капитан Фокин @ Sep 4 2008, 05:38) *
Кстати, долго думал над Вашей фразой про "многопоточность при копировании файлов FAR-ом"... Есть вопрос. Расчет чек-суммы идет в разы дольше, чем простое копирование (а HDD является одним из медленных устройств в системе). Следовательно, либо:
1. Процесс является "процессороёмким" и, значит, есть смысл подумать над многопоточностью;
2. Насколько оптимально идет чтение файла, для которого считаем сумму ? Не хочу показаться грубым, но не идет ли чтение побайтно ?
Ну, по порядку:
1. Контрольная сумма, таки да, является вычислением со всякими арифметическими операциями, так что быстрее она будет или медленнее копирования зависит от скорости работы жёсткого диска и скорости работы процессора. Если тормозной винт, но крутой процессор - копирование будет дольше, чем высчитывание контрольной суммы, т.к. копирование есть чтение (тормозно) и запись (тормозно) = тормозно*2, в то время как подсчёт контрольно суммы есть только чтение (тормозно) и некоторые арифметические операции (быстро). И наоборот - в случае тормозного проца и быстрого бердана, копирование будет быстрее и т.д. Так что дать какой-то конкретный ответ сложно.
Оговорюсь, что алгоритм MD5 Grom PE переделал и он при подсчёте развивает просто адскую скорость по сравнению с тем, что было в версии 0.1 (не релизилась в открытом доступе).
CRC32 уже в 0.1 был переделан с классов на WinAPI, но тем не менее код там не идеальный и его можно улучшить, правда дикого прироста производительности это вряд ли даст, но выжать кое что всё же можно.
2. Чтение файла идёт через FileMapping (пока только в MD5 - CRC32, как уже сказал, надо переделывать) - если это о чём-то говорит, т.е. винда сама мапит (буфферизует частями) файл в оперативную память по мере чтения - считается, что она делает это наиболее оптимальным способом. Ставить тесты и выяснять так ли это желания нет, тем более, что, наверняка, можно выжать производительности самим занявшись буфферизацией, но её придётся подгонять под каждый компьютер при помощи таких параметров как размер буфера и т.д. - и, по моему мнению, овчинка выделенки стоить не будет.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Капитан Фокин
Sep 16 2008, 05:27
Сообщение #12


Member
**

Группа: Authorized
Сообщений: 18
Регистрация: 2-September 08
Пользователь №: 11,780
Спасибо сказали: 9 раз(а)



Наблюдал интересную ситуацию или "битва титанов".

CPU: C2D 8400
MEM: 2Gb
HDD: SATA 250Gb (16Mb)

Запускаем запись в Nero 8.х нескольких файлов ~4Gb на скорости 4х (DVD-RW). После того, как процесс достиг отметки 50% запускаем в Far проверку MD5 нескольких файлов (5шт). На проверке 3-го файла началось - ультра-буфер в Nero опустошился, лазер выключился, Nero начал лихорадочно заполнять ультра-буфер (который в памяти) со скоростью 1 "кубик" прогресс-бара в секунду. При этом процесс в Far проверки MD5 "замер"... После прим. 30 сек. увлеченного наблюдения за "битвой титанов" процесс Far был принудительно завершен. Nero ожил мгновенно и продолжил запись...
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
-=CHE@TER=-
Sep 16 2008, 12:00
Сообщение #13


Walter Sullivan
***

Группа: Root Admin
Сообщений: 1,361
Регистрация: 4-February 08
Пользователь №: 3
Спасибо сказали: 314 раз(а)



QUOTE(Капитан Фокин @ Sep 16 2008, 05:27) *
Наблюдал интересную ситуацию или "битва титанов".
Ну, дык, а чтож ты хочешь? (*улыбается*) Весь проц на считывание файла и подсчёт контрольно суммы сожрался, так что на запись диска ресурсов уже не было.
Конечно, можно как-нибудь извернуться, чтобы процесс проверки/создания суммы работал, когда ресурсы есть, но смысла думаю особого нет - лучше не нагружать систему одновременно такими действиями. Никто же не прошивает BIOS из Windows, а сам в это время в Quake III: Arena режется?
Это хорошо иллюстрирует анекдот:
- Пап, а пап! Покажи многозадачность в Windows?
- Погоди, сынок, сейчас дискетка доформатируется...

Добвалено:
Вышла версия 0.22.
Все изменения описаны в соответствующем текстовом файле.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Капитан Фокин
Sep 16 2008, 13:39
Сообщение #14


Member
**

Группа: Authorized
Сообщений: 18
Регистрация: 2-September 08
Пользователь №: 11,780
Спасибо сказали: 9 раз(а)



QUOTE(-=CHE@TER=- @ Sep 16 2008, 16:00) *

Добвалено:
Вышла версия 0.22.
Все изменения описаны в соответствующем текстовом файле.


Спасибо! Замеченные ранее "шероховатости" сглажены. Ищем новые глюки :-)

Каким образом реализовали проверку "валидности" файла суммы, если не секрет ?

P.S. Глюк уже нашел. Причем премерзкий. Захожу в директорию, где уже есть файл CheckSum.md5, выделяю несколько файлов, выбираю "Вычислить сумму" - получаю красное окно ошибки с сообщением "Плагин будет выгружен". Теперь при попытке вычислить сумму в любом месте на любом наборе файлов получаю все то же красное окно с адресом 0х25512551 и выгрузкой плагина. Пришлось откатиться к предыдущей версии...


Спасибо сказали:
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
-=CHE@TER=-
Sep 16 2008, 16:41
Сообщение #15


Walter Sullivan
***

Группа: Root Admin
Сообщений: 1,361
Регистрация: 4-February 08
Пользователь №: 3
Спасибо сказали: 314 раз(а)



QUOTE(Капитан Фокин @ Sep 16 2008, 13:39) *
P.S. Глюк уже нашел. Причем премерзкий. Захожу в директорию, где уже есть файл CheckSum.md5, выделяю несколько файлов, выбираю "Вычислить сумму" - получаю красное окно ошибки с сообщением "Плагин будет выгружен". Теперь при попытке вычислить сумму в любом месте на любом наборе файлов получаю все то же красное окно с адресом 0х25512551 и выгрузкой плагина. Пришлось откатиться к предыдущей версии...
Опа... Спасибо большое. Этот баг возник в связке с DCC32Hack.
Почему-то в FAR глючит AdvControl()... заголовочный файл для Delphi/Pascal кривой (plugin.pas). Осталось только понять где.
А пока что код отвечающий за получение цвета убран, ибо адрес AdvControl либо NULL, либо (в связке с DCC32Hack) там мусор.
Версия 0.23 на сайте.
Приносим извинения за причинённые неудобства.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Капитан Фокин
Sep 17 2008, 05:50
Сообщение #16


Member
**

Группа: Authorized
Сообщений: 18
Регистрация: 2-September 08
Пользователь №: 11,780
Спасибо сказали: 9 раз(а)



QUOTE(-=CHE@TER=- @ Sep 16 2008, 20:41) *

Версия 0.23 на сайте.


Спасибо за оперативность! Проверил версию 0.23 - пока все четко, ошибка выгрузки плагина пофиксена. В целом, если не "всплывут" дополнительные глюки, плагин можно считать вполне законченным (ну, или таки добавить SH1 :-)

P.S. Задним числом прочел ToDo - подсчет суммы для 4Гб файлов смысл имеет. Образы ДВД-дисков, например


Спасибо сказали:
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
-=CHE@TER=-
Sep 17 2008, 09:20
Сообщение #17


Walter Sullivan
***

Группа: Root Admin
Сообщений: 1,361
Регистрация: 4-February 08
Пользователь №: 3
Спасибо сказали: 314 раз(а)



QUOTE(Капитан Фокин @ Sep 17 2008, 05:50) *
Спасибо за оперативность!
Оперативность - наше всё. (*улыбается*)

QUOTE(Капитан Фокин @ Sep 17 2008, 05:50) *
ну, или таки добавить SH1 :-)
Всё можно, но сначало хотелось бы довести до ума то что есть.

QUOTE(Капитан Фокин @ Sep 17 2008, 05:50) *
P.S. Задним числом прочел ToDo - подсчет суммы для 4Гб файлов смысл имеет. Образы ДВД-дисков, например
Там вопрос стоял немного по другому - проверить правильно ли считает. Т.е. оно считает, нужно только проверить правильно или нет. Просто файлов под рукой таких больших не было, поэтому, кстати, и предупреждение на сайте висит, что плагин полностью не оттестирован.

Кстати, а что насчёт остальных пунктов из ToDo? На всякий случай переведу на русский:
QUOTE

- Диалог для возможности ввода имени файла для контрольно суммы (сейчас оно создаётся в CheckSum.[sfv/md5])
По умолчанию там будет имя файла с .sfv/.md5 расширением, если один файл выделен или имя каталога где находятся выделенные файлы, если их больше одного, наконец имя "CheckSum", если выделенные файлы находятся в корне диска. Если устраивает текущее имя - просто нажимаем ENTER, если нет - меняем.
- Реализовать возможность пользователю вручную выбрать те файлы, которые он хочет проверить из файла контрольной суммы через диалог (по умолчанию будут выделены все - и можно будет просто ENTER нажать для продолжения, если ничего менять не нужно).
//ИМХО, думаю удобно, особенно если нужно проверить один-два файла, чтобы не обрабатывать все.
- Сделать прогресс-бар при проверке (текущий файл % / файл 3 из 10 / завершено на %)
// Пример: Текущий файл: 10% обработано / файл 3 из 10 / завершено на 32%)
- Сделать Callback-функцию для CRC32/MD5 алгоритмов, чтобы их можно было прервать по ESC во время проверки файла, не дожидаясь пока файл проверится до конца (если очень большой).
- В конце проверки диалог со статистикой по файлам (X файлов OK, Y файлов не совпала сумма, Z файлов не найдено)
Чтобы не жать ENTER для каждого повреждённого файла, а запустить проверку, пойти чай попить, вернуться и прочитать отчёт сразу по всем. Хотелось бы туда ещё всунуть две кнопки: ОК и СОХРАНИТЬ - в случае нажатия на первую отчёт закрывается (она будет по умолчанию подсвечена, так что ничего по сравнения с текущей версией не изменится - нажал ENTER и всё), а в случае нажатия на вторую - его можно будет сохранить в файл (если было очень много ошибок и все их не запомнишь), чтобы потом отдельно уже разобраться что к чему.
- Написать-таки, справку к плагину (он же help).


QUOTE(Капитан Фокин @ Sep 16 2008, 13:39) *
Каким образом реализовали проверку "валидности" файла суммы, если не секрет ?
Ну, если в прочитанной строке есть левые символы или она не удовлетворяет формату (у контрольных сумм всегда только цифры и буквы от A до F) - то строка считается битой и проверка дальше не идёт. Ещё отсев строк-комментариев для CRC32, и т.д.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Капитан Фокин
Sep 17 2008, 10:26
Сообщение #18


Member
**

Группа: Authorized
Сообщений: 18
Регистрация: 2-September 08
Пользователь №: 11,780
Спасибо сказали: 9 раз(а)



QUOTE(-=CHE@TER=- @ Sep 17 2008, 13:20) *

Кстати, а что насчёт остальных пунктов из ToDo? На всякий случай переведу на русский:


Попробую высказать свои соображения:

QUOTE

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


Это потребует создания .ini (.cfg) файла или записи реестра для сохранения введенного имени (это логично). А оно надо ? Лично я не уверен. В конце концов не трудно и руками переименовать для особо экзотических случаев.

QUOTE

- Реализовать возможность пользователю вручную выбрать те файлы, которые он хочет проверить из файла контрольной суммы через диалог (по умолчанию будут выделены все - и можно будет просто ENTER нажать для продолжения, если ничего менять не нужно).


Вы себе отчетливо представляете ситуацию, когда нужно проверить именно 5 файлов из 20-ти ? А для проверки выборочного файла уже реализована проверка из буфера обмена.

QUOTE

- Сделать прогресс-бар при проверке (текущий файл % / файл 3 из 10 / завершено на %)
- Сделать Callback-функцию для CRC32/MD5 алгоритмов, чтобы их можно было прервать по ESC во время проверки файла, не дожидаясь пока файл проверится до конца (если очень большой).


Это желательно, если не сильно "утяжелит" плагин.

QUOTE

- В конце проверки диалог со статистикой по файлам (X файлов OK, Y файлов не совпала сумма, Z файлов не найдено)
Чтобы не жать ENTER для каждого повреждённого файла, а запустить проверку, пойти чай попить, вернуться и прочитать отчёт сразу по всем. Хотелось бы туда ещё всунуть две кнопки: ОК и СОХРАНИТЬ - в случае нажатия на первую отчёт закрывается (она будет по умолчанию подсвечена, так что ничего по сравнения с текущей версией не изменится - нажал ENTER и всё), а в случае нажатия на вторую - его можно будет сохранить в файл (если было очень много ошибок и все их не запомнишь), чтобы потом отдельно уже разобраться что к чему.


Потоковая проверка без "спотыкания" на каждом несовпадении - хорошая идея. В целом поддерживаю, но не "Сохранить", а "Выделить непрошедшие проверку" (в смысле - цветом в Far-е, как по "Insert") .


Спасибо сказали:
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
-=CHE@TER=-
Sep 17 2008, 11:50
Сообщение #19


Walter Sullivan
***

Группа: Root Admin
Сообщений: 1,361
Регистрация: 4-February 08
Пользователь №: 3
Спасибо сказали: 314 раз(а)



QUOTE(Капитан Фокин @ Sep 17 2008, 10:26) *
Это потребует создания .ini (.cfg) файла или записи реестра для сохранения введенного имени (это логично). А оно надо ? Лично я не уверен. В конце концов не трудно и руками переименовать для особо экзотических случаев.
Ну, создание каких-либо записей это не потребует - ещё раз перечитайте как будет формироваться имя файла в этом диалоге. В любом случае - это ToDo, так что никто на той или иной возможности не настаивает - просто подумалось, что было бы удобно.

QUOTE(Капитан Фокин @ Sep 17 2008, 10:26) *
Вы себе отчетливо представляете ситуацию, когда нужно проверить именно 5 файлов из 20-ти ? А для проверки выборочного файла уже реализована проверка из буфера обмена.
Мало ли - может кому понадобится, хотя с другой стороны - да, один раз проверят всё, затем битые файлы можно и отдельно проверить.
Убедительно. (*улыбается*)

QUOTE(Капитан Фокин @ Sep 17 2008, 10:26) *
Это желательно, если не сильно "утяжелит" плагин.
Если и утяжелит, то совсем не сильно - писанины правда много будет.

QUOTE(Капитан Фокин @ Sep 17 2008, 10:26) *
Потоковая проверка без "спотыкания" на каждом несовпадении - хорошая идея. В целом поддерживаю, но не "Сохранить", а "Выделить непрошедшие проверку" (в смысле - цветом в Far-е, как по "Insert") .
А как быть с теми файлами, которые отсутствовали?
Диалог, который предлагается сделать, должен выглядеть как-нибудь так:
CODE

|------------------------------------|
|             Отчёт                  |
|------------------------|-----------|
| Имя файла              |   Статус  |
|------------------------|-----------|
| filename1.ext          |     ОК    |
| filename2.ext          |   Ошибка  |
| filename2.ext          |Нет доступа|
| filename3.ext          | Не найден |
|------------------------|-----------|
| OK:  1, Ошибок:  2,  Не найдено:  1|
|------------------------------------|
|       [ОК]       [Сохранить]       |
|------------------------------------|

При большом количестве файлов список можно будет листать стрелками вверх/вниз, PgUp/PgDn, Home/End. А влево/вправо - выбор кнопки.
Не знаю, на сколько реально такое сделать, но хотелось бы.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Капитан Фокин
Sep 17 2008, 12:29
Сообщение #20


Member
**

Группа: Authorized
Сообщений: 18
Регистрация: 2-September 08
Пользователь №: 11,780
Спасибо сказали: 9 раз(а)



К вопросу об обработке больших файлов - не работает! Взял файл размером ~25Гб, запустил вычисление чек-суммы. Прим. через 18 сек был готов результат. Это абсолютно невозможно, потому что файл только читается гораздо дольше.

С чем сравнивал:
Плагин: http://plugring.farmanager.com/downld/files/md5plug140.zip (исходники в комплекте)
Машина: AMD x2 4200+
Расчет чек-суммы занял ~12,5 минут (причем, WinSrv2k3 худо-бедно пытается параллелить процесс между ядрами)


Относительно улучшений - не стоит тратить силы на условно-нужные "фичи". Прогресс-бар не стоит недели работы :-) А статистика - потенциальная "черная дыра" для всевозможных мелких глючков, доработок и придирок. Но это, разумеется, ИМХО.

QUOTE

А как быть с теми файлами, которые отсутствовали?


Они уже отсутствуют - нечего проверять :-))))))


Спасибо сказали:
User is offlineProfile CardPM
Go to the top of the page
+Quote Post

3 Страниц V  1 2 3 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0 -

 



Упрощённая версия Сейчас: 21st December 2024 - 17:49