Russian Qt Forum
Ноябрь 25, 2024, 07:50 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Определение размера флэшки  (Прочитано 3118 раз)
Stariy
Гость
« : Сентябрь 06, 2010, 22:51 »

Есть ли возможность средствами QT определить размер подключенной флэшки и объем свободного пространства на ней? Не прибегая при этом к API операционки, естественно.
Записан
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #1 : Сентябрь 06, 2010, 22:56 »

нет
Записан
Sancho_s_rancho
Гость
« Ответ #2 : Сентябрь 07, 2010, 07:06 »

Надо писать самому. Что-то типа этого:
Код:
#ifdef _WIN32
#include <windows.h>
#else // linux stuff
#include <sys/vfs.h>
#include <sys/stat.h>
#endif // _WIN32

bool getFreeTotalSpace(const QString& sDirPath,double& fTotal, double& fFree)
{
#ifdef _WIN32

QString sCurDir = QDir::current().absPath();
QDir::setCurrent( sDirPath );

ULARGE_INTEGER free,total;
bool bRes = ::GetDiskFreeSpaceExA( 0 , &free , &total , NULL );
if ( !bRes ) return false;

QDir::setCurrent( sCurDir );

fFree = static_cast<double>( static_cast<__int64>(free.QuadPart) ) / fKB;
fTotal = static_cast<double>( static_cast<__int64>(total.QuadPart) ) / fKB;

#else //linux

struct stat stst;
struct statfs stfs;

if ( ::stat(sDirPath.local8Bit(),&stst) == -1 ) return false;
if ( ::statfs(sDirPath.local8Bit(),&stfs) == -1 ) return false;

fFree = stfs.f_bavail * ( stst.st_blksize / fKB );
fTotal = stfs.f_blocks * ( stst.st_blksize / fKB );

#endif // _WIN32

return true;
}
Записан
Stariy
Гость
« Ответ #3 : Сентябрь 08, 2010, 20:31 »

Спасибо. С Windows проблем нет, линукс пока ни к чему, а вот с Symbian, без соответствующих capabilites, несовместимых с имеющимся сертификатом, ничего не выходит. Потому и подумал, а нет ли в QT средств для этого...
Записан
Stariy
Гость
« Ответ #4 : Сентябрь 10, 2010, 09:56 »

Вот, вроде бы нашел - http://wiki.forum.nokia.com/index.php/Get_Storage_information_using_Qt_for_Symbian
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.065 секунд. Запросов: 23.