Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проверка доступности папки на запись, Наиболее рациональные методы? 
V
    Опции темы
mosg
  Дата 2.9.2009, 12:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 51
Регистрация: 3.3.2008
Где: Moscow

Репутация: 1
Всего: 1



Добрый день.

Вопрос: если ли способ в ОС Windows XP с помощью Qt4 проверить доступность директории на запись "красиво"? smile

Пример, если дан путь:
Код
C:\Volume System Information


"Не красивые" способы:
 1) запись файла в эту папку путем if (!QFile::copy(from, to)) return QString("Error"); 
 2) поиск нужной папки в родительской директории с помощью QDir::setFilter(), где будут параметры типа QDir::Writable и т.д.

Спасибо!
PM MAIL WWW ICQ Skype GTalk Jabber YIM MSN   Вверх
korbian
Дата 2.9.2009, 13:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 336
Регистрация: 20.2.2007
Где: Penza

Репутация: 1
Всего: 14



наиболее рациональным на мой взгляд является использование 
Код

Permissions QFile::permissions () const

вызов которого позволит определить, есть ли права на запись для данной директории.

Добавлено через 7 минут и 26 секунд
про директорию же разговор, прошу прощения, тупанул! smile


--------------------
korbian ©
PM   Вверх
korbian
Дата 2.9.2009, 14:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 336
Регистрация: 20.2.2007
Где: Penza

Репутация: 1
Всего: 14



хотя такой вот код вполне рабочий
Код

bool isWriteble = QFile::permissions("C:\\Temp\\") & QFile::WriteOther;
if(isWriteble)
{
     QMessageBox msgBox;
     msgBox.setText("The directory is writable by anyone.");
     msgBox.exec();
}


Добавлено через 1 минуту и 11 секунд
хотя такой вот код вполне рабочий
Код

bool isWriteble = QFile::permissions("C:\\Temp\\") & QFile::WriteOther;
if(isWriteble)
{
     QMessageBox msgBox;
     msgBox.setText("The directory is writable by anyone.");
     msgBox.exec();
}



--------------------
korbian ©
PM   Вверх
just_geek
Дата 2.9.2009, 14:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 309
Регистрация: 13.12.2007

Репутация: 7
Всего: 10



Здесь погляди вопрос уже поднимался, http://www.prog.org.ru/index.php?topic=104...g62344#msg62344
PM MAIL   Вверх
mosg
Дата 2.9.2009, 15:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 51
Регистрация: 3.3.2008
Где: Moscow

Репутация: 1
Всего: 1



Цитата(korbian @  2.9.2009,  14:20 Найти цитируемый пост)
QFile::permissions("C:\\Temp\\") & QFile::WriteOther;

Спасибо за гениальную строчку!


PM MAIL WWW ICQ Skype GTalk Jabber YIM MSN   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets"
JackYF
Любитель
  • В заголовке темы в квадратных скобках обозначьте используемую вами библиотеку, например: [QT],[GTK],[wx].
  • Если вопрос актуален только для некоторой версии библиотеки, либо, если вы пользуетесь не самой последней версией, укажите это. Например: [QT4], [GTK2].
  • Все начинающие изучать Qt - не забудьте зайти сюда.
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • В вопросе укажите полную версию версию библиотеки, а также все дополнительные используемые программные пакеты.
  • Не забывайте пользоваться кнопкой "Код".
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема »


 




[ Время генерации скрипта: 0.0883 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.