|
Вопрос # 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.
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|