Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Для новичков > Как похрустеть хардом не меняя его содержимого?


Автор: Alexzz 8.5.2007, 10:25
Возникло желание подшутить над коллегой. Вот сижу, пишу прикольчик на дельфи. Идея простая: На форму нанесён Statictext с некоторым сообщением для коллеги, внизу Progressbar, который с помощью события от Timer приводится в движение с определённой скоростью, и в самом низу ещё один Label с текстом в Caption - "Formating drive C:... XX% done", где ХХ меняется вместе с параметром Position от Progressbar. По достижении 100% программа автоматически закрывается выводя сообщение в стиле "Вас разыграли, ваш диск C: в полном порядке".

Всё, что я так подробно описал выше уже сделано. Осталась самая малость - создать иллюзию некой активности жёсткого диска. Я пробовал поставить на форму ещё один таймер, и по его событию писать на диск пустой файл, а затем его сразу стирать. Путём подбора размера файла, выяснил, что если писать до 200мб то диск вообще не проявляет никакой активности. Очевидно файловый кэш съедает все 200мб, а после удаления просто забывает о них. Если писать файл 500мб, то активность появляется, но и система на время записи файла слегка подвисает, что то-же не есть хорошо. Вобщем подобрал оптимум, писать 3 файла по 100мб и затем их стирать, а через 2.5 секунды снова писать и снова стирать. На моём компе получился качественный "хруст" харда. Но когда я попробовал прогу на других компах, то понял, что эффект на разных компах разный. Там, где стоит много памяти, кэш естественно больше, и никакого хруста вообще нет. А на слабеньком компе с маленькой памятью и слабым процем опять-таки всё стало подвисать на время хруста.

Вопрос к знатокам Дельфи. Как организовать активное обращение к жёсткому диску, хруст харда с почти постоянным свечение светодиода, так, что-бы на разных компах оно работало одинаково?

Автор: Snowy 8.5.2007, 10:32
Просто сканируй диск с подкаталогами.
Для большей загрузки, можешь попробовать открывать каждый файл и читать из него пару метров.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)