HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Lomtárban elhelyezett állományok száma és mérete


Példaprogram letöltése

4542 bájt

Most egy olyan komponenst hozunk létre, mely képes arra, hogy megállapítsa hogy a lomtárban hány állomány található és ezek összmérete hány bájt.

A mellékelt példaprogram megnyitása előtt a RecycleInfo.pas-ban lévő komponenst telepítenie kell a Delphi alá. Ehhez válassza a Component - Install Component menüpontot.
A komponensben létrehozunk két property-t, melyekből a szükséges adatok kiolvashatók. A Count property árulja el, hogy hány darab elem található a lomtárban, míg a Size property tárolja ezek összméretét.
A feladat megvalósításához szükségünk lesz egy függvényre, mely a shell32.dll-ben található. Első lépésként ezt deklaráljuk külső függvényként.
function SHQueryRecycleBin(szRootPath: PChar; SHQueryRBInfo: PSHQueryRBInfo): HResult; stdcall; external 'shell32.dll' Name 'SHQueryRecycleBinA';
A komponenshez létrehozunk még egy logikai típusú property-t Active néven, melyet ha igazra állítunk, akkor történik meg a lomtár adatainak kiolvasása, vagyis a Size és Count property beállítása.
procedure TRecycleInfo.SetActive(const Value: boolean);
begin
  FActive := Value;
  FSize:=0;
  FCount:=0;
  if FActive then begin
Itt nincs más dolgunk, mint meghívni a SHQueryRecycleBin függvényt, melynek egy TSHQueryRBInfo struktúrát kell átadnunk. Ennek a struktúrának csak a cbSize mezőjét kell beállítanunk, méghozzá a struktúra méretére.
    ZeroMemory(@qi, SizeOf(TSHQueryRBInfo));
    qi.cbSize:=SizeOf(TSHQueryRBInfo);
    if SHQueryRecycleBin(nil, @qi) = S_OK then begin
A függvény futása után, a TSHQueryRBInfo struktúra i64Size mezőjében kapjuk meg a lomtár állományainak összméretét, míg az i64NumItems mezőben az állományok számát.
      FSize:=qi.i64Size;
      FCount:=qi.i64NumItems;
    end;
  end;
end;

Cikksorozat

#IDKategóriaCikk címeSorozat
1488DelphiMS SQL tárolt eljárások1. rész
1499DelphiMS SQL tárolt eljárások2. rész
1507DelphiMS SQL tárolt eljárások3. rész
1519DelphiMS SQL tárolt eljárások4. rész
1526DelphiMS SQL tárolt eljárások5. rész
1537DelphiMS SQL tárolt eljárások6. rész
1546DelphiMS SQL tárolt eljárások7. rész
1553DelphiMS SQL tárolt eljárások8. rész
1564DelphiMS SQL tárolt eljárások9. rész
1573DelphiMS SQL tárolt eljárások10. rész
1582DelphiMS SQL tárolt eljárások11. rész
1591DelphiMS SQL tárolt eljárások12. rész
1600DelphiMS SQL tárolt eljárások13. rész
1609DelphiMS SQL tárolt eljárások14. rész
1617DelphiMS SQL tárolt eljárások15. rész
1626DelphiMS SQL tárolt eljárások16. rész


Könyv
Ez a cikk megtalálható ebben a könyvben: Delphi Software Offline 2002 évkönyv 523. oldal

Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |