お知らせ

電子会議

ライブラリ

パレット

Delphi FAQ検索

Delphi FAQ一覧

サンプル蔵





FDelphi FAQ
16番会議室「玉石混淆みんなで作るSample蔵」に寄せられたサンプル

"物理メモリや空きメモリの取得"





{
PCの全物理メモリや空きメモリを取得します。
フォームにTLabel・TGauge・TButton・TTimerを配置してください。
}

procedure TForm1.Timer1Timer(Sender: TObject);
var
 //APIヘルプに載っています
 TMS : TMemoryStatus;
begin
 TMS.dwLength := SizeOf(TMemoryStatus);
 GlobalMemoryStatus(TMS);

 //全物理メモリを最大値に設定
 Gauge1.MaxValue := TMS.dwTotalPhys;

 Gauge1.Progress := TMS.dwAvailPhys;

 //KBバイトにして表示させています
 //MBなら 1048576 で割って下さい
 Label1.Caption := FormatFloat('Free #,##0.# KB '
                               ,TMS.dwAvailPhys / 1024)+
                   FormatFloat('/ All #,##0.# KB'
                               ,TMS.dwTotalPhys / 1024);
end;

procedure TForm1.Button1Click(Sender: TObject);
var
TSL : TStringList;
i : Integer;
begin
//取り敢えずメモリを消費してみる(^^;
 TSL := TStringList.Create;
 try
  for i := 0 to 200000 do
   begin
    TSL.Add('サンプル蔵万歳!');
    //以下をしないと表示が更新されません
    Application.ProcessMessages;
   end;
 finally
  TSL.Free;
 end;
end;

                                        紅月 燐火(BZF05041)

Original document by 紅月 燐火      氏 ID:(BZF05041)


ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum の16番会議室「玉石混淆みんなで作るSample蔵」に投稿されたサンプルです。これらのサンプルはボーランド株式会社がサポートする公式のものではありません。また、必ずしも動作が検証されているものではありません。これらのサンプルを使用したことに起因するいかなる損害も投稿者、およびフォーラムスタッフはその責めを負いません。使用者のリスクの範疇でご使用下さい。

Copyright 1996-2002 Delphi Users' Forum