Free Diskspace mit QT
Free Diskspace mit QT
Gibt es eine plattformübergreifende Möglichkeit unter QT den freien Platz auf einem Drive bzw. einem Directory zu bestimmen?
Grüsse
karl-heinz
Grüsse
karl-heinz
-
- Beiträge: 605
- Registriert: 28. Juni 2007 15:01
- Kontaktdaten:
du könntest hierdrauf aufbauen:
Code: Alles auswählen
void findAllFiles(QDir curDir)
{
int files= 0, dirs = 0;
qint64 fullSize = 0;
QFileInfoList temInfo;
temInfo = curDir.entryInfoList(QDir::NoDotAndDotDot | QDir::AllDirs | QDir::Files);
for(int i = 0; i < temInfo.size(); ++i)
{
if(temInfo[i].isFile())
{
++files;
fullSize += temInfo[i].size();
}
else if(temInfo[i].isDir())
{
++dirs;
findAllFiles(QDir(temInfo[i].filePath()));
}
}
}
Ich sehe nicht wie man darauf aufbauen kann. Nach etlichen Minuten Addiererei von tausenden Dateigrößen weißt Du nämlich immer noch nicht wie viel Platz nun frei istKernelPanic hat geschrieben:du könntest hierdrauf aufbauen:
![Smile :-)](./images/smilies/icon_e_smile.gif)
Plattformübergreifend gibt es da nichts. Man kann sich aber selbst was schreiben, wenn es nicht schon jemand getan hat.
http://lists.trolltech.com/qt-interest/ ... 873-0.html
Ob das beim Mac auch funktioniert kann ich nicht sagen. Sonst eben QProcess und df.
Man könnte auch warten bis die Trolls es implementiert haben:
http://trolltech.com/developer/task-tra ... thod=entry
Die deutsche Schriftsprache ist case-sensitive. Außerdem gibt es eine Interpunktionsnorm. Wenn manch einer seine Programme genauso schlampig schreibt, wie sein Posting hier, dann sollte er es lieber bleiben lassen.
-
- Beiträge: 605
- Registriert: 28. Juni 2007 15:01
- Kontaktdaten:
Was hältst du von der Boost Filesystem Library ?
Die ist plattformunabhängig...
--> http://www.boost.org/libs/filesystem/doc/index.htm
Code: Alles auswählen
boost::filesystem::space(Path const & p);
--> http://www.boost.org/libs/filesystem/doc/index.htm
-
- Beiträge: 605
- Registriert: 28. Juni 2007 15:01
- Kontaktdaten:
hatte ich bei boost glatt übersehen...caligano hat geschrieben:Was hältst du von der Boost Filesystem Library ?Die ist plattformunabhängig...Code: Alles auswählen
boost::filesystem::space(Path const & p);
--> http://www.boost.org/libs/filesystem/doc/index.htm
danke für den tip..
gruss
karl-heinz