Listado recursivo de un directorio en C# y VB

Listar de forma recursiva todos los archivos de un directorio y de los subdirectorios que contiene, informando del tiempo requerido para la tarea, con botones para ordenar la lista de forma ascendente o descendente, en Visual Studio 2017 con C# y VB

Damián Castroviejo tiene un ejercicio titulado «How to use a recursive function to read a directory structure and save it to XML» cuyo código consigue listar adecuadamente de forma recursiva los archivos de un directorio y de sus subdirectorios y guardar la estructura de archivos y carpetas en un archivo XML. Aplicando la función recursiva propuesta por Damián Castroviejo, en este ejercicio se rellena un control ListBox con todos los archivos existentes en una carpeta determinada.

Continuar leyendo «Listado recursivo de un directorio en C# y VB»

DataGrid con paginación en ASP .NET con C# y VB

Mostrar una base de datos de Microsoft Access dentro de una página ASPX en un DataGrid con paginación para mostrar en cada página un número limitado y definido de registros y desplazarse entre las distintas páginas mediante botones de navegación, en Visual Studio 2017 con C# y VB

En este ejercicio nos conectamos con una base de datos de Microsoft Access y, por código, creamos un DataGrid en el que se activa la paginación. El DataGrid tiene opciones de configuración del número de registros por página, número de botones de navegación y su posición, botones numéricos o de flecha, diseño (tipo de fuente, colores de fondo, bordes, formato diferente en cabecera, cuerpo y pie, anchura de las columnas), etc.

Continuar leyendo «DataGrid con paginación en ASP .NET con C# y VB»

Capturar con GDI+ las regiones del formulario en C# y VB

Capturar la ventana completa del formulario con o sin decoración (área cliente) o una región que se corresponde con un control PictureBox usando GDI+ mediante objetos Graphics de origen y destino y la función BitBlt que combina 2 mapas de bits en uno solo, en C# y VB

En un artículo anterior se mostraba cómo aplicar un recorte circular a la imagen de un control PictureBox para que la imagen se vea redondeada. He ampliado el ejercicio continuando con GDI (Graphics Device Interface). GDI es es uno de los tres componentes de la interfaz de usuario de Microsoft Windows. Trabaja junto con el núcleo y la API de Windows.

Este ejercicio añade la funcionalidad de captura de pantalla usando métodos de las clases de GDI+ explicando cómo hacer para capturar la ventana de la aplicación completa (con bordes y decoraciones), la ventana sin decoración (lo que se llama área cliente del formulario) o una región específica de la ventana, la de un control PictureBox de imagen redondeada, y guardar los resultados como imagen JPG en el directorio del ensamblado. Estas imágenes JPG se muestran en un formulario nuevo.

Continuar leyendo «Capturar con GDI+ las regiones del formulario en C# y VB»

Formulario redondeado, romboidal y poligonal en C# y VB

Aplicar regiones a un formulario usando objetos GraphicsPath.AddLine y GraphicsPath.AddEllipse para recortar el área del formulario y cambiar la forma de la ventana, en Visual Studio 2017 con C# y VB

Utilizando objetos de la clase GraphicsPath y aplicando regiones de recorte es sencillo modificar la forma de la ventana de un formulario. Podemos darle prácticamente cualquier aspecto pero, por sencillez del código, en este ejercicio nos restringiremos a 3 formas, círculo, rombo y polígono, usando regiones de recorte con el aspecto deseado.

GraphicsPath del espacio de nombres System.Drawing.Drawing2D representa una serie de líneas y curvas conectadas. La base del ejercicio es:

  • ventana redondeada: en el evento Paint de un PictureBox o del formulario se dibuja sobre GraphicsPath una región de recorte de forma circular con el método AddEllipse y se convierte en la región visible del formulario
  • ventana romboidal y poligonal: en el evento Load del formulario se van añadiendo líneas definidas por su punto x.y de inicio y de final con coordenadas absolutas calculadas respecto a la ventana visible del formulario. Cada segmento de línea se añade con GraphicsPath.AddLine(Int32, Int32, Int32, Int32) a la figura actual.
Continuar leyendo «Formulario redondeado, romboidal y poligonal en C# y VB»

Listar archivos de directorios en ASP .NET con C# y VB

Mostrar en el navegador web los archivos de un directorio remoto o local con una página dinámica aspx usando System.Collection o System.IO, en C# y en VB

ASP .NET tiene varias formas de acceder a los archivos y subcarpetas que están dentro de una carpeta. En este ejercicio se muestran dos maneras diferentes de listar lesos elementos, ambas se basan en código relativamente sencillo, comprensible por programadores no expertos.

Usando colecciones y la interfaz System.Collection.IEnumerator

Una colección (Collection) es un tipo especial de matriz o array especialmente preparado para unas tareas determinadas. Los objetos Collection se crean desde las clases e interfaces del espacio de nombres System.Collections. Algunas interfaces útiles de Collections son:

  • IEnumerator: para recorrer listas de valores
  • IList: para ordenar listas de valores
  • ICollection: para modificar listas de valores
  • ICloneable: para hacer copias de listas de valores.
Continuar leyendo «Listar archivos de directorios en ASP .NET con C# y VB»

Saber la versión de Windows en C# y VB

Obtener datos sobre el nombre del producto, la versión, el número de compilación y la arquitectura de 32 o 64 bits del sistema operativo mediante clases de .NET o el registro de Windows, en C# y VB

En ocasiones puede ser necesario que un programa o librería acceda a datos de la versión de Windows instalada en el sistema. Este ejercicio presenta 2 formas de hacerlo, utilizando clases de .NET Framework o leyendo esa información directamente desde el registro de Windows. Se presenta el ejercicio en C# pero al final está el enlace de descarga a la aplicación completa con el añadido de la versión en Visual Basic .NET.

Continuar leyendo «Saber la versión de Windows en C# y VB»

DataTable desde Microsoft Access en ASP .NET con C# y VB

Leer una base de datos de Microsoft Access, presentar los datos en un objeto DataTable de ASP .NET, generar por código los encabezados y las columnas y mostrar la ruta a la base de datos en una etiqueta con diseño personalizado, en C# y VB .NET

Microsoft tiene un artículo titulado «How to retrieve and display records from an Access database by using ASP.NET, ADO.NET and Visual C# .NET» para .NET Framework 1. Basado en ese artículo se presenta este ejercicio que consiste en leer una base de datos de Microsoft Access y presentar los datos en un objeto DataTable de ASP .NET. El ejercicio tiene 2 versiones: C# y VB, y una base de datos llamada Clientes.accdb con una única tabla llamada ClientesTb y 5 campos: Id, Nombre, Apellidos, Cargo y Teléfono.

Se comenta el ejercicio en C# y al final se proporciona el código completo tanto para C# como para VB .NET, las diferencias entre ambos son pequeñas.

Continuar leyendo «DataTable desde Microsoft Access en ASP .NET con C# y VB»

Contador de visitas en ASP .NET desde Web.config en VB (3)

Sencillo contador de visitas que utiliza una variable de aplicación desde el archivo Web.config, obteniendo el valor de esa variable en el código apsx.vb e incrementándolo en 1 cada vez que se carga la página y presentando el número de visitas formateado con separador de miles

Una aplicación ASP .NET es el conjunto de archivos y carpetas de un directorio virtual y se representa mediante un objeto HttpApplication. Un objeto de este tipo, llamado Application, es generado al arrancar la aplicación (cuando un cliente pide una página del sitio por primera vez).
Application permite guardar variables (variables de aplicación) que van a estar disponibles para todos los usuarios (Application no asigna valores a usuarios concretos). Sin embargo, no es conveniente guardar en variables de aplicación código HTML extenso.
La variable de aplicación tiene una ventaja clara sobre la variable de sesión por el hecho de ser creada una sola vez por aplicación y no por usuario: independientemente del número de usuarios que visitan el sitio, hay una sola variable con el ahorro de memoria en el servidor.

Continuar leyendo «Contador de visitas en ASP .NET desde Web.config en VB (3)»

Contador de visitas en ASP .NET con archivo de texto en VB (2)

Sencillo contador de visitas que utiliza un archivo de texto como almacén del dato y objetos de System.IO (File.Exists(String), File.CreateText(String), StreamReader, StreamWriter, StreamReader.ReadToEnd) para leer y guardar el valor que se incrementa en 1 cada vez que se recarga la página; el número de visitas se muestra formateado con separador de miles mediante el método Strings.FormatNumber

En este ejercicio se muestra cómo crear un contador de visitas muy sencillo en una aplicación ASP .NET. Se utilizan 3 archivos:

  • contador.txt: es un archivo de texto muy simple que actúa como almacén del dato que es el número de veces que se recarga la página
  • contadortxt.aspx: página dinámica con 2 etiquetas con diseño personalizado para mostrar el número de visitas y los errores que pueden suceder
  • contadortxt.aspx.vb: página de código VB con la lógica que lee el dato, lo incrementa en 1 y lo guarda con el nuevo valor.
Continuar leyendo «Contador de visitas en ASP .NET con archivo de texto en VB (2)»