|
[1998.05.10] Borland Delphiで物理メモリ量を取得してみよう
今回はDelphiを使用して全物理メモリ量と空き物理メモリ量を取得して、
メモリ利用率を表示してみましょう
とりあえず、フォームにボタン1個とEditBOX3個を配置して下さい。
この方法はDelphi2でもDelphi3.1でも使用できます。どんどん挑戦して下さい。又、うまくいかない場合には
メールにてお問い合わせ下さい。
|
1.まず、新規作成したフォームにボタンとEditボックスを3個配置して下さい。
このボタンクリックイベントに次のコードを記述します。
procedure TForm1.Button1Click(Sender: TObject);
Var
Mems: TMemoryStatus;
memres1,memres2,memres3: single;
memi: integer;
begin
GlobalMemoryStatus(mems);
memres1 := Mems.dwTotalPhys Div 1024;
memres2 := Mems.dwAvailPhys Div 1024;
memres3 := (memres1 - memres2) / memres1 * 100;
memi := trunc(memres3);
Edit1.text := inttostr(Mems.dwTotalPhys div 1024) + 'KB';
Edit2.text := inttostr(Mems.dwAvailPhys div 1024) + 'KB';
Edit3.text := inttostr(memi) + '%';
end;
2.Mems: TMemoryStatus;は、MemsをTMemoryStatus型として宣言しています。
3.実際にはWin32APIのGlobalMemoryStatus(mems);で構造体にシステム情報を読み込みます。
4.上記のAPIを使用して取得した情報はByte単位なのでこれを1024で除算します。
5.後は整数をtring型としてEditBoxに表示します。
6.ついでにC++Builderでは次の様になります。
void __fastcall TForm1::Button1Click(TObject *Sender)
{
MEMORYSTATUS Mems;
Mems.dwLength=sizeof(MEMORYSTATUS);
GlobalMemoryStatus(&Mems);
Edit1->Text = IntToStr(Mems.dwTotalPhys / 1024);
Edit2->Text = IntToStr(Mems.dwAvailPhys / 1024);
}
//---------------------------------------------------------------------------
|
戻る
|