Jump to content
Fórum Script Brasil
  • 0

Memória Em Uso


Eder
 Share

Question

Ola..eu peguei este codigo na net e dei uma modificada.

procedure TForm1.Timer2Timer(Sender: TObject);
const cBytesPorMb=1024*1024;
var
M: TMemoryStatus;
T : string;
begin
M.dwLength:=SizeOf(M);
GlobalMemoryStatus(M);
begin
label4.caption:=(Format('Memória em uso: %d%%', [M.dwMemoryLoad]));
label3.caption:=(format('Total de física: %f MB', [M.dwTotalPhys/cBytesPorMB]));
T := formatfloat('#,##',(diskfree(0)));
label1.caption:=('Espaço Livre do HD: '+ copy(T,1,4)+' MB');
T:= formatfloat('#,##',(DiskSize(0)));
label2.caption:=('Tamanho do HD: '+copy(T,1,4)+' MB');
end;

ele apresenta a memoria da maquina total e a usada, o tamanho do hd e o espaço livre...funciona perfeito.

Eu Gostaria de saber como posso colocar juntos com estas informações a MEMÓRIA USADA PELO PROGRAMA? tipo vou colocar um timer em um programa é quero que apareça pro usuario quanto que o programa ocupa de memória.

Tem Como?

Grato

Link to comment
Share on other sites

4 answers to this question

Recommended Posts

  • 0
Guest --Jonas --

Se voce quiser dar uma incrementada no codigo

{typedef struct _MEMORYSTATUS}

dwLength; // sizeof(MEMORYSTATUS)

dwMemoryLoad; // percentual de memória em uso

dwTotalPhys; // bytes de memória física

dwAvailPhys; // bytes livres de memória física

dwTotalPageFile; // bytes de paginação de arquivo

dwAvailPageFile; // bytes livres de paginação de arquivo

dwTotalVirtual; // bytes em uso de espaço de endereço

dwAvailVirtual; // bytes livres}

Exemplo:

label5.caption:=(format('Memória de paginação de arquivo: %f MB', [M.dwTotalPageFile/cBytesPorMB]));

Link to comment
Share on other sites

  • 0

Jonas....bza??

carinha este resultado que você colocou que sai no label...é a memoria do aplicativo..ou seja memoria de pagina do arquivo???

é isto que o programa ocupa de memoria??

Se for.....por favor me responda porque no aplicativo diz que tem 1481 MB e no gerenciador do winxp dia que tem 2364 K ???

valeu muito Grato

T+ :)

Link to comment
Share on other sites

  • 0
Guest --Jonas --
Jonas....bza??

carinha este resultado que você colocou que sai no label...é a memoria do aplicativo..ou seja memoria de pagina do arquivo???

é isto que o programa ocupa de memoria??

Se for.....por favor me responda porque no aplicativo diz que tem 1481 MB e no gerenciador do winxp dia que tem 2364 K ???

valeu muito Grato

T+ :)

bza .... olha, no gerenciador do winxp voce ve duas colunas, uma de percentual de uso da cpu para cada programa em execução, e a outra de alocação de memoria para cada programa em uso, o valor que você encontrou no seu programa de 2364 k correposponde a quantidade de memoria alocada para o programa. o correto seria usar a informação do percentual da CPU quando o seu programa estiver sendo executado .... por exemplo: tenho um programa em delphi que chega a usar 100 % da cpu quando esta executando no entanto a memoria alocada para ele fica em 5320 K. eu já montei uma janela para mostrar para o usuario este percentual faz muito tempo, se eu achar mando um post para você ...ok ? Obs voce pode criar um label para cada uma daquelas informações sobre o uso da memoria, mas vai por mim... isto não é interessante para o usuario, mas somente para o desenvolvedor....

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Forum Statistics

    • Total Topics
      149.8k
    • Total Posts
      646.6k
×
×
  • Create New...