А диск-то дефрагментируется, пройдемте... |
|
У тебя как и у меня много "хороших" друзей, и наверняка среди этих "хороших" друзей найдется парочка таких, которые зайдя отдать книгу по сборке компьютеров Нижне-Урипенского происхождения, не применно заглянут в комнату, где стоит твой вечнолюбимый комп (той же сборки :)), а там как раз ты гамишься по сетке в КС или Кваку, ну и естественно твой дружбан бросает или забывает все и присаживается на диван (хорошо на диван, а не за комп) для того, чтобы "посмотреть" как ты играешь, иногда такие присядки затягиваются на 3-5 часов. И это надоедает. Так что же делать? Сделать серьезный вид и запустить на дефрагментацию или проверку поверхности твой 40 гегтарный винч - не выход, а отстой. Но окно Дефрагментатора срабатывает стопроцентно, а это можно использовать в своих интересах. Надеюсь вводная часть убедила или напомнила, что пора сворганить форму с очень серьезным видом, но ничего не делающую. Она должна быть похожа на форму дефрагментатора диска без открытых Сведений. Да вот так: |
![]() |
|
Как видишь форма простая, но внушительная, а особенно, когда выполнено процентов 30-40. Ну довольно втуплений, открывай C++, у тебя автоматически создастся новый проект, поправь размеры формы, помести на нее 3 кнопаря(Button) с закладки стандартных компанентов(Standart), две метки(Label) от туда же и индикатор выполнения (ProgressBar) с закладки Win32, а потом размести компаненты на форме так, чтобы это стало похоже на рисунок сверху. Теперь займемся надписями, щелкни на кнопке с надписью "Button1", теперь в объектном инспекторе найди свойство "Caption", оно определяет надпись на кнопке, первоначально соответствует имени объекта, писать можно и на русском языке, измени ее на "Стоп", проделай ту же операцию с остальными кнопками так, чтобы надпись на Button2 сменилась на "&Пауза", а на Button3 сменилась на "С&ведения" (не обращай внимания на рисунок, я тоже иногда ошибаюсь), знак & означает, что следующий за ним знак будет подчеркнутым, да не забудь сменить значение Enabled (разрешен) с true (воистину) на false (вранье) - это значение отвечает за работу компанента, в данном случае Button'а, если значение true, то компанент выглядит "работоспособным" (здорого серого цвета с черными краями),а если значение false, то компанент неработоспособен, как обширявшийся нарик (весь серый). В свойсвах меток (Label) следует так же изменить значение Caption в первой на "0", а во второй на "% выполненно". Ну и конечно, форма тоже нуждается в изменение своего заголовка на "Дефрагментация диска". Все внешний вид готов, им можно уже напугать. У нас есть форма, но она пустая: индикатор не шевелится, кнопки не отзываются. Для "оживления" нам понадобится таймер (Timer) с системной закладки (System). Он будет отвечать за продвижения ссимулированной (что-то слово нехорошее) дефрагментации. Поставь его свойство интервал (Interval) в значение 300000 или по-нашенски 5 мин., как сам понимаешь это свойство отвечает за время через которое наступает событие onTimer, о нем позже, а пока, интервал измеряют милисекундах, таким образом секунда это 1000, пять секунд 5000, а 5 минут 300000 у.е.. Таймер можно разместить, где угодно, при выполнении проги он будет невидим. Для большего сходства надо эаменить значок в левом вверхнем углу формы на значок дефрагментатора. В свойствах формы выбери Icon и задай путь к таковому, я не нашел, точнее нашел, но в DLL файле, извлекать было лень нарисовал сам, значок похож, но не близнез. Его можно закачать в месте с исходниками примера или отсюда. Теперь приступим непосредственно к кодингу. Открой окно редактирования кода и там пиши в самом верху следующую строку: int i; Следующим шагом создай обработчик события onTimer таймера, для этого в объектном инспекторе выбери Timer1, на закладке событий (Events) дважды щелкни в окошке напротив надписи onTimer, откроется окно редактора кода туда впиши следущие строки: if (i==100){ Ну теперь все запусти на компиляцию и смотри, чтобы все работало. Если что-то неполучается, то можешь скачать мои исходники данной версии (956 Килов). Если не лом закачай полную версию вместе с исходниками(1,38 Мега) и разберись в них - это несложно. З.Ы. Пиши если есть идеи и проблемы по данному вопросу сюда alexx_everlast@hotmail.com. Вернуться к списку. >>>> |