[DllImport ( "Shlwapi.dll", CharSet = CharSet.Auto )]
public static extern long StrFormatByteSize (
long fileSize
, [MarshalAs ( UnmanagedType.LPTStr )] StringBuilder buffer
, int bufferSize );
[DllImport("Shlwapi.dll", CharSet = CharSet.Auto)]
public static extern long StrFormatByteSize( long fileSize, System.Text.StringBuilder buffer, int bufferSize );
<System.Runtime.InteropServices.DllImport("shlwapi", CharSet:=System.Runtime.InteropServices.CharSet.Auto)> _
Private Shared Function StrFormatByteSize
(
ByVal fileSize As Long, _
ByVal buffer As Text.StringBuilder, _
ByVal bufferSize As Integer
) As Long
End Function
None.
Do you know one? Please contribute it!
None.
Please add some!
/// <summary>
/// Converts a numeric value into a string that represents the number expressed as a size value in bytes, kilobytes, megabytes, or gigabytes, depending on the size.
/// </summary>
/// <param name="filelength">The numeric value to be converted.</param>
/// <returns>the converted string</returns>
public static string StrFormatByteSize (long filesize) {
StringBuilder sb = new StringBuilder( 11 );
StrFormatByteSize( filesize, sb, sb.Capacity );
return sb.ToString();
}
''' <summary>
''' Returns a string representation of a number of bytes (ie. 524288 = "512Kb")
''' </summary>
Private Function fnFileSize( ByVal size As Long ) As String
Dim sb As New Text.StringBuilder( 20 )
StrFormatByteSize( size, sb, sb.Capacity )
Return sb.ToString()
End Function
$nativeMethods = Add-Type -PassThru -Name "Win32Api" -MemberDefinition @"
[DllImport("Shlwapi.dll", CharSet = CharSet.Auto)]
public static extern long StrFormatByteSize( long fileSize, System.Text.StringBuilder buffer, int bufferSize );
"@
$sb = New-Object Text.StringBuilder 100
$nativeMethods::StrFormatByteSize( 1024, $sb, $sb.Capacity ) | Out-Null
$sb.ToString()