Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/34: Рейтинг темы: голосов - 34, средняя оценка - 4.88
9 / 14 / 0
Регистрация: 10.01.2014
Сообщений: 277
1

Размер оперативной памяти

21.03.2014, 22:45. Показов 7049. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток! Кто знает, как можно вывести на экран объем оперативки равный больше 4 гб? помогите кто знает.. GLIBWMI такой информации не предоставляет...
Delphi
1
2
3
4
5
6
7
begin
         Memoryst.dwLength:=Sizeof(MemorySt);
         GlobalMemoryStatus(MemorySt);
         Memo1.Lines.Add(IntToStr(MemorySt.dwMemoryLoad)+'%');
         Memo1.Lines.Add(FloatToStrF(MemorySt.dwTotalPhys,ffFixed,100,1));
         Memo1.Lines.Add(FloatToStrF(MemorySt.dwAvailPhys,ffFixed,100,1));
        end;
этот код определяет, как 4 гб, любой объем который свыше 4 гб
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.03.2014, 22:45
Ответы с готовыми решениями:

Увеличение потребляемой оперативной памяти
Подскажите, пожалуйта, почему программа после каждого последующего исполнения процедуры использует...

Мониторинг оперативной памяти - Delphi XE7
Доброго времени суток! У меня такая проблема, в интернете наткнулся на статью, где описан код...

Отображение использованной оперативной памяти приложением
Собственно нужен код, который возвращает количество использованной оперативки моим приложением....

Большое потребление оперативной памяти при долгой работе
Добрый день гуру программирования. Проблема у меня такая. Приложение потребляет слишком много...

9
Модератор
3491 / 2614 / 741
Регистрация: 19.09.2012
Сообщений: 7,976
21.03.2014, 23:34 2
On computers with more than 4 GB of memory, the GlobalMemoryStatus function can return incorrect information, reporting a value of –1 to indicate an overflow. For this reason, applications should use the GlobalMemoryStatusEx function instead.
GlobalMemoryStatusEx
http://stackoverflow.com/quest... rystatusex
0
9 / 14 / 0
Регистрация: 10.01.2014
Сообщений: 277
22.03.2014, 00:08  [ТС] 3
FIL, GlobalMemoryStatusEX подчеркивает красным..

Delphi
1
2
3
4
5
6
7
8
GlobalMemoryStatusex(MS1);
    showmessage('KiloBytes of physical memory: '+FormatFloat('#,###" KB"', MS1.ullTotalPhys / 1024)+chr(10)+
                 'Percent of memory in use: '+Format('%d%%', [MS1.dwMemoryLoad])+chr(10)+
                 'KiloBytes of free physical memory: '+FormatFloat('#,###" KB"', MS1.ullAvailPhys /1024)+chr(10)+chr(10)+
                 'KiloBytes of paging file space: '+FormatFloat('#,###" KB"', MS1.ullTotalPageFile / 1024)+chr(10)+
                 'KiloBytes of free paging file space: '+FormatFloat('#,###" KB"', MS1.ullAvailPageFile / 1024)+chr(10)+chr(10)+
                 'KiloBytes of virtual address space: '+FormatFloat('#,###" KB"', MS1.ullTotalVirtual / 1024)+chr(10)+
                 'KiloBytes of free virtual address space: '+FormatFloat('#,###" KB"', MS1.ullAvailVirtual / 1024) );
0
Пишу на Delphi...иногда
1423 / 1278 / 286
Регистрация: 03.12.2012
Сообщений: 3,914
Записей в блоге: 5
22.03.2014, 00:13 4
Цитата Сообщение от kabardinec Посмотреть сообщение
подчеркивает красным..
по ссылке у тов. FIL на StackOverflow показано объявление экспортируемой функции GlobalMemoryStatusEx
0
Модератор
3491 / 2614 / 741
Регистрация: 19.09.2012
Сообщений: 7,976
22.03.2014, 00:24 5
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs;
 
type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
  DWORDLONG = UInt64;
 
  PMemoryStatusEx = ^TMemoryStatusEx;
  TMemoryStatusEx = packed record
    dwLength: DWORD;
    dwMemoryLoad: DWORD;
    ullTotalPhys: DWORDLONG;
    ullAvailPhys: DWORDLONG;
    ullTotalPageFile: DWORDLONG;
    ullAvailPageFile: DWORDLONG;
    ullTotalVirtual: DWORDLONG;
    ullAvailVirtual: DWORDLONG;
    ullAvailExtendedVirtual: DWORDLONG;
  end;
 
function GlobalMemoryStatusEx(var lpBuffer: TMemoryStatusEx): BOOL; stdcall; external kernel32;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
procedure TForm1.FormCreate(Sender: TObject);
var
  MemStatus: TMemoryStatusEx;
begin
  try
  // initialize the structure
  FillChar(MemStatus, SizeOf(MemStatus), 0);
  MemStatus.dwLength := SizeOf(MemStatus);
  // check return code for errors
  Win32Check(GlobalMemoryStatusEx(MemStatus));
 
  ShowMessage(Format('dwLength: %d', [MemStatus.dwLength]) + #13#10 +
              Format('dwMemoryLoad: %d', [MemStatus.dwMemoryLoad]) + #13#10 +
              Format('ullTotalPhys: %d', [MemStatus.ullTotalPhys]) + #13#10 +
              Format('ullAvailPhys: %d', [MemStatus.ullAvailPhys]) + #13#10 +
              Format('ullTotalPageFile: %d', [MemStatus.ullTotalPageFile]) + #13#10 +
              Format('ullAvailPageFile: %d', [MemStatus.ullAvailPageFile]) + #13#10 +
              Format('ullTotalVirtual: %d', [MemStatus.ullTotalVirtual]) + #13#10 +
              Format('ullAvailVirtual: %d', [MemStatus.ullAvailVirtual]) + #13#10 +
              Format('ullAvailExtendedVirtual: %d', [MemStatus.ullAvailExtendedVirtual]));
  except
    on E: Exception do
    begin
      ExitCode := 1;
      ShowMessage(Format('[%s] %s', [E.ClassName, E.Message]));
    end;
  end;
end;
 
end.
0
9 / 14 / 0
Регистрация: 10.01.2014
Сообщений: 277
22.03.2014, 00:55  [ТС] 6
cotseec, FIL, это я смотрел по ссылке... и пробовал запустить... пустая форма и никакой информации...

Вы не злитесь... я новичек причем самоучка...

Добавлено через 5 минут
Цитата Сообщение от kabardinec Посмотреть сообщение
GlobalMemoryStatusEX подчеркивает красным..
begin пропустил случайно..сори за невнимательность..
0
Модератор
3491 / 2614 / 741
Регистрация: 19.09.2012
Сообщений: 7,976
22.03.2014, 01:02 7
Лучший ответ Сообщение было отмечено kabardinec как решение

Решение

Цитата Сообщение от kabardinec Посмотреть сообщение
пустая форма и никакой информации
Обработчик OnFormCreate наверно не назначен.
Вложения
Тип файла: rar MemoryStatusEx.rar (1.3 Кб, 122 просмотров)
1
9 / 14 / 0
Регистрация: 10.01.2014
Сообщений: 277
22.03.2014, 01:27  [ТС] 8
FIL, брат.. теперь чтоб в label вывести...типы не совместимы label и string..
че с ним делать?
Delphi
1
2
3
4
5
6
7
8
9
lbl1:=(Format('dwLength: %d', [MemStatus.dwLength]) + #13#10 +
              Format('dwMemoryLoad: %d', [MemStatus.dwMemoryLoad]) + #13#10 +
              Format('ullTotalPhys: %d', [MemStatus.ullTotalPhys]) + #13#10 +
              Format('ullAvailPhys: %d', [MemStatus.ullAvailPhys]) + #13#10 +
              Format('ullTotalPageFile: %d', [MemStatus.ullTotalPageFile]) + #13#10 +
              Format('ullAvailPageFile: %d', [MemStatus.ullAvailPageFile]) + #13#10 +
              Format('ullTotalVirtual: %d', [MemStatus.ullTotalVirtual]) + #13#10 +
              Format('ullAvailVirtual: %d', [MemStatus.ullAvailVirtual]) + #13#10 +
              Format('ullAvailExtendedVirtual: %d', [MemStatus.ullAvailExtendedVirtual]));
0
пофигист широкого профиля
4753 / 3188 / 861
Регистрация: 15.07.2013
Сообщений: 18,453
22.03.2014, 01:51 9
Лучший ответ Сообщение было отмечено kabardinec как решение

Решение

Цитата Сообщение от kabardinec Посмотреть сообщение
теперь чтоб в label вывести...типы не совместимы label и string..
У TLabel есть свойство Caption. Вот ему и присваивай то, что ты хочешь, чтобы этот label отображал.

P.S. Ну уж раздобудь для себя где-нибудь букварь по Дельфи. Ну нельзя так начинать.
1
9 / 14 / 0
Регистрация: 10.01.2014
Сообщений: 277
22.03.2014, 02:14  [ТС] 10
Цитата Сообщение от northener Посмотреть сообщение
У TLabel есть свойство Caption. Вот ему и присваивай то, что ты хочешь, чтобы этот label отображал.
)) ппц голова у меня..))) че то с головой у меня не порядок..))

Цитата Сообщение от northener Посмотреть сообщение
P.S. Ну уж раздобудь для себя где-нибудь букварь по Дельфи. Ну нельзя так начинать.
есть у меня книжки...и не один, не два...)

Добавлено через 22 секунды
друзья, сори, за глупые вопросы такие)))
0
22.03.2014, 02:14
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.03.2014, 02:14
Помогаю со студенческими работами здесь

Webbrowser при обновлении страницы занимает больше оперативной памяти
Имеется форма VCL, на ней кнопка и браузер, после каждого просмотра видео память увеличивается на...

Определение Оперативной памяти
Подскажите пожалуйста как определить название планок оперативной памяти. Например из Эвереста ...

Размер списка в оперативной памяти
Есть список List<string> list. требуется определить размер памяти, который он занимает в байтах....

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


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru