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)»

Reproductor de archivos MP3 en VB (2)

Reproductor de canciones MP3 capaz de hacer reproducción aleatoria de los archivos existentes en una carpeta seleccionada mostrando información de la canción, realizado con Visual Studio 2017 con VB

Anteriormente publiqué un artículo sobre un reproductor de archivos MP3 muy sencillo con botones de reproducción y selección de archivos, utilizando el OCX de Windows Media Player 9 (WMP en adelante). Continuando ese ejercicio, se ha incluido la funcionalidad de reproducir los archivos de forma aleatoria: el programa crea un array con todas las canciones existentes en una determinada carpeta y, mediante las funciones Randomize() y Rnd(), genera un índice aleatorio que asigna al reproductor para que suene el ítem del array con el mismo índice. El control OCX de WMP se mantiene oculto, no se muestra en la ventana principal del programa pero se utilizan sus funcionalidades.
Tienes disponible una versión más compleja de este ejercicio: 3.

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

Reproductor de archivos MP3 en VB (1)

Reproductor MP3 que usa el control OCX de Windows Media Player 9 oculto en la ventana y muestra información de la canción que suena, realizado en Visual Studio 2017 con VB

En este ejercicio se aprende a usar el control OCX de Windows Media Player 9 mediante la agregación de una referencia COM en el proyecto. El control no se muestra al usuario (permanece oculto en la ventana) y sus funciones se substituyen con botones y código propio. Este control ActiveX nos proporciona funcionalidades de reproducción de archivos multimedia (mp3, m3u…) sin que tengamos que crear código específico para esas funciones y con nivel de dificultad accesible a usuarios poco avanzados. Tienes disponibles 2 versiones más complejas de este ejercicio: 2 y 3.

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

Quitar botón cerrar de la ventana en C#

Deshabilitar el botón cerrar de la barra de título de la ventana usando procedimientos externos a .NET existentes en librerías del sistema (Platform Invoque) en Visual Studio 2017 con C#

Un programador desea que una aplicación arranque sin que pueda ser terminada por el usuario pulsando el botón Cerrar de la Barra de título del formulario (el aspa o la equis de la esquina derecha) ni mediante la pulsación de las teclas ALT+F4. El código en C# que se presenta en este artículo desactiva ese botón y el efecto de las teclas ALT+F4.

Continuar leyendo «Quitar botón cerrar de la ventana en C#»

Regedit en la clave superior desde C# y VB

Abrir el Editor del Registro (Regedit) en la clave superior Mi PC como en las versiones antiguas de Windows y no en la última clave visitada manipulando cadenas del registro, con C# y Visual Basic

En los sistemas operativos Windows anteriores a XP el programa Regedit abre siempre en la clave superior del árbol del registro (Mi PC). En cambio, en Windows XP y posteriores, abre en la última clave visitada. Esto es muy cómodo cuando se necesita abrir con frecuencia el registro para tareas de mantenimiento o configuración. Sin embargo algunas personas pueden preferir el comportamiento anterior. En este ejercicio se diseña una aplicación para abrir Regedit en MiPC y sirve para mostrar cómo acceder al registro de Windows desde Visual Basic .NET

Continuar leyendo «Regedit en la clave superior desde C# y VB»

Volumen de sonidos del sistema en BootCamp

Desactivar los sonidos del sistema al ajustar el volumen de Windows 10 en sistemas BootCamp

Al instalar Windows 10 desde Boot Camp en un Mac se instalan controladores que permiten usar las teclas de volumen del teclado. Pero cada vez que se modifica el volumen, con cada paso de ajuste suena un sonido que algunos usuarios prefieren que desaparezca.

Para deshabilitar este comportamiento hay que ir a Configuración > Sistema > Sonido > Opciones avanzadas de sonido. Allí es donde se muestra el control deslizante de los sonidos relacionados con Boot Camp.

Continuar leyendo «Volumen de sonidos del sistema en BootCamp»

Utilizar la etiqueta vídeo en HTML5

La versión 5 del lenguaje HTML ha traído numerosas mejoras. Uno de los campos en que el lenguaje se ha vuelto más potente ha sido en todo lo relativo a multimedia, por lo que ya no se justifica el uso de la tecnología Flash para la mayor parte de estas tareas.

La publicación de vídeo desde la página web usando HTML5 es muy sencilla. La etiqueta <VIDEO>, que no existía en HTML4, utiliza varios atributos entre los que se encuentran:

Continuar leyendo «Utilizar la etiqueta vídeo en HTML5»

Formularios en hilos separados en C# y VB

Arrancar 2 formularios diferentes pero cada uno de ellos en su propio hilo utilizando clases de System.Threading que permiten la programación multiproceso en C# y en VB

Es frecuente tener una aplicación con 2 formularios en la que desde el primero en aparecer iniciamos el otro y, al cerrar el primer formulario, se cierra el segundo automáticamente. Pero en ocasiones puede interesarnos que el cierre del primer formulario no conlleve el cierre del segundo, es decir, que ambos formularios sean verdaderamente independientes y que ambos se inicien a la vez (al arrancar la aplicación). El comportamiento por defecto en las aplicaciones de Visual Studio es el comentado en primer lugar, se debe a que ambos formularios se ejecutan en el mismo hilo del proceso principal iniciado por el formulario 1 por lo que, al cerrarlo, terminamos ese hilo y todo lo que en él sucede incluido el segundo formulario.

Continuar leyendo «Formularios en hilos separados en C# y VB»

Asignar nombres aleatorios a los archivos en Mac

Reemplazar los nombres de un grupo de fotos con nombres aleatorios en macOS

En ocasiones tenemos una carpeta con fotos nombradas de una determinada manera y queremos que se desordenen al azar. Una forma fácil de conseguirlo es generando para cada una de ellas un nombre aleatorio con la función rand_string en un script de bash.

Ejemplo: tenemos en el escritorio una carpeta llamada fotos con las imágenes cuyo nombre deseamos modificar de esta forma, Copiamos el texto siguiente a un editor de texto y lo guardamos como texto plano sin formato con la terminación .sh (archivo.sh reemplazando archivo por el nombre que desees).

Continuar leyendo «Asignar nombres aleatorios a los archivos en Mac»