Code source
Code source

  Présentation
  Unités exemple gratuites
  Unités commercialisées
  Conditions d'utilisation
  Comment acheter
  Vendez vos codes
Unités commercialisées

  LRJ_DosDevice
  LRJ_FileMapped
  LRJ_ModifDateTime
  LRJ_ShellUtils
  LRJ_TokenAPI
  LRJ_WinACL
  LRJ_WinBrowseDialog
  LRJ_WinCreateProcess
  LRJ_WinDesktop
  LRJ_WinDirectories
  LRJ_WinDocRecents
  LRJ_WinDrives
  LRJ_WinFavorisWeb
  LRJ_WinFiles
  LRJ_WinIconNotifArea
  LRJ_WinInternetShortcut
  LRJ_WinMenuFolder
  LRJ_WinModule
  LRJ_WinNetApi
  LRJ_WinNetLocalGroups
  LRJ_WinNetUsers
  LRJ_WinPrivileges
  LRJ_WinProcess
  LRJ_WinRecycleBin
  LRJ_WinRegion
  LRJ_WinRegAppPath
  LRJ_WinShellLink
  LRJ_WinShellUI
  LRJ_WinSID
  LRJ_WinStation
  LRJ_WinTokenGroups
  LRJ_WinTrackChangeDir
  LRJ_WinVolumes
  LRJ_WinWorkingSet

   Accueil | GlobalDesk | Code source Delphi | Développements | Votre compte | Contact   

Code source : unité LRJ_WinRecycleBin




      
Description : cette unité contient l'objet LRJ_TWinRecycleBin qui offre des fonctionnalités similaires aux fonctionnalités de la corbeille Windows.

L'unité est livrée avec une application de démonstration ( voir description plus loin ) qui illustre le fonctionnement de l'objet LRJ_TWinRecycleBin. Les codes de l'application de démonstration sont visibles à la fin de cette page en tant qu'exemple d'utilisation.

L'unité LRJ_WinRecycleBin met en oeuvre les fonctions de Windows suivantes :
             ExtractIconEx
CopyIcon
DestroyIcon
ShellExecute
SHEmptyRecycleBin
SHQueryRecycleBin

Déclarations publiques de l'unité  I  Télécharger l'application de démonstration  I  Exemples d'utilisations

Utilise les unités : Windows, Classes, SysUtils, ShellAPI, LRJ_WindowsPlus, LRJ_WinDrives et LRJ_WinTrackChangeDir.

Version : 1 du 02.01.2009
Auteur : Laurent Hède
Copyright : LorenJo

Nombre de lignes : 388

Réalisée sous : Delphi 6

Systèmes compatibles : NT4, 2000, XP, Vista, serveurs

Prix : 88.00 € H.T.

Déclarations publiques de l'unité :

unit LRJ_WinRecycleBin;

interface
                      uses
                      Windows,
                      Classes,
                      SysUtils,
                      ShellAPI,
                      LRJ_WindowsPlus,
                      LRJ_WinDrives,
                      LRJ_WinTrackChangeDir;

  ...........

function LRJ_SHQueryRecycleBin(RootPath: string; var SHQueryRBInfo: LRJ_TSHQueryRBInfo): HRESULT;
function LRJ_SHEmptyRecycleBin(hwnd: HWND ; RootPath: string ; dwFlags: DWORD ): HRESULT;

  ...........

   //----------------OBJET-----------------------
LRJ_TWinRecycleBin = class(TObject)
   ...........
   procedure Clean(const AFlag: DWORD = 0); //flag peut être une combinaison de SHERB_NOCONFIRMATION,
                                            // SHERB_NOPROGRESSUI et SHERB_NOSOUND
   procedure Show;  // ouvre le gestionnaire de fichier sur la corbeille comme windows
   property RootPath: string read MORootPath write SetRootPath; // '' par défaut pour surveiller les corbeilles
                                                   // de tous les disques en même temps. Si on spécifie un lecteur
                                                   // (exemple c:\), ne surveille que la corbeille du disque c. Si on veut
                                                   // surveiller une corbeille se situant à c:\aaa\bbb\recycler ou recycled,
                                                   // attribuer c:\aaa\bbb ou c:\aaa\bbb\ à RootPath
   property TrackChanges: boolean read GetIfTrackChanges write SetIfTrackChanges;  // attribuer true pour commencer la
                                                   // surveillance, false pour la terminer
   property SizeOfItems: int64 read GetSizeOfItems;
   property CountItem: int64 read GetCountItem;
   property SmallIconEmpty: HICON read GetSmallIconEmpty; // détruire HICON par DestroyIcon
   property SmallIconFull: HICON read GetSmallIconFull; // détruire HICON par DestroyIcon
   property BigIconEmpty: HICON read GetBigIconEmpty; // détruire HICON par DestroyIcon
   property BigIconFull: HICON read GetBigIconFull; // détruire HICON par DestroyIcon
   property OnChange: TNotifyEvent read MOOnChange write MOOnChange;
   end;//-----------FIN--------------------------


Application de démonstration

L'image de la corbeille correspond à l'image utilisée par Windows pour représenter la corbeille. Elle se modifie lorsque la corbeille est vide ou contient quelque chose. Les 2 TEdit contiennent le nombre de fichiers ou dossiers dans la corbeille et leur taille en octets.
Lorsqu'on clique sur "Show", on fait apparaître la fenêtre du gestionnaire de fichiers Windows correspondant à la corbeille.
Lorsqu'on clique sur "Clean", on vide la corbeille.


Exemples d'utilisations

Codes de l'application de démonstration
unit Unit1;

interface

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

                               LRJ_WinRecycleBin;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Edit2: TEdit;
    Image1: TImage;
    Button1: TButton;
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
  MOCorbeille: LRJ_TWinRecycleBin;
  procedure OnChangeCorbeille(Sender: TObject);
  public
  end;

var
  Form1: TForm1;

implementation
{$R *.dfm}
{--------------------------------------------------------------}
procedure TForm1.FormCreate(Sender: TObject);
begin
MOCorbeille := LRJ_TWinRecycleBin.Create;
if MOCorbeille.CountItem > 0 then
  Image1.Picture.Icon.Handle := MOCorbeille.BigIconFull
else
  Image1.Picture.Icon.Handle := MOCorbeille.BigIconEmpty;
edit1.Text := IntToStr(MOCorbeille.CountItem);
edit2.Text := IntToStr(MOCorbeille.SizeOfItems);
MOCorbeille.OnChange := OnChangeCorbeille;
MOCorbeille.TrackChanges := true;
end;
{--------------------------------------------------------------}
procedure TForm1.FormDestroy(Sender: TObject);
begin
MOCorbeille.Free;
end;
{--------------------------------------------------------------}
procedure TForm1.OnChangeCorbeille(Sender: TObject);
begin
if MOCorbeille.CountItem > 0 then
  Image1.Picture.Icon.Handle := MOCorbeille.BigIconFull
else
  Image1.Picture.Icon.Handle := MOCorbeille.BigIconEmpty;
edit1.Text := IntToStr(MOCorbeille.CountItem);
edit2.Text := IntToStr(MOCorbeille.SizeOfItems);  
end;
{--------------------------------------------------------------}
procedure TForm1.Button1Click(Sender: TObject);
begin
MOCorbeille.Show;
end;
{--------------------------------------------------------------}
procedure TForm1.Button2Click(Sender: TObject);
begin
MOCorbeille.Clean;
end;
end.


Vous n'avez pas trouvé d'exemple répondant à votre problématique ?
Cliquez sur ce lien.


 Accueil | GlobalDesk | Code source Delphi | Développements | Votre compte | Contact 
Copyright © LorenJo 2000-2009    Notice légale