dg
Moderator-папарацци | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Касательно выведения хода выполнения. Если невозможно хотя бы приблизительно определить, сколько времени осталось до завершения процесса, делать прогресс-бар неуместно. Вместо этого я бы сделал доступной в реальном времени развёрнутую статистику, a-la: Сколько времени прошло с начала обработки текущего задания (очереди, профайла — не знаю точно, как это называется) Сколько всего файлов в текущем задании / сколько из них завершено (или осталось) Cумарный объём файлов в текущем задании / сколько уже перемещено (или осталось) Сколько всего фрагментов в текущем задании / сколько из них перемещено (или осталось) Имя текущего файла в работе; сколько всего в нём фрагментов / сколько уже перемещено (или осталось) Средняя скорость дефрагментации на данный момент (не знаю, как это должно подсчитываться, но думаю, что не сложно) Ну и на основе предыдущих пунктов, возможно удастся без особых затрат ресурсов сделать грубую прикидку, сколько времени осталось. В принципе, без последнего пункта можно и обойтись, если подсчитать это сложно. Эту статистику можно выводить в отдельном маленьком окне (для которого хорошо бы сделать функцию «Поверх всех окон»). Для каждого из текущих процессов (профайлов) можно сделать по своему окну — пользователь сам решит, за какими из них ему интересно следить, а за какими — нет. Как уже неоднократно говорилось ранее, просто необходимо выводить какое-либо сообщение при завершении дефрагментации. Как минимум, там должно содержаться, закончился ли процесс успешно, и, если нет, — причина ошибки (например, недостаточно места). Для меня программа, работающая без подобного отчёта, ценности, увы, не представляет. Однако, хотелось бы, чтобы эта информация была более полной — содержала пункты, которые я привёл выше, + подробную информацию об ошибке (например, сколько именно места необходимо было программе для успешной обработки текущего задания). В случае, если программа была свёрнута в трей, это сообщение можно делать всплывающим (a-la стандартный «baloon tip» Windows), а если она была развёрнута в полное окно — то и вывод результатов должен быть отдельным окном, с кнопкой ОК. В обоих случах текст этого сообщения должен записываться в лог (также туда надо заносить события создания заданий и их старта). Подхожу к главному. Конечно, я толком не понимаю самой сути дефрагментации. Не понимаю — и от этого сильно уважаю. Почему доступны только опции «Переместить в начало / в конец диска»? А если мне абсолютно всё равно куда перемещать — лишь бы дефрагментировать максимально полно?.. Признаюсь — этот диалог поставил меня в тупик. Далее. Что будет делать программа, если у меня на диске нету столько свободного места, сколько занимает файл? (Например, для меня критично дефрагментировать файлы виртуальных дисков VMware, они занимают по 2 Гб, а свободно на диске, ну, положим, 1,5 Гб). Понятно, что полной дефрагментации файла при таких условиях можно достичь, а можно и не достичь — как повезёт, зависит от положения остальных файлов (поправьте меня, если я не прав). Так что будет делать программа? Я так понимаю, что есть три варианта поведения: Откажется дефрагментировать файл вообще (сегодня это происходит молча, и я даже не могу судить о том, что произошло). Дефрагментирует его настолько, насколько получится (скажем, было пять фрагментов, а стало два — уже неплохо). Раскидает остальные файлы на диске (хотя они и не были включены в профайл) так, чтобы заданный файл поместился единым куском и таким образом доведёт дефрагментацию до победного конца. Повторяю, эти предположения сделаны дилетантом, который плохо представляет собой суть процесса дефрагментации, поэтому если я не прав — не взыщите. Ну, и конечно, хотелось бы опции дефрагментации разделов целиком — как у «взрослых» дефрагментаторов. Я понимаю, что основная цель программы — не это, а решение для отдельных файлов. Но согласитесь, хотелось бы иметь одну программу для комплексного решения проблемы дефрагментации (сейчас приходится держать три, включая вашу — ни одна из них меня полностью не удовлетворяет). В завершение скажу, что я, к сожалению, совершенно избалован красивыми программами для американских людей. После всего вышеперечисленного меня сильно заботит визуальная красота интерфейса. Надеюсь, когда-нибудь дойдёт дело и до этого. Желаю удачи в вашем начинании. Добавлено Ещё раз — как я себе представляю работу программы в идеале. 1. В Проводнике Windows я выбрал файл и запустил его дефрагментацию из контекстного меню 1.1. Кстати, туда же — в контекстное меню — я бы попросил добавить пункты «Добавить файл в текущий профайл» и просто «Добавить в профайл...» (второе должно выводить выбор профайла с возможностью создания нового). 2. Факт создания задания заносится в лог. 3. Начинается дефрагментация файла. 4. Это тоже заносится в лог. 5. Выводится всплывающее сообщение в системном трее с информацией о статусе дефрагментации текущего задания. 5.1. Со временем (скажем, через 20 секунд) оно исчезает, как и положено всякому всплыающему сообщению. 5.2. При нажатии НА это сообщение появляется постоянное окно с более полной информацией о ходе выполнения задания. 5.3. Это же постоянное статусное окно можно включить из меню по правой кноке по значку программы в трее. 5.4. Это же постоянное меню можно включить в настройках программы (чтобы появлялось по умолчанию при запуске любого задания). 5.5. Это постоянное окно можно сделать «Поверх всех окон». 5.5. Это свойство тоже можно сделать умолчанием для всех таких окон в настройках программы. 5.6. Ну, понятно, что это окно можно закрыть обратно, если надоест. 6. Дефрагментация заканчивается. 7. Результаты дефрагментации заносятся в лог. 8. Об этом выводится сообщение пользователю. 8.1. Если постоянное статусное окно было отключено, результаты появляются всплывающем сообщением в трее. Оно исчезает само через те же 20 секунд. 8.1. Если было включено постоянное статусное окно, результаты появляются в нём же. Само оно не исчезает, надо нажать кнопку. | Всего записей: 2852 | Зарегистр. 30-05-2002 | Отправлено: 01:49 14-06-2004 | Исправлено: dg, 01:59 14-06-2004 |
|