AGB  ·  Datenschutz  ·  Impressum  







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

Verzeichnisse löschen

Ein Thema von Bechti · begonnen am 6. Dez 2002 · letzter Beitrag vom 30. Mär 2006
Antwort Antwort
Seite 1 von 2  1 2      
Bechti

Registriert seit: 10. Nov 2002
14 Beiträge
 
#1

Verzeichnisse löschen

  Alt 6. Dez 2002, 19:50
Hi,

versuche ein Unterverzeichnis mit Delphi zu löschen. Weiß jemand wie?

Gruß,
Bechti
  Mit Zitat antworten Zitat
Alexander

Registriert seit: 28. Aug 2002
Ort: Oldenburg
3.513 Beiträge
 
Turbo Delphi für .NET
 
#2
  Alt 6. Dez 2002, 20:05
hi
mit dem Befehl RemoveDir(ordner_mit_Pfad) kannst du ein Verzeichnis löschen
Alexander
  Mit Zitat antworten Zitat
Bechti

Registriert seit: 10. Nov 2002
14 Beiträge
 
#3
  Alt 6. Dez 2002, 20:07
Danke,
habe aber vergessen zu erwähnen, daß ich Verzeichnisse mit Inhalt löschen möchte
  Mit Zitat antworten Zitat
Alexander

Registriert seit: 28. Aug 2002
Ort: Oldenburg
3.513 Beiträge
 
Turbo Delphi für .NET
 
#4
  Alt 6. Dez 2002, 21:14
dann dürfte das mit dieser Funktion gehen:
Delphi-Quellcode:
function DelDir(dir: string): Boolean;
uses
 ShellApi;
...
var
  fos: TSHFileOpStruct;
begin
  ZeroMemory(@fos, SizeOf(fos));
  with fos do
  begin
    wFunc := FO_DELETE;
    fFlags := FOF_SILENT or FOF_NOCONFIRMATION;
    pFrom := PChar(dir + #0);
  end;
  Result := (0 = ShFileOperation(fos));
end;
Viel Spass damit!

[edit]Delphi-Codetags eingefügt. Mfg. Gérome[/edit]
Alexander
  Mit Zitat antworten Zitat
Bechti

Registriert seit: 10. Nov 2002
14 Beiträge
 
#5
  Alt 6. Dez 2002, 22:52
Vielen Dank.

Allerdings kann ich hiermit nicht das gewünschte Verzeichnis, sondern nur dessen inhalt löschen.

Wenn ich z.b. als Dir = 'd:\test\2002' eingebe, löschte er nicht "2002" sondern alles was darunter liegt. Möchte aber gerne "2002" und alles darunter löschen.
  Mit Zitat antworten Zitat
Daniel B
(Gast)

n/a Beiträge
 
#6
  Alt 6. Dez 2002, 23:31
Hallo,

dann schreib doch nach der Funktion noch RemoveDir()...

GRüsse, Daniel
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#7
  Alt 7. Dez 2002, 08:12
Zitat von Bechti:
Allerdings kann ich hiermit nicht das gewünschte Verzeichnis, sondern nur dessen inhalt löschen.

Wenn ich z.b. als Dir = 'd:\test\2002' eingebe, löschte er nicht "2002" sondern alles was darunter liegt.
Das stimmt nicht! Ich hab´s mal eben ausprobiert, weil ich sowieso gerade ein Verzeichnis löschen musste ... war weg ...

Zitat:
Möchte aber gerne "2002" und alles darunter löschen.
Tut er, wenn du die Funktion
Code:
DelDir('d:\test\2002')
aufrufst. Was du nicht machen darfst, ist
Code:
DelDir('d:\test\2002\*.*')
Dabei wird nur der Inhalt gelöscht, der Ordner "2002" selbst bleibt zurück.
  Mit Zitat antworten Zitat
vsh

Registriert seit: 26. Mär 2006
6 Beiträge
 
#8

Re: Verzeichnisse löschen

  Alt 30. Mär 2006, 14:21
hmm, ich danke erstmal für den programmcode der löschfunktion, und möchte noch eine frage anhängen.
manchmal ist der Ordner komplett gelöscht, manchmal ist er nur leer.

So richtig schlüssig wann welcher fall eintritt ist es irgendwie nicht. aber häufig tritt der fall auf, wenn ich zB viele kleine dateien verschiedenen typs habe (4000 files, ings 70MB).
  Mit Zitat antworten Zitat
ichbins

Registriert seit: 9. Jul 2005
Ort: Hohenaltheim
1.001 Beiträge
 
Delphi 2005 Personal
 
#9

Re: Verzeichnisse löschen

  Alt 30. Mär 2006, 17:55
vllt liegt das daran ob der Ordnername ein abschliessendes backslash ('\') enthält oder nicht.
Michael Enßlin
Ich, der ich weiß, mir einzubilden, dass ich weiß, nichts zu wissen, weiß, dass ich nichts weiß.
Sokrates
  Mit Zitat antworten Zitat
vsh

Registriert seit: 26. Mär 2006
6 Beiträge
 
#10

Re: Verzeichnisse löschen

  Alt 30. Mär 2006, 18:30
also wenn man ein abschliessendes "\" übergibt, dann löscht er nichts.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 12:48 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