Mit nachfolgender Funktion lassen sich Byte-Angaben (z.B. Ordner- oder Dateigröße) sauber darstellen, wobei die Funktion selbst entscheidet, wann die Angabe in Bytes, KBytes, MBytes etc. erfolgt. Optional kann durch Angabe des Decimals-Parameter zusätzlich die gewünschte Anzahl Nachkommastellen angegeben werden. ''' <summary> ''' Skalierte Darstellung von Bytes ''' </summary> ''' <param name="Bytes">Bytes</param> Public Function FormatBytes(ByVal Bytes As Long) As String Return FormatBytes(Bytes, 0) End Function ''' <summary> ''' Skalierte Darstellung von Bytes ''' </summary> ''' <param name="Bytes">Bytes</param> ''' <param name="Decimals">Anzahl Nachkommastellen</param> Public Function FormatBytes(ByVal Bytes As Long, ByVal Decimals As Integer) As String Dim result As String = String.Empty If Bytes < 0 Then Throw New System.ArgumentOutOfRangeException _ ("Byte-Angaben müssen positiv sein") End If If Bytes < 1024 Then ' Byte-Darstellung result = CStr(Bytes) & " Bytes" Else ' KB/MB/GB/TB-Darstellung For i As Integer = 4 To 1 Step -1 If Bytes >= 1024 ^ i Then result = Strings.FormatNumber(Bytes / 1024 ^ i, Decimals) & _ " " & CType(Choose(i, "KB", "MB", "GB", "TB"), String) Exit For End If Next End If Return result End Function Aufrufbeispiel: Dim Bytes As Long = My.Computer.FileSystem.GetFileInfo("d:\temp\datei").Length ' Angabe der Größe mit einer Nachkommastelle Label1.Text = FormatBytes(Bytes, 1) |