martes, 9 de marzo de 2010

Convertir Bytes a MegaBytes y GigaBytes

Para el ejemplo iniciar un nuevo proyecto y colocar un control textBox en el formulario.
Luego al iniciarlo , en el código se recorren las unidades accesibles en el equipo para obtener los bytes ( propiedad TotalSize de DriveInfo ) , y se realiza la conversión mediante dos simples funciones que retornan una cadena con el valor en Megas y Gigas. El resultado de la conversión se visualiza en la caja de texto

Código fuente

Option Explicit On
Option Strict On

Public Class Form1

' Función que retorna un String con el valor en GigaBytes
Private Function ConvertBytesToMB(ByVal bytes As Int64) As String
Dim mb As Double = bytes / 1048576
Return mb.ToString
End Function

' Función que retorna un String con el valor en MegaBytes
Private Function ConvertBytesToGB(ByVal bytes As Int64) As String
Dim gb As Double = bytes / 1073741824
Return gb.ToString("N")
End Function

Private Sub Form1_Load( _
ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles MyBase.Load

' Para las unidades
Dim xDrive As System.IO.DriveInfo

' variable para el resultado
Dim sDatos As String = ""

' recorrer las unidades
Try
For Each xDrive In System.IO.DriveInfo.GetDrives
' si se puede leer ...
If xDrive.IsReady = True Then
' imprime la letra y el valor en bytes
sDatos = sDatos & xDrive.Name.ToString & vbCrLf
sDatos = sDatos & " -- BYTES: " & xDrive.TotalSize & vbCrLf
' convierte de bytes a MegaBytes y gigaBytes
sDatos = sDatos & " -- MEGAS: " & ConvertBytesToMB(xDrive.TotalSize)
sDatos = sDatos & vbCrLf & " -- GIGAS: " & ConvertBytesToGB(xDrive.TotalSize)
sDatos = sDatos & vbCrLf & "-----------------------" & vbCrLf
End If
Next
' visualiza el resultado de la conversión en el Textbox
TextBox1.Text = sDatos
' errores
Catch ex As Exception
MsgBox(ex.Message.ToString)
End Try
End Sub
End Class

1 comentario:

  1. Este comentario ha sido eliminado por un administrador del blog.

    ResponderEliminar