Dic 242015
 

Juego de memoria «Simón dice» en Excel y VBA, el juego consiste en presionar los colores en el orden según nos lo va dictando Simón (el juego), El rendimiento correcto del juego dependerá del la PC en que se ejecute, no tuve la posibilidad de probarlo en en distintas versiones de Excel, en mi caso es 2007 donde Application.Version = 12.0 o en 14.0, en versiones anteriores no funcionara ya que utiliza algunas funciones gráficas no están implementadas, claro que si se quiere se podría buscar la forma adaptarlo, pero como solo cuento con una versión instalada en esta PC sale sin fritas. Para versiones posteriores no estoy seguro, pero en las versiones para Windows x 64 no funcionara por las declaraciones de Apis que se hacen de otro modo, el cual aun no me familiarizo.

En cuanto a un poco lo técnico utilice timers para intentar crear un poco falsos threads debido a que usando bucles no se actualizaban correctamente los gráficos, o hay algún método que desconozco. El audio esta recreado con apis de windows para no incluir archivos .wav o .mp3 o recurir a las funciones MIDI, como el audio no es asíncrono, también recurrí a un timer para no interrumpir proceso gráfico.

Aclaro para todos estos juegos programados en vba y Excel se debe tener las Macros habilitadas.
SIMON1.png
SIMON2.png

Dic 202015
 

Juego de la Ruleta realizado en Excel y VBA, en este caso ya tenemos una gráfica y programacion mucho mas avanzada con respecto a los juegos anteriores, claro esta que el rendimiento correcto del juego dependerá del la PC en que se ejecute, no tuve la posibilidad de probarlo en en distintas versiones de Excel, en mi caso es 2007 donde Application.Version = 12.0, la cual trae un bugs cuando el zoom no es 100% esta desfasa un poco los Shapes, pero tengo entendido que esto no ocurre en otras versiones.

Aclaro para todos estos juegos programados en vba y Excel se debe tener las Macros habilitadas.
ruleta.png

Dic 152015
 

Clásico juego de Ping Pong, sencillo, con la opción de jugar solo o con dos jugadores, en la hoja de Ayuda encontraran con que teclas deslizarse, también recuerden que pueden utilizar el zoom para ajustar a sus monitores, o también poner en pantalla completa.
Aclaro para todos estos juegos programados en vba y Excel se debe tener las Macros habilitadas.
PingPong.png

Dic 072015
 

Otro  juego de ingenio llamado Cuatro en Linea/Raya o Conecta 4. se puede jugar de a dos o contra la maquina, al igual que otro juego anterior no soy experto, por lo tanto trate de usar una lógica básica para que se ejecuten ciertas jugadas automáticamente. aquí pueden encontrar la ayuda y las reglas.
Aclaro para todos estos juegos programados en vba y Excel se debe tener las Macros habilitadas.
CuatroEnLinea.png

Dic 012015
 

Este es un juego de ingenio llamado Othello o también Reversi, en windows XP se puede encontrar instalada por defecto una versión del reversi para jugar online.
En wikipedia pueden encontrar la ayuda y sus reglas, en esta planilla se puede jugar de a dos o contra la maquina, aclaro yo no soy un experto en este juego ( y tampoco me interiorice mucho) por lo tanto utilice una lógica muy básica, en tanto si juega alguien experimentado puede que le resulte fácil ganarle a la maquina.
othello.png

Nov 302015
 

Este es otro clásico juego de la Vívorita realizado en VBA y Excel, utiliza una clase Timer para los movimientos y detección de las teclas, el juego consiste en atrapar el Ratón sin tener que chocar los los laterales y sin comerse la cola. los gráficos son sencillos a modo de preservar la grilla de planilla.
vivorita.png

Nov 302015
 

Bueno después de un largo tiempo de inactividad, decidí  aprovechar algún tiempo extra en «alguna parte» donde solo cuento con Excel en la pc, así que decidí entretenerme con VBA y bueno iré publicando algunos juegos que hice en mi tiempo libre, en este caso se trata de un clásico juego echo en Flash donde el objetivo es ir moviendo los vehículos para poder sacar el auto verde del estacionamiento. aclaro que no es una película de flash insertada en la planilla, esta todo programado con VBA y el uso de algunas Apis para poder mover un conjunto de controles activeX con el mouse en tiempo de ejecución.

estacionamiento.png

May 052013
 

Este es un OCX  llamado ImageWebSearch.ocx que sirve para buscar imágenes en la web, es algo similar al CommonDialog pero en vez de seleccionar un archivo en disco, lo seleccionamos de la web, luego está en ustedes manipular la url de la imágen obtenida. El OCX cuenta con dos motores de búsqueda el de Google y Devianart y tiene casi la totalidad de sus filtros, es totalmente asíncrono, por lo que no cuelga la aplicación al realizar peticiones, esto es algo importante porque al bajar el scroll de la lista, automáticamente va cargando nuevas búsquedas, osea va paginando el Listview con el scroll vertical (exactamente como lo hace Google Facebook etc.)

Dentro de la carpeta de descarga está el código de fuente, opté por compilarlo en OCX porque eran varios módulos,  formularios, controles de usuario y ademas un archivo de recurso exclusivo, por lo que compilado es mas fácil de utilizar.

Un punto en contra es que para la búsqueda utiliza los AJAX de los motores antes mencionados, por lo tanto si estos llegaran a cambiar con el tiempo el ocx quedaría obsoleto. Otra cosa a tener en cuenta es que la aplicación que lo implemente debe utilizar los temas de windows, de lo contrario el borde de las imágenes no se  mostrara correctamente.

Me quedaron algunas cosas que me hubiera gustado implementar, por ejemplo modificar el filtro desde código, pero al ser tantos me dió pereza  así que dejo en manos de ustedes si lo quieren hacer.

Requerimientos Windows XP y posteriores (Aunque no lo probé en XP, después edito.)

CtrlImageWebSearch.png

CtrlImageWebSearch2.png

Abr 252013
 

Este es un módulo clase que sirve para capturar sitios web y poder guardarlos como una imágen, utiliza el motor de Internet explorer. La clase cuenta con un evento y varias propiedades y funciones a modo de ser flexible para cada uso, entre éstas, poder guardar la imágen en varios formatos, PNG, JPG, ICO, etc., tanto en archivo como en stream. Además captura el Favicon de la web en cuestión, como así también otros datos como la descripción y el titulo. Podemos elegir las dimensiones que queramos como entrada y salida.

Como requerimiento sistema operativo Windows XP y posteriores (aunque sólo lo probé en Windows 7, pero no creo que haya inconvenientes).

A continuación pondré tres proyectos en los que utilizaré el módulo clase y mostraré un poco para qué podría servir.

…………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………….

El primero se trata de un  proyecto algo simple para mostrar un poco como funciona la clase y sus propiedades.

Snap Website

Snap Website

…………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………….

El segundo se trata de un proyecto más avanzado, con algunos controles de usuario y módulos extra para crear una ventana donde podamos alojar algunos sitios web como accesos directos y mediante algunas combinaciones de teclas mostrar esta ventana. Para más información ver el archivo Leame.txt que se encuentra junto al proyecto.

Para apreciar mejor este proyecto recomiendo compilarlo y tener el tema Aero corriendo (claro ésto si su sistema operativo es windows vista o posterior) en la siguiente captura pueden apreciar una linda interfaz.

Mis Sitios favoritos

Mis sitios favoritos

…………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………….

Y el tercero se trata de un proyecto para crear los clásicos accesos directos en el explorer de windows, con la diferencia que éste permite poner como icono la  miniatura de la web, el icono generado cuenta con cuatro dimensiones  256×256 (PNG), 48×48, 32×32 y 16×16, los dos últimos son representados por el favicon de la web (si es que lo tiene).

En este proyecto utilicé IShellLink.tlb  para poder crear los accesos directos, ya que fue la mejor opción que encontré para solventar las teclas de acceso rápido.

Nota: los iconos los almacenará en la misma carpeta que el proyecto, si se genera un acceso directo, esta carpeta no debe moverse más para que no se pierda la referencia al icono, por lo que recomiendo, al descomprimir el proyecto elegir una ubicación permanente.

Mar 072013
 

Con la aparición de los nuevos móviles es más frecuente ver imágenes que contienen las coordenadas GPS de donde se tomaron las fotos, esto es aprovechado por algunas redes sociales para sugerir la ubicación de la captura. Si lo desean pueden fijarse desde alguna imágen tomada con el celular, si la tienen almacenada en su PC , dentro de las propiedades (en la pestaña detalles) van a ver las coordenadas, entre otros datos tales como: el tipo de cámara, fecha de captura y demás. Estos datos denominados EXIF o Metadatos, están incrustados en la imágen (como si fuera un archivo de recursos) y es común en los archivos jpg, pero esto no implica que los demás formatos no puedan contener esta información, pueden contener un tipo de archivo XMP  (con la misma estructura que un XML).

A continuación voy a poner un módulo que sirve para leer y grabar coordenadas GPS en imágenes y utiliza GDI Plus, este sólo es compatible con EXIF, no con XMP (el cual leerlo no seria el problema, sino guardarlo). El proyecto de descarga contiene un ejemplo con un mapa (google maps) en cual va interactuando con el código de VB, algo básico pero sirve para mostrar y cambiar las coordenadas.

Editado: 09/03/2013 – Se implemento un cuadro de búsqueda para facilitar, la localización en el mapa, el resultado sera el mas próximo, la función esta dentro del código de vb, pero podría hacerse dentro del webbrowser y listar todos los resultados referentes al criterio de búsqueda (para mas información buscar en la ayuda de las apis de gmaps.)

ImageGPS

Coordenadas GPS en fotos

Nov 052012
 

Otras de menú, ClsCustomMenu es un módulo clase que permite personalizar los items del menú, el otro día alguien preguntó en el foro como podía cambiar la fuente del menú y si bien el HookMenu puede personalizar el menú a gusto,  no tiene la opción de personalizar el ítem, así que hice esta pequeña clase para poder cambiarle algunos aspectos. En lo personal no es de mi agrado modificar la fuente del menú, pero hay casos específicos donde se tiene la necesidad. Traté de hacer algo que pueda satisfacer la necesidad de muchos, pero lo personalizado es personalizado, así que seguramente alguien querrá algo más.
Esta clase permite cambiar el Color de fuente, color de fondo, fuente, alineación, icono, tamaño.
Su funcionamiento es algo parecido al ClsMenuImage, junto a la clase hay cuatro formularios de ejemplo de su uso, cualquier duda pueden preguntar.

Desventajas: Al personalizar el menú, éste pierde el estilo de windows, esto se aprecia más que nada en (Windows Vista y Windows Seven), si se cambia el Caption del item hay que volver a llamar a la función que le aplica el estilo.

Custom Menu.