Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения
KANSoftWare

Мониторинг оперативной памяти

Delphi , Синтаксис , Память и Указатели

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

Code:

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

Источник: http://delphi.dax.ru

Статья Мониторинг оперативной памяти раздела Синтаксис Память и Указатели может быть полезна для разработчиков на Delphi и FreePascal.


Комментарии и вопросы


Ваше мнение или вопрос к статье в виде простого текста (Tag <a href=... Disabled). Все комментарии модерируются, модератор оставляет за собой право удалить непонравившейся ему комментарий.

заголовок

e-mail

Ваше имя

Сообщение

Введите код




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Память и Указатели ::


реклама

:: Наборы мочеприемники для самокатетеризации lifestoma.ru.


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Rambler's Top100
26.09.2017 15:43:22/0.0097379684448242/0