Programowanie w języku Delphi » FAQ

Jak utworzyć, usunąć katalog

  • 2009-09-03 21:00
  • 4 komentarze
  • 1656 odsłon
  • Oceń ten tekst jako pierwszy
Aby utworzyć katalog, należy skorzystać z funkcji
MkDir('Nazwa katlogu')

Jeżeli chcemy go usunąć to używamy funkcji
RmDir('Nazwa katalogu')

Jeśli zaś zachodzi potrzeba stworzenia zagłębionych folderów, których nazw nie znamy (np. jest tak w instalatorach), możemy użyć  
ForceDirectories('nazwa katalogu')


Aby usunąć katalog, który nie jest pusty, należy użyć:
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;

4 komentarze

kamilfry 2006-04-14 20:12

ForceDirectories(C:\Programy\cos)

Stworzy wszystkie nieistniejące katalogi.

Decho 2005-06-28 12:19

MkDir Działa tylko dla jednego katalogu np. Gdy chcemy utworzyć nowy katalog o nazwie \"bezybez\" w katalogu \"temp\" na dycku \"c:\" to niema problemu. MkDir(\'C:\\Temp\\Bezybez\') ale jeżeli chcemy utworzyć taki katalog a nie mamy katalogu \"c:\\temp\" wtedy program zwróci błąd że nie może utworzyć katalogu. Nie wiem jak to ominąć w prosty sposób, ja napisałem sobie swoją funkcję która sprawdza poszczególne katalogi od root-a i jezeli katalog nie istnieje to go zaklada.

warlock 2004-05-25 20:03

U mnie nie chce dzialac RmDIr nawet przy zmianie atrybutu katalogu na normalny.

WeeR 2004-11-21 09:28

Folder musi być pusty...