Книга: Delphi. Учимся на примерах

Полный исходный код модуля

Полный исходный код модуля

Полный исходный код модуля программы отображения информации о памяти представлен в листинге 11.1.

Листинг 11.1. Модуль программы Memory info

unit Unit1
interface
uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Gauges, ExtCtrls, Spin;
type TForm1 = class(TForm)
 Label1: TLabel;
 Label2: TLabel;
 Label3: TLabel;
 Label4: TLabel;
 Label5: TLabel;
 Label6: TLabel;
 Label7: TLabel;
 Gauge1: TGauge;
 Timer1: TTimer;
 Label8: TLabel;
 Label9: TLabel;
 Label10: TLabel;
 Label11: TLabel;
 Label12: TLabel;
 Label13: TLabel;
 Label14: TLabel;
 SpinEdit1: TSpinEdit;
 Label15: TLabel;
 Label16: TLabel;
 Button1: TButton;
 procedure Timer1Timer(Sender: TObject);
 procedure Button1Click(Sender: TObject);
private
 { Private declarations }
public
 { Public declarations }
end;
var
 Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Timer1Timer(Sender: TObject);
var
 mem: TMemoryStatus; //хранит всю информацию о памяти
begin
 mem.dwLength:= SizeOf(mem); //размер памяти
 GlobalMemoryStatus(mem); //узнаем всю информацию о памяти
 //выводим информацию в соответствующие метки
 with mem do begin
  // Загруженность памяти
  Label1.Caption:= IntToStr(dwMemoryLoad) + ' %';
  Label2.Caption:= IntToStr((dwTotalPhys) div 1024) + 'Кбайт'; // Всего физической
  Label3.Caption:= IntToStr((dwAvailPhys) div 1024) + 'Кбайт'; // Свободно физической
  Label4.Caption:= IntToStr((dwTotalPageFile) div 1024) + 'Кбайт'; // Всего страничной
  Label5.Caption:= IntToStr((dwAvailPageFile) div 1024) + 'Кбайт'; // Свободно страничной
  Label6.Caption:= IntToStr((dwTotalVirtual) div 1024) + 'Кбайт'; // Всего swap
  Label7.Caption:= IntToStr((dwAvailVirtual) div 1024) + ' Кбайт'; // Свободно swap
  Gauge1.MaxValue:= dwTotalPhys; //определяем максимум
  //отображаем процент загруженности памяти
  Gauge1.Progress:= dwTotalPhys-dwAvailPhys;
 end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
 //установка интервала работы таймера
 Timer1.Interval:= SpinEdit1.Value*1000;
end;
end.

? Все файлы проекта и исполняемый файл рассмотренной программы находятся на прилагаемом к книге компакт-диске в папке Chapter_11.

Оглавление книги


Генерация: 0.042. Запросов К БД/Cache: 0 / 0
поделиться
Вверх Вниз