Agenda telefónica 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 telefónica desde XML en VB»

JTextArea con texto 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 con texto multilínea en Java»

Acciones en Java con ActionListener

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 «Acciones en Java con ActionListener»

JLabel con diseño personalizado 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 con diseño personalizado en Java»

Captura de pantalla o ventana activa 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 o ventana activa en C#»

Captura de pantalla o ventana activa en VB

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

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. Este ejercicio constituye un ejemplo más de que es posible realizar con Visual Basic .NET aplicaciones relativamente complejas y utilizables como ésta aunque el programador no tenga un nivel avanzado. El proceso para hacer la captura es el siguiente:

  • se minimiza la aplicación para que no salga en la captura con el ítem Minimized de la enumeración FormWindowState
  • el proceso queda suspendido durante 500 milisegundos con el método Sleep de la clase Thread
  • la pulsación de teclas es enviada con el método SendWait de la clase SendKeys para obtener la captura en ese intervalo
  • las teclas que se envían son las que se utilizan en Windows para hacer estas capturas
  • desde el portapapeles se obtiene un objeto Bitmap que permite guardar la imagen en disco y mostrarla en el PictureBox
Continuar leyendo «Captura de pantalla o ventana activa en VB»

Borrar los archivos temporales en VB

Ejercicio que obtiene las variables de entorno TEMP y APPDATA, lee y escribe en un archivo de texto para llevar la cuenta de archivos borrados e inicia un nuevo hilo o hebra (thread) para reiniciar el formulario, en Visual Studio 2017 con VB

En este ejercicio se propone una aplicación que borra los archivos temporales de Windows y la carpeta que los contiene, leyendo la variable de entorno TEMP definida para el usuario de la sesión actual. Además, se muestra al usuario información sobre:

  1. número de archivos encontrados en la ejecución actual dentro de la carpeta que corresponda a la variable de entorno %TEMP%
  2. número de archivos borrados en la ejecución actual (sólo se borran los archivos que no estén en uso)
  3. número total acumulado de archivos borrados por el programa desde su primera ejecución leyendo este dato desde un archivo de texto colocado en la carpeta que corresponda a la variable de entorno %APPDATA%.
Continuar leyendo «Borrar los archivos temporales en VB»

Error de Office XML Handler

Error del ítem Office XML Handler en el menú Abrir Con… de Windows 10 con Microsoft Office 2013

Las versiones recientes o actual de Microsoft Office aceptan el formato de documento Office Open XML (OpenXML / OOXML). Está basado en el lenguaje de marcas XML dentro de un contenedor ZIP. OpenXML es utilizado, entre otros, por GoogleDocs y LibreOffice, además de Microsoft. Se trata de un formato abierto con estándar reconocido por ISO/IEC (International Organization for Standardization / International Electrotechnical Commission) y ECMA (European Computer Manufacturers Association).

Continuar leyendo «Error de Office XML Handler»

Servidor Apache y PHP en macOS Mojave

Apple lanzó macOS Mojave 10.14 en septiembre de 2018 con Apache y PHP integrados en el sistema. Utilizaremos los programas Apache y PHP preinstalados para dejarlos operativos sin instalar herramientas de terceros, de forma manual, con los archivos de configuración y el Terminal.

Apache

El nuevo macOS Mojave viene con Apache preinstalado. Todo lo que tenemos que hacer es configurarlo y activarlo. Para verificar la versión de Apache instalada, ejecuta el siguiente comando en Terminal:

$ httpd -v
Continuar leyendo «Servidor Apache y PHP en macOS Mojave»

Reproductor de archivos MP3 en VB (3)

Reproductor MP3 con capacidad de reproducción aleatoria y navegación por unidades de disco y carpetas en controles ComboBox y TreeView junto con selección de canción en control ComboBox, en Visual Studio 2017 con VB

En 2 artículos anteriores se mostraba la forma de construir, sin conocimientos avanzados de programación, un reproductor de archivos MP3 añadiendo al proyecto el control Active X de Windows Media Player 9:

Continuar leyendo «Reproductor de archivos MP3 en VB (3)»