Форум: "Система";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.02.07;
Скачать: [xml.tar.bz2];




Вниз

Памогите пожалуйсто . Как узнать общее количество установленной и свободной оперативной память? 


Dann   (2001-11-02 02:15) [0]

Заранее огромное спасибо.....



swr   (2001-11-02 09:32) [1]

GlobalMemoryStatus + F1



TSV   (2001-11-02 10:45) [2]

Примерно так:

unit About;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls, RXCtrls;

type
TAboutForm = class(TForm)
OKButton: TButton;
Bevel1: TBevel;
Timer1: TTimer;
Panel1: TPanel;
Image1: TImage;
TitleRxLabel: TRxLabel;
VersionRxLabel: TRxLabel;
CopyrightRxLabel: TRxLabel;
RightsRxLabel: TRxLabel;
EmailRxLabel: TRxLabel;
OSVersionRxLabel: TRxLabel;
TotalMemoryRxLabel: TRxLabel;
FreeMemoryRxLabel: TRxLabel;
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Timer1Timer(Sender: TObject);
private
{ Private declarations }
Free_Memory: string;
MS: TMemoryStatus;
VI: TOSVersionInfo;
public
{ Public declarations }
end;

var
AboutForm: TAboutForm;

implementation

{$R *.DFM}

{ TAboutForm }

procedure TAboutForm.FormCreate(Sender: TObject);
begin
// "инициализируем" переменные
MS.dwLength := SizeOf(TMemoryStatus);
VI.dwOSVersionInfoSize := SizeOf(TOSVersionInfo);
// собираем информацию
GlobalMemoryStatus(MS);
GetVersionEx(VI);
// анализируем и выводим
case VI.dwPlatformId of
VER_PLATFORM_WIN32s:
OSVersionRxLabel.Caption := OSVersionRxLabel.Caption +
"Windows 3.x running Win32s";
VER_PLATFORM_WIN32_WINDOWS:
OSVersionRxLabel.Caption := OSVersionRxLabel.Caption +
"Windows 95/98";
VER_PLATFORM_WIN32_NT:
OSVersionRxLabel.Caption := OSVersionRxLabel.Caption +
"Windows NT/2000";
end; // case
OSVersionRxLabel.Caption := OSVersionRxLabel.Caption + " " +
IntToStr(VI.dwMajorVersion) + "." + IntToStr(VI.dwMinorVersion) +
" (Build " + IntToStr(VI.dwBuildNumber) + ")";
TotalMemoryRxLabel.Caption := TotalMemoryRxLabel.Caption +
IntToStr(MS.dwTotalPhys div 1024) + " KB";
Free_Memory := FreeMemoryRxLabel.Caption;
FreeMemoryRxLabel.Caption := Free_Memory +
IntToStr(MS.dwAvailPhys div 1024) + " KB";
end;

procedure TAboutForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;

procedure TAboutForm.Timer1Timer(Sender: TObject);
begin
// собираем информацию
GlobalMemoryStatus(MS);
FreeMemoryRxLabel.Caption := Free_Memory +
IntToStr(MS.dwAvailPhys div 1024) + " KB";
end;

end.

Взято из двухтомника Тейксера и Пачеко "Delphi 5. Руководство разработчика."

С уважением.



Dann   (2001-11-03 02:16) [3]

Огромное спасибо




Форум: "Система";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.02.07;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.028 c
1-18888           Vaddya                2002-01-23 12:03  2002.02.07  
Создание ярлыка


3-18738           Fareader              2002-01-04 18:13  2002.02.07  
Filter в IBX


3-18737           МАРАТ                 2002-01-05 09:51  2002.02.07  
Поле типа TIME


1-18849           well                  2002-01-22 13:09  2002.02.07  
Вопрос по TTreeViev (TTreeNode)


4-19033           B@Nt                  2001-12-11 19:23  2002.02.07  
Привет APIшники !!! У меня крутой вопрос