Excel en ASP .NET con C# y VB

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.

Continuar leyendo «Excel en ASP .NET con C# y VB»

ms-resource:EditWithPhotos

Modificar ms-resource:EditWithPhotos, una entrada del menú contextual de imágenes en Windows 10 que, al ser activada con el ratón, abre la aplicación Fotos en el modo de edición

Por motivos que desconozco, aunque suele estar relacionado con la instalación de alguna actualización o probablemente con más frecuencia con la modificación de alguna clave del registro, puede aparecer una entrada en el menú contextual de los archivos de imagen en Windows 10 con el nombre ms-resource:EditWithPhotos. Al pulsar sobre ella se abre la imagen en la aplicación Fotos en el modo de edición.

Continuar leyendo «ms-resource:EditWithPhotos»

JAR y doble clic en Windows

Crear archivos JAR desde línea de comandos. Archivos JAR ejecutables y no ejecutables. Ejecutar un archivo JAR desde línea de comandos. Configurar la asociación del tipo de archivo JAR para que se ejecute correctamente con doble clic en Windows. Acceder a imágenes y otros recursos almacenados en un archivo JAR

Comprimir y empaquetar ficheros en un archivo JAR no ejecutable

Comprimir y empaquetar ficheros en un archivo JAR:

jar -cf archivo.jar archivo1 archivo2 archivo3
  • jar: comando para ejecutar la utilidad jar
  • c: crea un archivo nuevo
  • f: especifica el nombre del archivo
  • v: da información detallada (opcional).
Continuar leyendo «JAR y doble clic en Windows»

MP3Gain Express for Mac

Modificar volumen de pistas de audio MP3 con MP3Gain Express for Mac

En ocasiones deseamos cambiar el volumen base de una o varias canciones MP3. En el mundo Windows se ha usado desde hace años MP3Gain de Glen Sawyer, este programa cumple bien su función aunque lleva bastante tiempo sin actualizaciones. En el mundo Mac se utiliza MacMP3Gain de Bery Rinaldo que tiene inconvenientes derivados de su diseño como aplicación de tipo Applescript por lo que su funcionamiento es lento y no aprovecha bien las capacidades de los ordenadores actuales; también lleva bastante tiempo sin actualizar.

Recientemente Paul Kratt ha publicado una nueva aplicación llamada MP3Gain Express for Mac inspirada en MP3Gain para Windows.

Continuar leyendo «MP3Gain Express for Mac»

Agenda desde XML en C#

Leer una agenda telefónica desde un archivo XML que actúa como origen de los datos mostrándolos en un control DataGridView personalizado cuyos registros se pueden filtrar con sentencias SQL, en Visual Studio 2017 con C#

En este ejercicio se diseña una sencilla aplicación de agenda telefónica que lee los datos desde un archivo XML en lugar de hacerlo desde una base de datos. Las principales características del ejercicio son:

  1. Lectura desde un archivo XML, configurado como origen de los datos
  2. Mostrar los datos en un control DataGridView personalizado
  3. Filtrar registros utilizando sentencias SQL desde objetos DataView
  4. Actualizar el origen de los datos con los cambios realizados en DataGridView.
Continuar leyendo «Agenda desde XML en C#»

Agenda desde XML en VB

Leer una agenda telefónica desde un archivo XML que actúa como origen de los datos, configurando columnas personalizadas de un control DataGrid, en Visual Studio 2017 con VB

En este ejercicio se diseña una sencilla agenda telefónica que lee los datos desde un archivo XML en lugar de hacerlo desde una base de datos. Las principales características del ejercicio son:

  1. Lectura desde un archivo XML, configurado como origen de los datos
  2. Mostrar los datos en un control DataGrid personalizado
  3. Mostrar registros utilizando filtros de búsqueda basados en sentencias SQL simples
  4. Creación de una clase propia de columna de DataGrid que sólo acepta números.
Continuar leyendo «Agenda desde XML en VB»

JTextArea multilínea en Java

JTextArea en Java para campos de texto con varias líneas en contraposición a JTextField que sólo admite 1 línea; añadir líneas desde JTextField a JTextArea y vaciar el campo de texto

JTextField es un componente que muestra una sola línea de texto, en cambio JTextArea muestra múltiples líneas de texto. Ambos componentes muestran todo el texto en el mismo formato (fuente, color…), sin embargo, es factible modificar esos parámetros en lugar de los que Java implementa por defecto.

Para crear un objeto JTextArea se pueden emplear varios constructores:

TextArea texto = new JTextArea(); //sin parametros
JTextArea texto = new JTextArea(10,40); //numero de filas y columnas
JTextArea texto = new JTextArea( "Texto dentro de JTextArea" ); //cadena de texto
Continuar leyendo «JTextArea multilínea en Java»

ActionListener en Java

Ejecutar acciones sencillas al pulsar botones mediante la interface ActionListener: detectar la pulsación del botón como un evento de acción (ActionEvent) y llamar a la acción prevista con el método actionPerformed

Las aplicaciones han de responder a las acciones que realiza el usuario, por ejemplo: cerrar la ventana al pulsar un botón. Es necesario poder detectar las acciones de usuario y convertirlas en acciones de programa. Java dispone de varias formas de implementar este funcionamiento. En este ejercicio se mostrarán algunas de ellas. Todas se basan en el uso de Interfaces.

  • Las Interfaces son clases «prefabricadas» con propósitos definidos
  • Cada Interface contiene declaraciones de métodos (nombre del método, lista de argumentos y tipo de retorno) pero estos métodos no están implementados (carecen de cuerpo) y deben ser desarrollados
  • Todos los métodos de las Interfaces son public
  • Las Interfaces también pueden declarar constantes (public final static).
Continuar leyendo «ActionListener en Java»

JLabel personalizada en Java

Control JLabel en el que se configuran varios parámetros de diseño (alineación vertical y horizontal, color y tipo de borde y de letra) y se muestra texto con salto de línea utilizando código HTML

En este ejercicio se muestra una ventana muy simple que contiene:

  • 3 etiquetas en la parte superior, cada una con variaciones en su diseño
  • 1 botón conectado a una acción en la parte inferior
  • 2 etiquetas vacías a ambos lados del botón para contribuir a mantener la disposición (layout) de los elementos.
Continuar leyendo «JLabel personalizada en Java»

Captura de pantalla en C#

Capturar la pantalla o la ventana activa usando la clase SendKeys sin recurrir a librerías externas en Visual Studio 2017 con C#

En este ejercicio se propone una manera relativamente sencilla para capturar tanto la pantalla completa como la ventana activa, copiarla al portapapeles y almacenarla en disco como JPG. Es la versión hecha en C# del ejercicio anterior hecho en Visual Basic. El proceso para hacer la captura es el siguiente:

Continuar leyendo «Captura de pantalla en C#»