AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Ordnerinhalt löschen

Ein Thema von Chriss · begonnen am 30. Jun 2003 · letzter Beitrag vom 7. Jul 2003
Antwort Antwort
Benutzerbild von Chriss
Chriss

Registriert seit: 6. Aug 2002
Ort: Ahlen
124 Beiträge
 
Delphi 7 Enterprise
 
#1

Ordnerinhalt löschen

  Alt 30. Jun 2003, 16:20
Hi @ all!

Habe folgendes Problem:
Ich möchte gerne den Inhalt eines Ordners löschen, aber nicht den Ordner selber. Es geht um den Ordner "Temporary Internet Files". Ich weiss, wie man einzelne Dateien löscht, aber wie stelle ich das an, dass der GESAMTE Ihnalt gelöscht wird?!

DANKE

Chriss
I'll be right there - I'll never leave - All I ask of you is ~ Believe
(Christopher Michael Oliva ~ 1963-1993 [Savatage]
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#2
  Alt 30. Jun 2003, 16:27
Moin Chriss,

schau Dir mal die API Funktion DeleteUrlCacheGroup an.
Damit könnte das (fast) gehen. Statt der einzelnen Einträge soll man damit Gruppen löschen können.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Alexander

Registriert seit: 28. Aug 2002
Ort: Oldenburg
3.513 Beiträge
 
Turbo Delphi für .NET
 
#3
  Alt 30. Jun 2003, 16:28
du muss, sofern es keine extra Funktion dafür gibt (kenne keine), alle Dateien mit einer Schleife nacheinander durch gehen. Soweit ich mich nicht täusche müsste dir da FindNext weiterhelfen
Alexander
  Mit Zitat antworten Zitat
Benutzerbild von Chriss
Chriss

Registriert seit: 6. Aug 2002
Ort: Ahlen
124 Beiträge
 
Delphi 7 Enterprise
 
#4
  Alt 30. Jun 2003, 16:46
Zitat von alexander:
du muss, sofern es keine extra Funktion dafür gibt (kenne keine), alle Dateien mit einer Schleife nacheinander durch gehen. Soweit ich mich nicht täusche müsste dir da FindNext weiterhelfen
*ähm* ja okay, aber woher will ich wissen, wie die erste datei in diesem ordner heisst?!
oder sollte ich eine erstellen, die garantiert ganz oben steht?!
und dann die frage: wie erstelle ich die datei?
I'll be right there - I'll never leave - All I ask of you is ~ Believe
(Christopher Michael Oliva ~ 1963-1993 [Savatage]
  Mit Zitat antworten Zitat
Alexander

Registriert seit: 28. Aug 2002
Ort: Oldenburg
3.513 Beiträge
 
Turbo Delphi für .NET
 
#5
  Alt 30. Jun 2003, 16:50
Dann kuck dir mal FindFirst an
Alexander
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#6
  Alt 30. Jun 2003, 18:21
Nur so als Tip: Zumindest unter 2000 und XP dürfte es nicht klappen, die Cache-Dateien über FindFirst/Next und DeleteFile zu löschen. Bei den anderen Versionen bin ich mir nicht sicher, aber du solltest dir Christian Seehases Post nochmal ansehen.
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#7
  Alt 30. Jun 2003, 19:52
Moin Chriss,

bevor Du jetzt lange mit FindFirst/FindNext anfängst zu experimentieren:

Temporary Internet Files ist ein spezieller Systemfolder, der nicht mit den normalen Standardfunktionen bearbeitet werden kann.
Dafür wirst Du, aus der Unit WinInet die API Funktionen FindFirstUrlCacheEntry(Ex)/FindNextUrlCacheEntry(Ex) usw. benötigen.

Beispiele dafür solltest Du hier im Forum einige finden.
Weitere Einzelheiten kannst Du dem PSDK oder, online, dem MSDN (msdn.microsoft.com) entnehmen.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Alexander

Registriert seit: 28. Aug 2002
Ort: Oldenburg
3.513 Beiträge
 
Turbo Delphi für .NET
 
#8
  Alt 1. Jul 2003, 15:33
Mhm ok. Zum löschen der Temporary Internet Files gibt es anscheinend wirklich eine extra Funktion. Wieder was dazu gelernt...
Alexander
  Mit Zitat antworten Zitat
eleonora

Registriert seit: 24. Jan 2003
80 Beiträge
 
#9

Re: Ordnerinhalt löschen

  Alt 7. Jul 2003, 14:51
Hallo Chris!

Hier der versprochene Code. Aber wie schon gesagt, der ist nicht von mir und ich weiss auch nicht mehr woher ich den habe! Sorry!


Code:
procedure DeleteIECache;
var
lpEntryInfo: PInternetCacheEntryInfo;
hCacheDir: LongWord;
dwEntrySize: LongWord;
begin
dwEntrySize := 0;
FindFirstUrlCacheEntry(nil, TInternetCacheEntryInfo(nil^), dwEntrySize);
GetMem(lpEntryInfo, dwEntrySize);
if dwEntrySize > 0 then lpEntryInfo^.dwStructSize := dwEntrySize;
hCacheDir := FindFirstUrlCacheEntry(nil, lpEntryInfo^, dwEntrySize);
if hCacheDir <> 0 then
begin
repeat
DeleteUrlCacheEntry(lpEntryInfo^.lpszSourceUrlName);
FreeMem(lpEntryInfo, dwEntrySize);
dwEntrySize := 0;
FindNextUrlCacheEntry(hCacheDir, TInternetCacheEntryInfo(nil^), dwEntrySize);
GetMem(lpEntryInfo, dwEntrySize);
if dwEntrySize > 0 then lpEntryInfo^.dwStructSize := dwEntrySize;
until not FindNextUrlCacheEntry(hCacheDir, lpEntryInfo^, dwEntrySize);
end;
FreeMem(lpEntryInfo, dwEntrySize);
FindCloseUrlCache(hCacheDir);
end;
Viel Spass dabei!

Gruss Eleonora
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:28 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz