Автор crazy_script@mail

Автор:crazy_script@mail.ru

Hi! Сегодня мы попытаемся
написать программу, которая будет показывать состояние памяти компа. Для начала
определим что она будет делать. Ну самое главное что нам нужно, это сотояние
физической памяти и загруженность ее в %. А дальше, по своему вкусу, добавим еще
состояние виртуальной и страничной памяти. Начнем. Создай новый проект на Делфи
( File->New->Application). Теперь подумай, как тебе удобней отображать состояние
памяти. Для меня лучше в Label, но можно и Edit. Ну это на твое усмотрение.
Кидай на форму 7 компонентов Label (в них будет отображаться значение) и еще 7
(это будут пояснения: загруженность, всего физической, использовано физической,
всего страничной, использовано страничной, всего виртуальной, использовано
виртуальной). Какие не нужны, те отбрось ;) . Теперь кинь таймер (из вкладки
System). Это будет наш главный элемент., поэтому поставь интервал по своему
усмотрению (у меня он 400). Этот интервал будет отвечать за частоту обновления
полей. Ну и для красоты брось ProgressBar ( из вкладки Win32). У тебя должно
получиться что-то типа этого: Теперь приступим непосредственно к кодингу. Весь
код мы будем писать в процедуру запуска таймера. А вот и код:

procedure TForm1.Timer1Timer(Sender: TObject);

var m: TMemoryStatus; temp: integer;

begin m.dwLength:=sizeof(m);

GlobalMemoryStatus(m);

with m do begin //Загруженность памяти

label1.caption:=IntToStr (dwMemoryLoad)+’ %’; // Всего физической

label2.caption:=IntToStr (dwTotalPhys)+’ байт’; // Свободно физической

label3.caption:=IntToStr (dwAvailPhys)+’ байт’; // Всего страничной

label4.caption:=IntToStr (dwTotalPageFile)+’ байт’; // Свободно страничной

label5.caption:=IntToStr (dwAvailPageFile)+’ байт’; // Всего выиртуальной

label6.caption:=IntToStr (dwTotalVirtual)+’ байт’; //Свободно виртуальной

label7.caption:=IntToStr (dwAvailVirtual)+’ байт’; //Загруженность на
ProgressBar1

progressbar1.Max:= dwTotalPhys;

progressbar1.Position:=dwTotalPhys-dwAvailPhys;

end;

end;

Вот в принципе и все. Если ты используешь Edit, то вместо labelX.caption пиши
EditX.text , где х-номер компонента. И последнее, чтобы pogressBar выглядела
лучше, измени свойство Smooth равным True. Если у тебя возникнут какие-либо
вопросы, предложения, пожелания, прошу отправлять их мне по адресу:

crazy_script@mail.ru

Понравилась статья? Поделиться с друзьями: