Ejercicio I01 - Un DNI para mi compu
Consigna
Generaremos una tarjeta de identificación para la computadora donde se está ejecutando nuestra aplicación.
Importante
Para resolver este ejercicio será de ayuda el capítulo de los apuntes Ambientes y sistemas de archivos.
Descargar la cáscara del proyecto y seguir los siguientes pasos:
Manejar el evento
Loaddel formulario y cambiar la propiedadTextpara que contenga el mensaje "Compu de [usuario]". Reemplazar el texto entre corchetes por el nombre del usuario conectado al sistema operativo. Obtener el dato a partir de la propiedad que corresponda de la claseEnvironment.Crear el método
private void ConfigurarLogoSistemaOperativo()y utilizando los métodos estáticos de la claseOperatingSystemimplementar la siguiente lógica:- Si el sistema es MacOS, asignar
Properties.Resources.maca la propiedadImagedel controlpicboxSistemaOperativo. - Si el sistema es Linux, asignar
Properties.Resources.linuxa la propiedadImagedel controlpicboxSistemaOperativo. - Si el sistema es Windows, asignar
Properties.Resources.windowsa la propiedadImagedel controlpicboxSistemaOperativo.
- Si el sistema es MacOS, asignar
Invocar al método
ConfigurarLogoSistemaOperativodel punto anterior dentro del manejador del eventoLoad.Dentro del manejador del evento
Loadmodificar la propiedadTextdel labellblSistemaOperativoy cargar el mensaje "Sistema operativo: [Plataforma y versión del sistema operativo]". Reemplazar el texto entre corchetes por la descripción del sistema operativo sobre el que se está ejecutando la aplicación. Obtener el dato a partir de la propiedad que corresponda de la claseEnvironment.Dentro del manejador del evento
Loadmodificar la propiedadTextdel labellblNombreMaquinay cargar el mensaje "Nombre de la máquina: [Nombre de la máquina]". Reemplazar el texto entre corchetes por el nombre de la máquina sobre la que se está ejecutando la aplicación. Obtener el dato a partir de la propiedad que corresponda de la claseEnvironment.Crear el método
private void ConfigurarArquitectura()y utilizando la propiedad estática que corresponda de la claseEnvironmentimplementar la siguiente lógica:- Si el sistema es de 64 bits, modificar la propiedad
Textdel labellblArquitecturay cargar el mensaje "Arquitectura: 64 bits". - Si el sistema es de 32 bits, modificar la propiedad
Textdel labellblArquitecturay cargar el mensaje "Arquitectura: 32 bits".
- Si el sistema es de 64 bits, modificar la propiedad
Dentro del manejador del evento
Loadmodificar la propiedadTextdel labellblCantProcesadoresy cargar el mensaje "Cant. procesadores: [cantidad de procesadores lógicos] procesadores lógicos". Reemplazar el texto entre corchetes por la cantidad de procesadores lógicos que tiene la máquina sobre la que se está ejecutando la aplicación. Obtener el dato a partir de la propiedad que corresponda de la claseEnvironment.Dentro del manejador del evento
Loadmodificar la propiedadTextdel labellblDirectorioActualy:- Cargarle el mensaje "Identificación ejecutada en: [Salto de línea]". Reemplazar el texto entre corchetes por un salto de línea que sea agnóstico al sistema operativo sobre el que se ejecuta la aplicación, para eso se deberá utilizar la propiedad que corresponda de la clase
Environment. - A continuación del salto de línea generado en el punto anterior, incorporar al texto la ruta absoluta del directorio sobre el que se está ejecutando la aplicación. Obtener el dato con la propiedad
CurrentDirectoryde la claseEnvironment.
- Cargarle el mensaje "Identificación ejecutada en: [Salto de línea]". Reemplazar el texto entre corchetes por un salto de línea que sea agnóstico al sistema operativo sobre el que se ejecuta la aplicación, para eso se deberá utilizar la propiedad que corresponda de la clase
Crear el método
private void ConfigurarEspacioTotalYDisponible()y utilizando el método estáticoGetDrivesde la claseDriveInfo:- Modificar la propiedad
Textdel labellblEspacioTotaly cargar el mensaje "Espacio total: [espacio total] Gigabytes". Reemplazar el texto entre corchetes por la suma del espacio total de todas las unidades de almacenamiento de la computadora. Mostrar el dato en gygabytes redondeado al entero más cercano. - Modificar la propiedad
Textdel labellblEspacioDisponibley cargar el mensaje "Espacio disponible: [espacio disponible] Gigabytes". Reemplazar el texto entre corchetes por la suma del espacio disponible en todas las unidades de almacenamiento de la computadora. Mostrar el dato en gygabytes redondeado al entero más cercano.
- Modificar la propiedad
Tip
1 Byte = 9.31×10-10 Gigabytes
1 Gygabyte = 1073741824 Bytes
Un ejemplo del resultado final (los datos variarán dependiendo de la computadora donde se ejecute la aplicación):

Resolución
| Video | Código |
|---|