Einzelnen Beitrag anzeigen

Go2EITS

Registriert seit: 25. Jun 2006
519 Beiträge
 
Delphi 7 Personal
 
#5

Re: Temporary Internet Files: Größe u. Anzahl Files herausfi

  Alt 12. Aug 2006, 17:29
Hallo marabu,

Ich habe Deinen Code ergänzt:
Statt einer TList habe ich eine Listbox eingesetzt und einen Counter namens COUNT initalisiert der im Code mit dem Eintrag in die Listbox hochzählt.

Hier der geänderte Code:
Delphi-Quellcode:
function CacheSize(s: TStrings): Int64;
const
  MAXINFOSIZE = 4 shl 10;
var
  hCache: THandle;
  dwSize: Cardinal;
  i64: Int64;
  pInfo: PInternetCacheEntryInfo;
begin
  Result := 0;
   //COUNTER
  count:=0;
  //
  GetMem(pInfo, MAXINFOSIZE);
  pInfo.dwStructSize := MAXINFOSIZE;
  dwSize := MAXINFOSIZE;
  hCache := FindFirstUrlCacheEntry(nil, pInfo^, dwSize);
  if hCache <> 0 then
  begin
    //s.Clear; Meine Listbox
    form1.Listbox2.clear;
    //
    repeat
      //s.Add(StrPas(pInfo.lpszSourceUrlName));
      // Meine Listbox und COUNTER
      form1.Listbox2.Items.Add(StrPas(pInfo.lpszSourceUrlName));
      inc(count);
      //
      Int64Rec(i64).Hi := pInfo.dwSizeHigh;
      Int64Rec(i64).Lo := pInfo.dwSizeLow;
      Result := Result + i64;
      dwSize := MAXINFOSIZE;
    until not FindNextUrlCacheEntry(hCache, pInfo^, dwSize);
    FindCloseUrlCache(hCache);
  end;
  FreeMem(pInfo, MAXINFOSIZE);
  if hCache = 0 then
    raise Exception.Create(SysErrorMessage(GetLastError));
end;
Mein Counter zeigt 1425 Einträge an, der Explorer 1362.
Deine Routine zeigt 8.206.222 Files an.

Wenn wir es nicht hinbekommen sollten, auch nicht so schlimm. Der Cache ist ein besonderer Bereich im Betriebssystem, der schon sehr fundierte Kenntnisse voraussetzt. Ich zeige zur Not meine Annäherung von 1.425 Einträgen an.
  Mit Zitat antworten Zitat