Форум: "Система";
Текущий архив: 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]Огромное спасибо
Страницы: 1 вся ветка
Форум: "Система";
Текущий архив: 2002.02.07;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.004 c