Форум: "Система";
Поиск по всему сайту: 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.043 c
1-18889           Vtt                   2002-01-23 17:43  2002.02.07  
помогите конвертировать имя файла в ДОСовское


1-18862           Лана Розанова         2002-01-22 14:51  2002.02.07  
Про Это.


3-18739           anod                  2002-01-10 13:16  2002.02.07  
Хм... Фильтр


1-18825           vrRaven               2002-01-25 16:15  2002.02.07  
Проблема с Copy()


14-18963          VEG                   2001-12-15 21:35  2002.02.07  
Проблема при разработке графического компонента.