AGB  ·  Datenschutz  ·  Impressum  







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

Verzeichnis löschen

Ein Thema von smart · begonnen am 8. Jan 2005 · letzter Beitrag vom 10. Mär 2008
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von smart
smart

Registriert seit: 19. Dez 2004
Ort: Bochum
1.266 Beiträge
 
Delphi 2007 Professional
 
#1

Verzeichnis löschen

  Alt 8. Jan 2005, 12:32
Mit RemoveDir kann man ein leeres Verzeichnis löschen. Gibt es auch eine Möglichkeit ein volles Verzeichnis zu löschen oder zu verschieben?
Heike Kretschmann
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Verzeichnis löschen

  Alt 8. Jan 2005, 12:35
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;
Hätte dir aber auch die Suche geliefert.
  Mit Zitat antworten Zitat
Benutzerbild von smart
smart

Registriert seit: 19. Dez 2004
Ort: Bochum
1.266 Beiträge
 
Delphi 2007 Professional
 
#3

Re: Verzeichnis löschen

  Alt 8. Jan 2005, 12:42
Danke! Muss ich wohl übersehen haben.
Heike Kretschmann
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Verzeichnis löschen

  Alt 8. Jan 2005, 13:20
na toll, und ich hab mir vorgestern erst eine funktion gebaut die rekursiv die ordner und deren inhalt löscht.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von smart
smart

Registriert seit: 19. Dez 2004
Ort: Bochum
1.266 Beiträge
 
Delphi 2007 Professional
 
#5

Re: Verzeichnis löschen

  Alt 8. Jan 2005, 16:54
Also, bei mir löscht der Programmcode DelDir weder ein volles noch einleeres Verzeichnis
Aufgerufen mit :deldir('c:\test'); Das gleicher Prob. habe ich auch mit RemoveDir. Ich komme einfach nicht darauf wo der Fehler liegt. Hat von Euch einer ein Tipp?
Heike Kretschmann
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Verzeichnis löschen

  Alt 8. Jan 2005, 17:23
wird das verzeichnis eventuell zu dem zeitpunkt verwendet (oder dateien daraus)?
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#7

Re: Verzeichnis löschen

  Alt 8. Jan 2005, 17:27
Rpückgabewert von DelDir prüfen und falls False mit SysErrorMessage GetLastError ausgeben lassen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von smart
smart

Registriert seit: 19. Dez 2004
Ort: Bochum
1.266 Beiträge
 
Delphi 2007 Professional
 
#8

Re: Verzeichnis löschen

  Alt 8. Jan 2005, 17:48
Ich habe eine TForm. Auf der Form habe ich eine DirectoryListBox und ein Button. Das verzeichnis wähle ich mit der DirectoryListBox aus und durch klick auf den Button lösche ich das Verzeichnis.


Code:
uses shellapi;

function deldir(dir: string): Boolean;
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;

procedure TForm1.Button1Click(Sender: TObject);
begin
deldir(DirectoryListBox1.Directory);
DirectoryListBox1.Update;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin

end;
Als Fehler taucht immer 'Zugriff verweigert' auf. Das Verzeichnis ist aber nicht geschützt!
Heike Kretschmann
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#9

Re: Verzeichnis löschen

  Alt 8. Jan 2005, 17:53
Moin!

Doch! Deine DirectoryListBox greift noch drauf zu und wechselt auch den aktuellen Pfad dementsprechend, daher kann dieser nicht gelöscht werden.

MfG
Muetze1
  Mit Zitat antworten Zitat
Benutzerbild von smart
smart

Registriert seit: 19. Dez 2004
Ort: Bochum
1.266 Beiträge
 
Delphi 2007 Professional
 
#10

Re: Verzeichnis löschen

  Alt 8. Jan 2005, 19:33
Has Recht! Alles Klaro. Vielen Dank an Euch!
Heike Kretschmann
  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 08:36 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