Aplicaciones de 64 bits con Acces en VS y Office 2019

Configurar proyectos de bases de datos de Microsoft Access en sistemas con la versión de 64 bits de Office 2019 para que los proyectos también se compilen y ejecuten a 64 bits, en Visual Studio 2019

En muchos sistemas conviven versiones de 32 bits de Visual Studio y de Microsoft Office. En esas circunstancias, para diseñar proyectos que utilizan bases de datos de Access es obligatorio configurar los proyectos para que compilen y ejecuten en el modo de 32 bits ya que el componente (Access Database Engine – Componente redistribuible del motor de base de datos de Microsoft Access) que permite interoperar entre los programas de Office y otras aplicaciones como Visual Studio también es de 32 bits al tener que coincidir con la plataforma de Office.

Continuar leyendo «Aplicaciones de 64 bits con Acces en VS y Office 2019»

DataGrid para imprimir con Crystal Reports en C# y VB

Desde un archivo XML se rellena un DataGrid cuyas columnas se crean por código configurando parámetros como la anchura de cada columna, con filtros de selección de registros basados en sentencias SQL y 2 opciones diferentes para imprimir los datos: mediante un informe de Crystal Reports o efectuando una transformación XSL al archivo origen de los datos para obtener una página HTML con formato, en C# y VB

El formulario principal tiene un DataGrid con las 4 columnas de la tabla obtenida desde un archivo XML que tiene 4 elementos: Id, Apellidos, Nombre y Cargo.

Continuar leyendo «DataGrid para imprimir con Crystal Reports en C# y VB»

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»

Navegador web con el control WebBrowser en VB (2)

Navegador Web usando la clase WebBrowser, configurando 2 idiomas diferentes (es-ES y en-US) que se guardan en My.Settings, cambiando de idioma sin reiniciar la aplicación, mostrando el código HTML de la página que se visita en un segundo formulario y almacenando el historial en un archivo de texto entre sesiones, en Visual Studio 2017

Continuando el ejercicio anterior (aquí) se completa con las propuestas de localización e internacionalización del programa. Se añade un formulario de opciones que permite configurar el programa, tanto en lo que respecta al arranque en ventana o pantalla completa como a la hora de cambiar el idioma utilizado (restringido a 2: español e inglés). También se añade un formulario que muestra el código HTML de la página web que se está visitando.

Continuar leyendo «Navegador web con el control WebBrowser en VB (2)»

Navegador web con el control WebBrowser en VB (1)

Navegador Web usando la clase WebBrowser, configurando 2 idiomas diferentes (es-ES y en-US) que se guardan en My.Settings, cambiando de idioma sin reiniciar la aplicación, mostrando el código HTML de la página que se visita en un segundo formulario y almacenando el historial en un archivo de texto entre sesiones, en Visual Studio 2017

Resumen del ejercicio:

  • Aprender funcionalidades de Visual Basic .NET mostrando la clase WebBrowser que apareció por primera vez en .NET Framework 2, esta clase permite mostrar páginas web dentro de un formulario; ésto también era posible en .NET Framework 1 recurriendo al control OCX AxInterop.SHDocVw pero la facilidad de uso y la potencia de programación de la nueva clase es muy superior
  • Aprender a utilizar la función que permite configurar propiedades de aplicación (application settings) o de usuario (user settings) guardándolas en un archivo XML; aquí se emplea para guardar el tamaño y la posición que tiene la ventana principal al cerrarse para que, en el siguiente arranque, lo haga con idéntico aspecto
  • Leer (StreamReader) y escribir (StreamWriter) en un archivo de texto en el que se guarda el historial de páginas visitadas en la sesión para mostrarlas en un control ComboBox que hace la función de barra de direcciones.
Continuar leyendo «Navegador web con el control WebBrowser en VB (1)»

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»