Проверка прав на запись в каталог
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 создает временный файл и возвращает уникальное число, которое используется для того, чтобы создать имя файла. Когда возвращаемое число не ноль, это означает, что каталог записываемый и временный файл создан успешно.
Комментарии