Einzelnen Beitrag anzeigen

Benutzerbild von maximus Caesar
maximus Caesar

Registriert seit: 26. Sep 2004
Ort: Biberach
319 Beiträge
 
Turbo Delphi für Win32
 
#1

leeren Ordner mit RemoveDir löschen

  Alt 29. Dez 2005, 09:45
Hallo!
Ich habe einen Ordner in meinem Startmenü (Start->Alle Programme) den ich mit RemoveDir löschen möchte.
Ich mache das so:
Ordner Leeren:
Delphi-Quellcode:
procedure TForm1.AlleDateienlöschen(Pfad:String);
var i:Integer;
begin
  FileListBox1.Directory:=Pfad;
  if FileListBox1.Items.Count>0 then begin
    for i:=0 to FileListBox1.Items.Count-1 do begin
      DeleteFile(Pfad+'\'+FileListBox1.Items[0]);
      FileListBox1.Update;
    end;
  end;
end;
Ordner finden:
Delphi-Quellcode:
function TForm1.GetStartmenuePath: String;
var LPidl: PItemIDList;
    LPath: Array[0..MAX_PATH] of Char;
begin
  if SUCCEEDED(SHGetSpecialFolderLocation(0, CSIDL_STARTMENU, LPidl)) then
  begin
    SHGetPathFromIDList(LPidl, @LPath);
    result := String(LPath);
  end else
    result := '';
end;
Pfad stimmt, Ordner ist leer.

So wird er gelöscht:

Delphi-Quellcode:
procedure TForm1.frdenaktuellenBenutzerentfernen1Click(Sender: TObject);
var Ordner:String;
    a:Integer;
begin
  Ordner:=GetStartMenuePath;
  DirectoryListBox1.Directory:=Ordner;
  a:=DirectoryListBox1.Items.Count-1;
  Ordner:=DirectoryListBox1.GetItemPath(a);
  Ordner:=Ordner+'\Geburtstagskalender';
  AlleDateienLöschen(Ordner);
  Showmessage(Ordner+'\');
  if (RemoveDir(Ordner+'\')) then MessageDLG('Ordner erfolgreich gelöscht',mtInformation,[mbOK],0)
  else MessageDLG('Ordner konnte nicht gelöscht werden!',mtWarning,[mbOK],0);
end;
Obwohl der Ordner leer ist, wird er nicht gelöscht.
Woran kann das liegen?
  Mit Zitat antworten Zitat