БН
Баха Нормурадов

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

Нашел статью:
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;

Все супер все работает кроме progressbar1, так как максимальный обьем оперативной памяти у меня 4 гб.
а в progressbar1.max влазит лишь 2147483648
Будь 2 работало бы 🙂
Может числа округлить можно как-то? так как мне нужно получить 4095 мб в label1.caption

Владимир
Владимир

видимо вывод идет в байтах или битах переводите в мбайты, деление на 1024 последовательно.

ШК
Ширин Каримова

так ты процесбаром зачем побитно показываешь! - естественно раздели на 1024 как минимум и выводи в кб

ПН
Петр Никулин

Дели все на что-то, скажем, на 1000 (лучше - на степень двойки) . Только числа выводи правильные.
progressbar1.Max:= dwTotalPhys div 1024;
progressbar1.Position:=(dwTotalPhys-dwAvailPhys) div 1024;

Похожие вопросы
Вопрос по оперативной памяти
Проблемы с оперативной памятью
как поменять процесор? и гнезда для оперативной памяти? и гнезда для оперативной памяти?
Подскажите хорошую программу для освобождения оперативной памяти
PHP. Временное хранение данных в оперативной памяти сервера.
В чем состоит различие между оперативной и долговременной памятью
Как узнать адрес в оперативной памяти с которого начинается процесс?
как узнать сколько оперативной памяти в компьютере
Радиатор на Оперативной Памяти. Радиатор так ли важен в Оперативной памяти? или можно без радиатора ?
Как изменить частоту оперативной памяти не входя в БИОС?