begin process at 2012 02 11 15:54:28
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Système

 > MEMORYSTATUS

MEMORYSTATUS


 Description

Cliquez pour voir la capture en taille normale
Mon tout premier programme après 2 jours de découverte de Delphi. Etude du TMemoryStatus et de la mémoire physique et virtuelle

Source

  • {===============================================================================
  • Code source : BEAUMONT Christophe
  • Version : 1.0.0
  • Date : 23 Février 2010
  • Etude 01 - Exemple d'utilisation d'une structure MemoryStatus qui contient les
  • informations sur l'état de la mémoire physique et virtuelle.
  • ===============================================================================}
  • unit Main;
  • interface
  • uses
  • Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  • Dialogs, StdCtrls, ExtCtrls;
  • type
  • TTableau = class(TForm)
  • Structure: TMemo;
  • Separateur1: TBevel;
  • Separateur2: TBevel;
  • dwLength1: TLabel;
  • dwMemoryLoad1: TLabel;
  • dwTotalPhys1: TLabel;
  • dwAvailPhys1: TLabel;
  • dwTotalPageFile1: TLabel;
  • dwAvailPageFile1: TLabel;
  • dwTotalVirtual1: TLabel;
  • dwAvailVirtual1: TLabel;
  • dwLength2: TLabel;
  • dwMemoryLoad2: TLabel;
  • dwTotalPhys2: TLabel;
  • dwAvailPhys2: TLabel;
  • dwTotalPageFile2: TLabel;
  • dwAvailPageFile2: TLabel;
  • dwTotalVirtual2: TLabel;
  • dwAvailVirtual2: TLabel;
  • Timer1: TTimer;
  • procedure Timer1Timer(Sender: TObject);
  • private
  • { Déclarations privées }
  • public
  • { Déclarations publiques }
  • end;
  • var
  • Tableau: TTableau;
  • implementation
  • {$R *.dfm}
  • //Le Timer a été réglé pour exécuter la procédure 10 fois par seconde : Interval = 100
  • procedure TTableau.Timer1Timer(Sender: TObject);
  • //On déclare une structure MemoryStatus
  • var Memory : TMemoryStatus;
  • begin
  • //On récupère les informations du système sur la mémoire physique et virtuelle
  • GlobalMemoryStatus(Memory);
  • // Affiche la taille de la structure MemoryStatus en bytes
  • dwLength1.Caption := IntToStr(Memory.dwLength);
  • // Affiche un nombre entre 0 et 100 du pourcentage de mémoire physique utilisée
  • dwMemoryLoad1.Caption := IntToStr(Memory.dwMemoryLoad);
  • // Affiche la taille totale de la mémoire physique en bytes
  • dwTotalPhys1.Caption := IntToStr(Memory.dwTotalPhys);
  • // Affiche la taille de la mémoire physique disponible en bytes
  • dwAvailPhys1.Caption := IntToStr(Memory.dwAvailPhys);
  • // Affiche la limite de taille de la mémoire engagée en bytes
  • dwTotalPageFile1.Caption := IntToStr(Memory.dwTotalPageFile);
  • // Affiche la taille disponible de la mémoire à engager en bytes
  • dwAvailPageFile1.Caption := IntToStr(Memory.dwAvailPageFile);
  • // Affiche la taille totale de la mémoire virtuelle pour le processus en bytes
  • dwTotalVirtual1.Caption := IntToStr(Memory.dwTotalVirtual);
  • // Affiche la taille de la mémoire virtuelle non engagée pour le processus
  • dwAvailVirtual1.Caption := IntToStr(Memory.dwAvailVirtual);
  • // Affiche la taille de la structure MemoryStatus en bytes
  • dwLength2.Caption := Format('Taille de la structure MemoryStatus = %d bytes',[Memory.dwLength]);
  • // Affiche le pourcentage de mémoire physique utilisée
  • dwMemoryLoad2.Caption := Format('Mémoire utilisée = %d %%',[Memory.dwMemoryLoad]);
  • // Affiche la taille totale de la mémoire physique en mégaoctets
  • dwTotalPhys2.Caption := FormatFloat('"Mémoire physique = "#,#" Mo"',(Memory.dwTotalPhys/1024)/1024);
  • // Affiche la taille de la mémoire physique disponible en kilo-octets
  • dwAvailPhys2.Caption := FormatFloat('"Mémoire physique disponible : "#,###" Ko"',(Memory.dwAvailPhys/1024));
  • // Affiche la limite de taille de la mémoire engagée en mégaoctets
  • dwTotalPageFile2.Caption := FormatFloat('"Limite de la mémoire engagée = "#,#" Mo"',(Memory.dwTotalPageFile/1024)/1024);
  • // Affiche la taille disponible de la mémoire à engager en mégaoctets
  • dwAvailPageFile2.Caption := FormatFloat('"Mémoire disponible à engager = "#,#" Mo"',(Memory.dwAvailPageFile/1024)/1024);
  • // Affiche la taille totale de la mémoire virtuelle pour le processus en mégaoctets
  • dwTotalVirtual2.Caption := FormatFloat('"Mémoire virtuelle = "#,#" Mo"',(Memory.dwTotalVirtual/1024)/1024);
  • // Affiche la taille de la mémoire virtuelle non engagée pour le processus en mégaoctets
  • dwAvailVirtual2.Caption := FormatFloat('"Mémoire virtuelle disponible : "#,#" Mo"',(Memory.dwAvailVirtual/1024)/1024);
  • end;
  • end.
{===============================================================================
Code source : BEAUMONT Christophe
Version     : 1.0.0
Date        : 23 Février 2010

Etude 01 - Exemple d'utilisation d'une structure MemoryStatus qui contient les
informations sur l'état de la mémoire physique et virtuelle.
===============================================================================}

unit Main;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls;

type
  TTableau = class(TForm)
    Structure: TMemo;
    Separateur1: TBevel;
    Separateur2: TBevel;
    dwLength1: TLabel;
    dwMemoryLoad1: TLabel;
    dwTotalPhys1: TLabel;
    dwAvailPhys1: TLabel;
    dwTotalPageFile1: TLabel;
    dwAvailPageFile1: TLabel;
    dwTotalVirtual1: TLabel;
    dwAvailVirtual1: TLabel;
    dwLength2: TLabel;
    dwMemoryLoad2: TLabel;
    dwTotalPhys2: TLabel;
    dwAvailPhys2: TLabel;
    dwTotalPageFile2: TLabel;
    dwAvailPageFile2: TLabel;
    dwTotalVirtual2: TLabel;
    dwAvailVirtual2: TLabel;
    Timer1: TTimer;
    procedure Timer1Timer(Sender: TObject);
  private
    { Déclarations privées }
  public
    { Déclarations publiques }
  end;

var
  Tableau: TTableau;

implementation

{$R *.dfm}

//Le Timer a été réglé pour exécuter la procédure 10 fois par seconde : Interval = 100
procedure TTableau.Timer1Timer(Sender: TObject);
//On déclare une structure MemoryStatus
var Memory : TMemoryStatus;
begin
//On récupère les informations du système sur la mémoire physique et virtuelle
 GlobalMemoryStatus(Memory);

 // Affiche la taille de la structure MemoryStatus en bytes
 dwLength1.Caption := IntToStr(Memory.dwLength);
 // Affiche un nombre entre 0 et 100 du pourcentage de mémoire physique utilisée
 dwMemoryLoad1.Caption := IntToStr(Memory.dwMemoryLoad);
 // Affiche la taille totale de la mémoire physique en bytes
 dwTotalPhys1.Caption := IntToStr(Memory.dwTotalPhys);
 // Affiche la taille de la mémoire physique disponible en bytes
 dwAvailPhys1.Caption := IntToStr(Memory.dwAvailPhys);
 // Affiche la limite de taille de la mémoire engagée en bytes
 dwTotalPageFile1.Caption := IntToStr(Memory.dwTotalPageFile);
 // Affiche la taille disponible de la mémoire à engager en bytes
 dwAvailPageFile1.Caption := IntToStr(Memory.dwAvailPageFile);
 // Affiche la taille totale de la mémoire virtuelle pour le processus en bytes
 dwTotalVirtual1.Caption := IntToStr(Memory.dwTotalVirtual);
 // Affiche la taille de la mémoire virtuelle non engagée pour le processus
 dwAvailVirtual1.Caption := IntToStr(Memory.dwAvailVirtual);

 // Affiche la taille de la structure MemoryStatus en bytes
 dwLength2.Caption := Format('Taille de la structure MemoryStatus = %d bytes',[Memory.dwLength]);
 // Affiche le pourcentage de mémoire physique utilisée
 dwMemoryLoad2.Caption := Format('Mémoire utilisée = %d %%',[Memory.dwMemoryLoad]);
  // Affiche la taille totale de la mémoire physique en mégaoctets
 dwTotalPhys2.Caption := FormatFloat('"Mémoire physique = "#,#" Mo"',(Memory.dwTotalPhys/1024)/1024);
  // Affiche la taille de la mémoire physique disponible en kilo-octets
 dwAvailPhys2.Caption := FormatFloat('"Mémoire physique disponible : "#,###" Ko"',(Memory.dwAvailPhys/1024));
 // Affiche la limite de taille de la mémoire engagée en mégaoctets
 dwTotalPageFile2.Caption := FormatFloat('"Limite de la mémoire engagée = "#,#" Mo"',(Memory.dwTotalPageFile/1024)/1024);
  // Affiche la taille disponible de la mémoire à engager en mégaoctets
 dwAvailPageFile2.Caption := FormatFloat('"Mémoire disponible à engager = "#,#" Mo"',(Memory.dwAvailPageFile/1024)/1024);
  // Affiche la taille totale de la mémoire virtuelle pour le processus en mégaoctets
 dwTotalVirtual2.Caption := FormatFloat('"Mémoire virtuelle = "#,#" Mo"',(Memory.dwTotalVirtual/1024)/1024);
  // Affiche la taille de la mémoire virtuelle non engagée pour le processus en mégaoctets
 dwAvailVirtual2.Caption := FormatFloat('"Mémoire virtuelle disponible : "#,#" Mo"',(Memory.dwAvailVirtual/1024)/1024);
end;

end.


 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip Source avec une capture FIREMONKEY : PATHDATA ET FORMAT SVG
Source avec Zip Source avec une capture FIREMONKEY : ROTATION CUBE
Source avec Zip Source avec une capture FIREMONKEY : HELLO WORLD !
Source avec Zip Source avec une capture MÉMO V1.0.0
Source avec Zip Source avec une capture CHRONOS V1.0.0

 Sources de la même categorie

Source avec Zip LECTURE DE LA MEMOIRE D'UN AUTRE PROCESSUS par Mokost
Source avec Zip Source avec une capture LIBÉRER LA TAILLE MAXIMALE D'UNE FENÊTRE PAR SUBCLASSING par rt15
Source avec Zip Source avec une capture OBSERVATEUR DE PROCESSUS ACTIFS; VPROCESS 1,0 par Neftali
UN SELECTDIRECTORY QUI SE PLACE AU BON ENDROIT par ThWilliam
Source avec une capture VOTRE PROGRAMME DE MAIL COMME CLIENT MAIL PAR DÉFAUT SOUS WI... par MAURICIO

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture LE CERCLE ENCHANTÉ D'ANDRES GÎT EN NOS MÉMOIRES par Caribensila
Source avec Zip Source avec une capture MOTEUR PHYSIQUE 2D CHIPMUNK.. EN DELPHI! par Bacterius
Source avec Zip Source avec une capture JOYEUX NOUVEL AN À TOUS ! par Bacterius
Source avec Zip Source avec une capture VISIOMEM - AFFICHER VOTRE MÉMOIRE par Bacterius
Source avec Zip Source avec une capture DÉMONSTRATION DE LA GESTION DES OBJETS EN MÉMOIRE PAR DELPHI... par Forman

Commentaires et avis

Aucun commentaire pour le moment.

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Fuite mémoire avec StringGrid [ par Stauf ] Bonjour,J'ai le problème suivant:Je crée dynamiquement des données puis libère l'espace une fois affichées. Jusque là, pas de soucis, l'espace est all charger un fichier en mémoire [ par maya ] je voudrais savoir si quelqu'un a une idée sur la façon de charger un fichier en mémoire (sous forme de tableau) et de l'utiliser pour accélérer les r Instance d'un programme en mémoire [ par hdursefa ] Bonjour,Je cherche un bout de code permettant de savoir en 16 bits si un programme est lancé sous windows Libération de ressources [ par nicolaspennaneach ] j'ai une application MDI où chaque fenètre enfant possède un thread pour effectuer certaines opérations. Lorsque j'exécute la méthode formclose d'une Problème de libération mémoire avec un variant / Delphi 6 [ par Schreck ] SchreckPetit problème avec Delphi(6) : Dans le code suivant (épuré au maximum ...), la mémoire utilisée par le variant n'est pa libérée (augmentation Erreur mémoire à l'utilisation d'un DLL [ par yoannd ] Bonjour !Je viens de concevoir une petite dll. Celle-ci contient un certain nombre de fenetres, que l'ont peut appeler et manipuler et afficher de l'e Gestion de la mémoire [ par laurentl2000 ] Bonjour, J'ai créé un programme qui exécute de très longues boucles... Seulement, après un certain temps d'exécution, un message EOutOfMemory ("Out of Vidage de la mémoire... [ par MAsterC ] Salut à tous!D'après moi faire un vidage de mémoire après avoir executer un DLL serai possible...Cependant, comment?Merci d'avance!MAsterCMon Site! Gestion mémoire [ par jmp77 ] Bonjour à tous et toutes,Voilà mon problème est que lorsque je regarde dans le gestionnaire des taches je vois mon application qui au fur à mesure de Processus... [ par neodelphi ] Bonjour tout le monde, je souhaiterai sous Delphi7 surveiller la mémoire occupée par un programme en temps réel... A vrai dire je suis bloqué, j'ai re


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,900 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales