Listar archivos en ASP .NET con VS 2022 (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 estos elementos, ambas se basan en código relativamente sencillo.

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.

Leer más

Excel en ASP .NET con VS 2022 (VB y C#)

Mostrar una hoja de cálculo de Excel en una página web dinámica aspx usando un rango de celdas como origen de datos de un DataGrid, en C# y en VB

ADO .NET proporciona métodos para conectar con diferentes almacenes de datos. En este ejercicio se utilizan clases pertenecientes a los espacios de nombres System.Data y System.Data.OleDb para conectar con una hoja de cálculo de Microsoft Excel. Un grupo de celdas de la hoja de cálculo, englobadas en un rango con nombre, hace la función de tabla del DataSet que es mostrada en el DataGrid.

Leer más

Navegador web con WebView en C# (3)

Navegador web usando la versión moderna del control WebBrowser, el control WebView, que renderiza las páginas usando el motor de Microsoft Edge en lugar de hacerlo con el motor de Internet Explorer, añadiendo un segundo formulario que muestra el código HTML de la página que se visita, en C#

En 2 ejercicios anteriores (1 y 2) se desarrolla una aplicación de formularios de Windows con Visual Basic, construida alrededor de un objeto de la clase WebBrowser que permite mostrar en su interior páginas web y también interactuar con las páginas visitadas. Se trata de una clase muy madura que apareció en NET Framework 2, fácil de utilizar y con muchos textos de ayuda en Internet.
Pero tiene el inconveniente de que, por su antigüedad, utiliza el motor de renderizado de Internet Explorer, navegador actualmente obsoleto incluso para la propia Microsoft. En teoría renderiza con la versión de Internet Explorer que tengamos instalada en el sistema pero en la práctica parece mostrar las características de Internet Explorer 7 salvo que se manipule el registro para forzar a nuestra aplicación a utilizar el motor de la versión más moderna que es la 11 a condición de que la tengamos instalada (las instrucciones para hacerlo están en el artículo 2 de los referidos al principio del texto).

Leer más

XML con estructura de directorio en C# y VB

Crear en el Escritorio un archivo XML con la estructura de un directorio, incluyendo archivos y subcarpetas de forma recursiva, utilizando la clase XDocument del espacio de nombres System.Xml.Linq, y mostrar en un control el texto generado con el método WriteAllText de la clase File, en C# y VB

Basado en el código propuesto por Marcin Juraszek en el artículo «Creating XML file representing folder structure (including subfolders) in C#» del sitio web stackoverflow.

Inicio y selección de directorio

Espacios de nombres que hay que importar.

using System;
using System.Windows.Forms;
using System.Xml.Linq;
using System.IO;

Leer más

Access y DataBinding en C#: Crystal Reports desde DataSet

Aplicación que carga datos desde una base de datos de Microsoft Access, los muestra en unos controles TextBox que se enlazan a los datos por medio de DataBinding y genera un informe para imprimir usando Crystal Reports a partir de un archivo XML intermedio que reproduce el estado actual de selección de registros en un DataSet tipado, en C#

Leer más

Access y DataBinding en C#: obtener PDF desde HTML

Aplicación que carga datos desde una base de datos de Microsoft Access, los muestra en unos controles TextBox que se enlazan a los datos por medio de DataBinding y genera un informe PDF usando NReco.PDFGenerator a partir de un archivo HTML intermedio obtenido al aplicar transformación XSL a un archivo XML que reproduce el estado actual de selección de registros, en C#

Leer más

Visual Studio 64 bits con Acces 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.

Leer más

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.

Leer más

Diferencia de fechas en ASP .NET con C# y VB

Calcular la diferencia entre 2 fechas usando DateTime, Convert.ToDateTime, DateTime.Now.ToString y System.Globalization, con C# y VB

Este es un ejercicio muy sencillo que ilustra el uso de funciones de fecha para calcular el número de días existentes entre 2 fechas determinadas.

Leer más

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.

Leer más