| 
| 
 | Вопрос # 5 549/ вопрос открыт / | 
 |  Доброго времени суток, уважаемые эксперты!Какой код нужно ввести чтоб в labelах отображались:
 Физическая память:
 системный кеш(Int)
 Всего:
 дескрипторы(Int)
 потоки(Int)
 процессы(Int)
 Память ядра:
 Всего(Int)
 Выгружаемая(Int)
 Невыгружаенмая(Int)
 Выделение памяти:
 Всего(Int)
 Предел(Int)
 Пик(Int)
 
|  |   Вопрос задал: NoSleep (статус: Посетитель)Вопрос отправлен: 2 августа 2011, 12:53
 Состояние вопроса: открыт, ответов: 1.
 |  Ответ #1. Отвечает эксперт: Localiz Здравствуйте, Еремин В.Е!var
 ms:TMemoryStatus;
 begin
 GlobalMemoryStatus(MS);
 Label1.Caption:=FormatFloat('Оперативная память: #,###" Мб"', MS.dwTotalPhys / 1024/ 1024);
 Label2.Caption := FormatFloat('Свободно места: #,###" Гб"', MS.dwTotalVirtual / 1024/ 1024 / 1024);
 Label3.Caption := FormatFloat('Файл подкачки: #,###" Гб"',  MS.dwTotalPageFile / 1024/ 1024 / 1024);
 Label3.Caption := FormatFloat('Файл подкачки: #,###" Гб"',  MS.dwTotalVirtual / 1024/ 1024 / 1024);
 
|  | Ответ отправил: Localiz (статус: 1-ый класс)Время отправки: 5 августа 2011, 14:05
 
 |  
 Мини-форум вопросаВсего сообщений: 2; последнее сообщение — 5 августа 2011, 12:28; участников в обсуждении: 2. 
|   | bugmenot (статус: 3-ий класс), 2 августа 2011, 14:19 [#1]: Цитата (NoSleep): Где хранится компонент отображения графикаВ \demos\ к бидлеру, к дельфям аналога нет виконання програми розпочинається з того самого мiсця, де призупинилося.
 
 |  
|   | Localiz (статус: 1-ый класс), 5 августа 2011, 12:28 [#2]: unit MemoryOptimizer;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, Gauges, StdCtrls, ShellAPI, Menus;
 
type
  TForm8 = class(TForm)
    GgAllocatedMem: TGauge;
    GgAllocatedPhysicalMem: TGauge;
    GgAllocatedPageFileMem: TGauge;
    GgAllocatedVirtualMem: TGauge;
    GgFreeMem: TGauge;
    GgFreePhysicalMem: TGauge;
    GgFreePageFileMem: TGauge;
    GgFreeVirtualMem: TGauge;
    Label1: TLabel;
    Label2: TLabel;
    Panel9: TPanel;
    Panel10: TPanel;
    MmResumo: TMemo;
    TmrRefresh: TTimer;
    BalloonHint1: TBalloonHint;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure TmrRefreshTimer(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure Fechar1Click(Sender: TObject);
    private
    DeixaSair: Boolean;
    IconData: TNotifyIconData;
    procedure MyMinimize(Sender: TObject);
    function UpRound(Value: Double): Integer;
    function DownRound(Value: Double): Integer;
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form8: TForm8;
 
implementation
  uses bootspeed;
{$R *.dfm}
 
function TForm8.DownRound(Value: Double): Integer;
begin
  Result := Trunc(Value);
end;
 
procedure TForm8.FormClose(Sender: TObject; var Action: TCloseAction);
begin
form8.close;
form1.showmodal;
end;
 
function Tform8.UpRound(Value: Double): Integer;
begin
  Result := Trunc(Value);
  if Frac(Value) <> 0 then
    Result := Trunc(Value + 1);
end;
 
procedure TForm8.FormCreate(Sender: TObject);
begin
  TmrRefreshTimer(Self);
end;
 
procedure TForm8.FormDestroy(Sender: TObject);
begin
  Shell_NotifyIcon(NIM_DELETE, @IconData);
end;
 
procedure TForm8.TmrRefreshTimer(Sender: TObject);
const
  cBytesPorMb = 1024 * 1024;
var
  MemStatus: TMemoryStatus;
begin
  MemStatus.dwLength := SizeOf(MemStatus);
  GlobalMemoryStatus(MemStatus);
 
  MmResumo.Clear;
  with MmResumo.Lines do
   begin
    Add(Format('Использовано памяти:                     %d%%', [MemStatus.dwMemoryLoad]));
    Add('Физическая память:             ' + FormatFloat('0000.00 Мб', MemStatus.dwTotalPhys / cBytesPorMb));
    Add('Файл подкачки:                 ' + FormatFloat('0000.00 Мб', MemStatus.dwTotalPageFile / cBytesPorMb));
    Add('Физическая память:             ' + FormatFloat('0000.00 Мб', MemStatus.dwTotalVirtual / cBytesPorMb));
   end;
 
  // Memorias alocadas
  with GgAllocatedMem do
  begin
    MaxValue := DownRound(MemStatus.dwTotalPhys / cBytesPorMb);
    Progress := UpRound(MemStatus.dwMemoryLoad);
  end;
  with GgAllocatedPhysicalMem do
  begin
    MaxValue := DownRound(MemStatus.dwTotalPhys / cBytesPorMb);
    Progress := UpRound((MemStatus.dwTotalPhys - MemStatus.dwAvailPhys) / cBytesPorMb);
  end;
  with GgAllocatedPageFileMem do
  begin
    MaxValue := DownRound(MemStatus.dwTotalPageFile / cBytesPorMb);
    Progress := UpRound((MemStatus.dwTotalPageFile - MemStatus.dwAvailPageFile) / cBytesPorMb);
  end;
  with GgAllocatedVirtualMem do
  begin
    MaxValue := DownRound(MemStatus.dwTotalVirtual / cBytesPorMb);
    Progress := UpRound((MemStatus.dwTotalVirtual - MemStatus.dwAvailVirtual) / cBytesPorMb);
  end;
 
  // Memуrias disponнveis
  with GgFreeMem do
  begin
    MaxValue := DownRound(MemStatus.dwTotalPhys / cBytesPorMb);
    Progress := DownRound(MemStatus.dwTotalPhys / cBytesPorMb) - DownRound(MemStatus.dwMemoryLoad);
  end;
  with GgFreePhysicalMem do
  begin
    MaxValue := DownRound(MemStatus.dwTotalPhys / cBytesPorMb);
    Progress := DownRound(MemStatus.dwAvailPhys / cBytesPorMb);
  end;
  with GgFreePageFileMem do
  begin
    MaxValue := DownRound(MemStatus.dwTotalPageFile / cBytesPorMb);
    Progress := DownRound(MemStatus.dwAvailPageFile / cBytesPorMb);
  end;
  with GgFreeVirtualMem do
  begin
    MaxValue := DownRound(MemStatus.dwTotalVirtual / cBytesPorMb);
    Progress := DownRound(MemStatus.dwAvailVirtual / cBytesPorMb);
  end;
end;
 
procedure Tform8.MyMinimize(Sender: TObject);
begin
  ShowWindow(Application.Handle, SW_HIDE);
end;
 
procedure Tform8.Fechar1Click(Sender: TObject);
begin
  Close;
end;
 
end. |  Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |