Dateigröße auslesen

Raven280438

Erfahrenes Mitglied
Hi,

ich möchte alle Dateien in einem Verzeichnis mit dazugehöriger Größe ausgeben.
Den Dateinamen bekomm ich mit
C++:
array<String^> ^dateien = Directory::GetFiles(verzeichnis);
for each (String ^name in dateien) {
	this->listView->Items->Add(gcnew ListViewItem(Path::GetFileName(name)));
}

Wie bekomm ich die Größe jeder Datei?


Noch eine 2te Frage:
Zum Anzeigen der Dateien benutzt ich eine Listenansicht (wie Ihr oben seht).
Dem ListView hab ich 2 Spalten gegeben, Dateiname und Größe.
Wie kann ich jetzt für jede Datei die Größe mit angeben?
C++:
this->listView->Items->Add(gcnew ListViewItem(Path::GetFileName(name),dateigroesse));
geht nicht ;)

Sry bin ziemlicher Anfänger.


Gruß
 
Zuletzt bearbeitet von einem Moderator:
Hi,

Super, Danke euch beiden.
Ich werde es heut Abend gleich mal testen :)

Eine weitere Frage:
Man kann ja auch ein kleines Icon vor jeden Eintrag machen. Muss das Icon in der Bitmap-Datei so klein sein oder kann man jede beliebige Größe nehmen, und das System skaliert dann?
Wenn das möglich ist, würde ich gerne vor jedes Bild das in der Liste angezeigt wird, das Bild als Icon davor machen.
Oder kann man selbst ein kleines Icon aus dem original-Bild erstellen und das dann verlinken?


Gruß
 
Hi,

ich hab jetzt die Dateigröße mit FileInfo ausgelesen.
Wie kann ich jetzt die Größe in Kilobyte anzeigen?

Folgendes hab ich probiert, aber es funktioniert nicht ;)

C++:
FileInfo ^fi = gcnew FileInfo(name);
__int64 filesize = fi->Length;
double f_filesize = Convert::ToDouble(filesize / 1024);
String ^s_filesize = printf("%.2f Kb",f_filesize).ToString();
 
Zuletzt bearbeitet von einem Moderator:
Was funktioniert denn nicht?

Hab kein Ahnung von c++, aber geht's nicht so?
C++:
FileInfo ^fi = gcnew FileInfo(name);
__int64 filesize = fi->Length;
String ^s_filesize = (filesize/1024).ToString() + " Kb";
 
Da hilft dir dein "Convert::ToDouble" auch nicht, weil es nach der Ganzzahldivision passiert.

C++:
FileInfo ^fi = gcnew FileInfo(name);
__int64 filesize = fi->Length;
String ^s_filesize = (filesize/1024.0).ToString("0.00") + " Kb";
 
Zurück