Oct 262023
 

Hola hay un problema con la descarga ya que el hosting cambio a SSL y por falta de experiencia cuando inicie en el blog utilice la url completa y luego copie y pegue del post anterior, asi que los links que comienzan con http:// no funcionan bajo https://, por lo tanto hasta que no los cambie manualmente no funcionaran.

 Posted by at 21:04
Feb 092023
 

Es un control de usuario para generar una galería o catálogo de productos donde podemos interactuar con imágenes, textos, links y controles. Para utilizar este control requiere conocimiento en dibujado de imágenes y texto, el control sólo ofrece una superficie donde se puede graficar, no es él quien lo hace, esto lo plantee de esta forma para que pueda ser totalmente personalizable, es necesario que se entienda el concepto antes de ponerlo en marcha, para los más experimentados es algo similar al OwnerDraw de los Listview.

El control ofrece tres tipos de vista:

Vista Galería: es donde se muestra una cuadrilla clásica de ítems.
Vista Deslizante: algo muy similar como podemos ver en Netflix o Prime video, donde los items se desplazan a la derecha o izquierda.
Vista de Lista: donde los ítems se acomodan uno debajo del otro.

He dejado algunos módulos donde facilitan cargas de imágenes y renderizado, como así con el texto y algunos ejemplos de simular controles sobre la lista.

No quedé muy conforme con su rendimiento, cuando el control es muy grande o el DPI es muy alto el control es lento en dibujarse. Hubiera sido mejor utilizar DirectDraw, pero mis conocimientos son muy limitados, así que opté por hacerlo con GDI y GDI+.

Como yapa hay un ocx que es lo último en lo que estuve trabajando, una suite con algunos de los controles aquí publicados, espero poder darme un tiempo en publicarlo con ejemplos.

ucGallery1.png
ucGallery2.png
ucGallery3.png
ucGallery4.png

Atención: Te recomiendo que no usar esta versión, mira esta actualización la cual esta mucho mas optimizada y es la que voy a mantener actualizada.

 Posted by at 0:23
Nov 102022
 

Este es un control del amigo Javier (más conocido en el ambiente como Eduardo), quien ha compartido con nosotros este hermoso control Tab, con muchas opciones personalizables, les dejo a continuación su descripción:

Transiciones suaves de pestañas.
Iconos de fuentes (gracias Shagratt ).
Pestaña arrastrando a otra posición (ver propiedad CanReorderTabs).
Modo de interfaz de documento con pestañas (consulte la propiedad TDIMode).

Dado que ahora tiene muchas propiedades, es difícil recordar cómo configurar algo específico que nos guste, por lo que presenta la función de «Temas». Los temas son preajustes de propiedades que definen principalmente la apariencia, pero también algo de comportamiento.
Se pueden almacenar como un archivo, opcionalmente en el registro y en las propiedades del control. Ofrece varios temas de forma predeterminada, pero puede agregar los suyos propios.
Hay una propiedad de Temas que expone la colección de Temas y una propiedad de Tema donde puede establecer uno por su nombre.

Documentación en línea .

Descargar desde GitHub

Descargar desde GitHub

May 292022
 

Al parecer había un problema en el registro del foro, creo que esto viene de un año atrás, estaba fallando el envió del email de comprobación. Por el momento no pude solucionarlo, pero eliminé dicho requerimiento, así que los que no pudieron registrarse ya pueden hacerlo.

 Posted by at 21:18
Ene 262022
 

Este Usercontrol era parte de un trabajo que me habían solicitado y no se pudo concretar, así que quizás a ti pueda serte de utilidad, sólo que esta vez no pondré el código de fuente gratis, lo estaré vendiendo a u$S 15 (dólares), quienes estén interesados pueden enviarme un correo a leandroascierto [@] hotmail.com o mediante el formulario de contacto para acordar el pago, de esa forma estaré enviando el código de fuente del Usercontrol, dejo un demo (.exe) para quienes quieran ver más detalles.

Su funcionamiento es muy similar al de un CheckBox y jugando con sus propiedades se puede lograr casi cualquier aspecto tal como se aprecia en la imagen, también se pueden utilizar algunos iconos de fuente, en este caso en el ejemplo usé algunos iconos de la fuente «Segoe MDL2 Assets» disponible en Windows10.

ucSwitch.png
 Posted by at 22:25
May 262021
 

Dos juegos realizados en Excel. El primero es juego que lo vi realizado con tablitas de madera y me dio ganas de hacerlo en Excel, la verdad si bien me dio trabajo programarlo es más difícil lograr el objetivo del juego, en YouTube hay un par de tutoriales pero eso seria como ir derecho a la trampa, así que les dejo este desafío para pasar el rato (yo no logré resolverlo)

El objetivo del juego es bajar la ficha naranja en la parte inferior tal como muestra el cuadro de solución, las piezas se mueven con el mouse.

TRABADO2.png

El segundo lo copie de un juego del móvil, no esta completo, tiene solo algunos niveles, pero fue mas que nada para sacarme las ganas de hacerlo.

En este el objetivo es armar el bloque superior con las partes inferiores, un rompecabezas por así decirlo.

Triangle.png
May 082021
 

Otro proyecto del baúl de los recuerdos, con muchas actualizaciones. Se trata de un módulo para obtener las contraseñas guardadas por los navegadores web, si bien hay un rejunte de código de diferentes autores el que más puedo citar es «Cobein» quien fue el creador de la base de este módulo. Ahora bien esto fue mucho tiempo atrás y muchos métodos de encriptación han cambiado desde entonces, por lo que hubo que actualizar gran parte para que siga funcionando. Tiene soporte para los 5 navegadores mas utilizados en el mercado:

  • Google Crome
  • Microsoft Edge
  • Firefox
  • Opera
  • Internet Explorer

Además también puede obtener el historial de navegación, ahora si preguntan que utilidad tiene esto, pues puede ser útil para exportar contraseñas a un pendrive, para alguna auditoria de navegación mediante su historial (naa mentira es para hacking), yo lo tomo como un juego a encontrar el como descifrar el acertijo.

En cuanto a lo técnico, utiliza sqlite3.dll. Todos menos Internet Explorer almacenan sus contraseñas en esas bases de datos, Firefox con el paso de los tiempos migró a JSON, un dato curioso que al menos a mi me sorprendió tanto Chrome, Ms Edge y Opera utilizan Blink por lo que me vale decir son los tres iguales, todos almacenan sus contraseñas de la misma forma y con la misma encriptación, misma estructura, mismo historial, sólo cambian las ubicaciones y nombres de las BD pero es la misma metodología.

La mayor bronca que me quedó es que no pude encontrar la forma posta de descifrar cómo lo hace Firefox realmente, el método que se utilizó en este caso es haciendo una llamada a una dll del mismo FF pero el problema es que en sistemas de x64 bits no funciona debido a que nuestro querido VB6 es de x32, pero bien hay mucha información de cómo descifrar mediante los métodos de encriptación que utiliza, sólo que ya no me da el cuero para tanto, si les interesa aquí está toda la información.

Para Internet Explorer puse un módulo aparte y el módulo del historial ni lo incluí en el proyecto ya que hoy en día el historial se borra ni bien se cierran IE y bien como ya es de conocimiento público este ha pasado a mejor vida.

Agradecimiento especial a wqweto

Password Revealer1.png Password Revealer2.png
Mar 222021
 

Este es el reproductor musical que había mencionando en el post anterior
donde se mostraba cómo implementar el diseño Neomorfismo (Neumorphism Design) en vb6, en este proyecto se aplicó un ejemplo funcional del mismo. El diseño en si esta copiado de esta imágen.

Para el motor de reproducción se utilizó bass.dll y uno de sus complementos bass_fx.dll muy recomendable echarle una mirada a toda esta suite de librerías que cuentan con ejemplos para vb6.

Si bien al principio iba a hacer algo sencillo después se me dió por hacer algo bien completo donde se implementaron algunas características como: leer desde una lista de reproducción, líneas de comando, arrastrar y soltar, editor de etiquetas, ecualizador, display animado, vista previa en la barra de tareas, manejo con teclado y bueno seguramente muchas muchas cosas me estarán faltando, lo cual algunas podré agregar más adelante si me las sugieren.

En cuanto a la lista de reproducción no recomiendo cargar más de 300 canciones ya que la forma en que armé el control de lista es muy limitado porque utiliza controles en vez de métodos gráficos, pero bien creo que con 300 canciones es un número respetable.

La aplicación es 100% portable con soporte a Unicode

neumoplayer1.png neumoplayer2.png neumoplayer3.png neumoplayer4.png
Descargar Proyecto
Descargar Binario + un Mp3 de mi banda «Viento Rojo»
May 042020
 

En este caso se trata de otra Api de Google con la que podes hacer gráficos interactivos de distintos tipos, cuando digo interactivos sólo me refiero a que tienen un pequeño efecto al pasar el mouse sobre los distintos trazos del gráfico. Si bien esto está pensado más para páginas web, puede sernos útil en casos puntuales, en ese punto cada quien decide si le es para suyo. El usercontrol internamente crea un WebBrowser para invocar a esta Api. Cuenta con soporte para DPI. De más está decir que requiere internet para cargar el gráfico; también aclaro que como yo lo propuse no está pensado para cambiar los datos en tiempo real, es decir se carga el gráfico con los datos y no se puede modificar sus rangos, para ello es necesario volverlo a cargar todo. Les recomiendo descargarlo y echarle un vistazo a cómo funciona.

Requerimientos:
– Internet Explorer 11
– Conosimiento del API de Google Charts

GoogleCharts1.png
GoogleCharts2.png
GoogleCharts3.png

 Posted by at 0:03
Mar 172020
 

OBSOLETO

Hola, se trata de un módulo clase que sirve para automatizar whatsApp por medio del Navegador MS Edge + Javascript y VB6 a travez de web.whatsapp.com , no sé si es el caso pero creo que se puede llamar web scraping, este tipo de técnica no suelen durar mucho ya que si WhatsApp cambia parte del contenido html de su web este módulo puede quedar inservible, es para disfrutarlo mientras dure, luego si hay cambios tendrás que buscar la manera de actualizarlo.

Esto puede ser muy útil si se sabe aprovechar, podemos leer y
enviar mensajes de texto, obtener lista de contactos, números telefónicos, foto de perfil y otras.

Es importante aclarar que este módulo requiere Windows 10 y MS Edge (html version) aclaro de html version ya que en estos días Microsoft ha actualizado MS Edge a una versión que utiliza el motor de Chromium, y este no se puede automatizar, la versión clásica de MS Edge utilizaba el motor de Internet Explorer, por eso es que se puede automatizar, el motivo de utilizar Edge y no Internet Explorer es porque éste último no es aceptado por Web.Whatsapp.com, la versión de Chromium aún no es una actualizacion global de windows pero seguramente con el tiempo sea global, no se preocupen se puede volver a la versión html , siguiendo estos pasos como ven pueden tener ambas versiones si así lo desean. ACLARO NO REQUIERE SELENIUM

En la descarga se incluye el módulo y un pequeño ejemplo de uso (recalco es sólo un ejemplo no tiene utilidad alguna), a modo de comentario he realizado un aplicativo utilizando este módulo que sirve para solicitar turnos mediante whatsapp, aún no sé si lo voy a publicar, este funciona mediantes comandos de palabras, algo así como una inteligencia artificial pero de muy muy bajo nivel 🙂 en donde el cliente solicita un turno, la aplicación verifica si está disponible, lo almacena en una base de datos y le envía un mensaje que su turno ha sido reservado.

Para el ejemplo he utilizado un OCX, deben registrarlo (con permisos de administrador); utilice el ocx porque como muchos nombres y palabras utilizan caracteres unicodes lo que incluye los Emojis, si utilizan los controles comunes de vb estos se verían mal e inclusive no funcionaria bien la aplicación.

OBSOLETO

WhatsApp.png

 Posted by at 18:37