Jak utworzyć, usunąć katalog
Adam Boduch
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;
ForceDirectories(C:\Programy\cos)
Stworzy wszystkie nieistniejące katalogi.
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.
U mnie nie chce dzialac RmDIr nawet przy zmianie atrybutu katalogu na normalny.
Folder musi być pusty...