Карта сайтаСсылкиКонтакты

Как узнать записывамый ли каталог

PDF Печать
Статьи

Довольно просто узнать, перезаписываемый ли каталог или нет. Если мы можем создать файл в указанном каталоге, значит каталог записываемый, в противном случае - нет.


function IsDirectoryWritable(const Dir: String): Boolean;
var
  TempFile: array[0..MAX_PATH] of Char;
begin
  if GetTempFileName(PChar(Dir), 'Tmp', 0, TempFile) <> 0 then
    Result := Windows.DeleteFile(TempFile)
  else
    Result := False;
end;

Вышепомянутая функция использует API Windows GetTempFileName. Когда 3-й параметр nUnique GetTempFileName равен нулю, Windows создает временный файл и возвращает уникальное число, которое используется для того, чтобы создать имя файла. Когда возвращаемое число не ноль, это означает, что каталог записываемый и временный файл создан успешно.


 

Добавить комментарий


Защитный код
Обновить