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