Форум программистов, компьютерный форум CyberForum.ru

Delphi и WinAPI

Войти
Регистрация
Восстановить пароль
 
pixel
17 / 10 / 1
Регистрация: 19.05.2009
Сообщений: 1,543
#1

Как определить точный размер оперативной памяти? - Delphi WinAPI

04.04.2016, 17:20. Просмотров 538. Ответов 7
Метки нет (Все метки)

Приветствую.
Есть функция:
Delphi
1
2
3
4
5
6
7
8
9
10
function GetMem: String;
var
MyMem: TMemoryStatus;
begin
MyMem.dwLength:=SizeOf(MyMem);
GlobalMemoryStatus(MyMem);
with MyMem do begin
Result:= IntToStr(dwTotalPhys);
end;
end;
возвращает 4294967295, хотя у меня 16 гигов стоит. Подскажите функцию которая вернет правильное значение.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.04.2016, 17:20
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как определить точный размер оперативной памяти? (Delphi WinAPI):

Определение Оперативной памяти - Delphi
Подскажите пожалуйста как определить название планок оперативной памяти. Например из Эвереста Имя модуля: Nanya NT2GC64B8HC0NS-CG ...

Как написать точный таймер? - Delphi
Помогите! подскажите как написать точный таймер, а то у меня то 2 секунды отставания то вперед таймер бежит.

Как определить размер типизированного файла - Delphi
Подскажите, пожалуйста, как определить размер типизированного файла, который может быть либо TCon_File1 ил и TCon_File2 или TCon_File3. ...

Как определить размер и атрибуты файла? - Delphi WinAPI
скажите пожалуйста почему мне не выдает размер файла эта функция procedure TForm3.Button3Click(Sender: TObject); var ...

Размер памяти, выделяемый под переменную комбинированного типа - Delphi
1)type Complex=record Re, Im:real end; M=array of Complex; var a:M; Укажите верные...

Как програмно определить размер оперативной памяти - C#
У меня такой вопрос: Как програмно определить размер оперативной памяти? В гугле ничё не нашёл решил здесь спросить.

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
FIL
Модератор
3372 / 2510 / 477
Регистрация: 19.09.2012
Сообщений: 7,832
04.04.2016, 18:43 #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
GlobalMemoryStatusEx()
pixel
17 / 10 / 1
Регистрация: 19.05.2009
Сообщений: 1,543
04.04.2016, 18:55  [ТС] #3
похоже это для дельфей не ниже 7?
volvo
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
23388 / 15379 / 4526
Регистрация: 22.10.2011
Сообщений: 27,343
Записей в блоге: 4
04.04.2016, 18:56 #4
При чем тут версия Дельфи? Это WinAPI
pixel
17 / 10 / 1
Регистрация: 19.05.2009
Сообщений: 1,543
04.04.2016, 19:37  [ТС] #5
сорри, нашел пример, в котором было DWORDLONG = UInt64 - из за этого и спросил. нашел другой пример, все заработало. спасибо.

Добавлено через 27 минут
volvo, подскажите еще один момент. В свойствах компа пишет 16.0 Гб, а в проге выдает 15,98 Гб
вот строка
Delphi
1
Memo1.Lines.Add(Format('%.2f ГБ',[MemoryStatus.ullTotalPhys/(1024*1024*1024)]));
где правда?
NotBeginner
150 / 150 / 19
Регистрация: 22.02.2013
Сообщений: 2,756
Записей в блоге: 2
27.05.2016, 15:22 #6
pixel, а если делить на 1000 вместо 1024
похоже на маркетинговый ход)
djljktq_81
0 / 0 / 0
Регистрация: 19.04.2016
Сообщений: 6
09.06.2016, 06:29 #7
Можно попробовать сравнить с выводом какой-нибудь специализированной утилиты.
Postscripter
5 / 5 / 1
Регистрация: 04.07.2012
Сообщений: 152
14.06.2016, 07:06 #8

Не по теме:

Delphi
1
2
3
4
5
6
7
8
true
 repeat
  GetMem(p, 1024);
  inc(cnt);
 until false;
expect 
 showmessage('У вас было' + inttostr(cnt) + ' килобайт памяти');
end


J
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.06.2016, 07:06
Привет! Вот еще темы с ответами:

Как определить максимально возможный размер оперативной памяти для своего компьютера? - Оперативная память
Собственно имеется 1 гиг оперативки и тормозящая при этом с завидной регулярностью максимальная семёрка. Для оперативки имеется четыре...

Как узнать размер оперативной памяти? - Оперативная память
Привет, меня интересует,- как определить размер озу без О.С и если на ней ни чего не написано? Я думаю, что нужно битность 1 ечейки...

Размер оперативной памяти - Delphi
Доброго времени суток! Кто знает, как можно вывести на экран объем оперативки равный больше 4 гб? помогите кто знает.. GLIBWMI такой...

.NET 3.x Размер списка в оперативной памяти - C#
Есть список List<string> list. требуется определить размер памяти, который он занимает в байтах. строки разной длины, строк много(более...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
14.06.2016, 07:06
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru