Página 1 de 1

Salvapantallas: ¡ORB!

Publicado: 09 Mar 2010, 14:37
por Ximorro
¡ORB! es ¡Otro Reloj Binario!. :smt003

Post inicial 9/03/2010:
(Este el post original con la versión inicial que aún no es salvapantallas. Lo dejo porque aquí está toda la explicación del programa.
Para el formato SCR seguid leyendo más abajo en las actualizaciones)


La idea surge del comentario que se hizo de hacer un salvapantallas del reloj binario que hizo joaquin aquí:
http://www.emesn.com/autoitforum/viewto ... f=4&t=1858

y de la sugerencia de también hacer un salvapantallas del reloj de hora tradicional catalana que posteé aquÍ:
http://www.emesn.com/autoitforum/viewto ... 974&p=7352

Como los dos son relojes "indescifrables" los he juntado. Así que es binario dos veces: por el reloj de bits... y porque son dos relojes ;-)
CapturaOrb.png
CapturaOrb.png (163.4 KiB) Visto 5178 veces
Por ahora no es un salvapantallas, sino que se ejecuta directamente. Pero como la parte funcional ya está hecha, o casi, os la pongo para que veáis qué pinta tiene.

No he usado el reloj de joaquin, he hecho el código desde cero, soy de los que gustan de experimentar...

El salvapantallas será algo configurable, por ahora se cambian los valores a mano en la sección esa que marco en los comentarios como CONFIGURACIÓN.

Ahora mismo se pueden cambiar colores de fondo y texto de los bits, fuente y símbolos, para el formulario color de fondo y si hay transparencia y cuánta.
También se puede activar una etiqueta con la hora en formato texto, los numeritos, hora tradicional catalana, o ambos a la vez (o desactivarlo del todo).

Por defecto he dejado transparencia (me encanta) y etiqueta de texto con sólo hora catalana, si pongo los números se ve muy clara la hora ;-)

En la configuración he dejado una comentada para los controles de bits, comentad la que hay y descomentáis esa para ver otro ejemplo.
Eso sí, lo último que puse es lo del degradado al encender y apagar los bits, eso sólo funciona con colores azules. Para hacerlo más general habría que descomponer las tres partes del RGB y el código será larguísmo, (habría 12 líneas de esas $cfo1 += $cfo_paso, por ejemplo) igual las dejo azules...

Se ejecutará a pantalla completa, esas posibilidades de $WIDTH y $HEIGHT que hay al principio son para mis pruebas a diferentes resoluciones.

Todo se recoloca y escala según la resolución que se tenga, y si se pone etiqueta de texto o no.

Por ahora se sale con ESC.

No seáis muy críticos con el código que es un programa en proceso de elaboración, pueden que cambien cosas.
¡ORB!.zip
Futuro salvapantallas Reloj, versión desktop
(3.93 KiB) Descargado 285 veces
Ahora a convertirlo en salvapantallas...


ACTUALIZACIÓN 17/03/2010:
Ya tengo una versión del salvapantallas bastante avanzada. Falta la configuración (hacer el GUI y guardar/tomar config de un INI), por ahora si se intenta configurar sale un mensaje diciendo que está en obras ;-)

Me parece que en XP y Vista se lanza el salvapantallas de manera diferente. Al poner transparencia en Vista se activa con lo que tienes en el escritorio (que es lo que quiero, tal como se ve en el pantallazo que he puesto arriba), en XP el escritorio está limpio y sólo se ve el fondo del mismo...

Adjunto un SCR que mejor se copia en "c:\windows\System32", para que esté donde los demás. Podéis ver que al seleccionarlo hasta hace previo en la mini ventanita que pone Windows (¡ya podía ser más grande!).
Cuando no recibe parámetros lanza el salvapantallas (como si ejecutaras un exe). Esto choca con un bug de Windows: resulta que si haces click con botón derecho sobre el SCR, salen las opciones Test, Configure e Install.
Se supone que esto funciona a base de mandar parámetros al ejecutable, para Test (que es ejecución normal) Windows manda "/s", para configuración manda "/c", y para el previo manda un "/p". Pues bien, desde la ventana selector de salvapantallas sí me manda un "/c" cuando le das al botón de "Configuración", pero con el menú contextual ¡no manda nada!
Así que para que funcione eso tendría que hacer que al ejecutar el SCR a mano saliera la configuración en vez de ejecutar el salvapantallas, y no mola...

Adjunto el SCR por si lo queréis usar como salvapantallas, por ahora no pongo el código pues aún le falta un buen trozo por lo de la configuración. Haré una primera versión para configurar transparencia y modo del reloj de texto (desactivar, hora catalana, hora numérica, o los dos a la vez). Y esa será la versión 1.0, cuyo código colgaré íntegro. Luego veremos si lo de los colores lo dejo fijo, hago temas o yo qué sé ;-)

(Adjunto eliminado, ver siguiente actualización)

ACTUALIZACIÓN 07/04/2010:
¡Primera versión final!
Aquí os adjunto el SCR y el código fuente completo del salvapantallas. La estructura del código ha cambiado bastante respecto a la versión no salvapantallas.
Ya tiene diálogo de configuración, que se abre desde la ventana de seleccionar salvapantallas de Windows.
La configuración se guarda en un Archivo INI junto al scr. Lo preferí así para que sea fácil desinstalarlo (borrar los dos archivos, que están juntitos), la alternativa es guardarlo en el registro y para eso habría que hacer un desinstalador...

El SCR es altamente recomendable guardarlo en windows\system32, que es donde están los demás, así se selecciona fácilmente en el diálogo de Windows.

El código os puede ser útil como esquema para montar vuestros salvapantallas, encontré una UDF para hacerlo pero la vi un poco rollo y me lo hice a mi manera, aunque en aquélla entrada, o sea, aquí:
http://www.autoitscript.com/forum/index ... saver&st=0
descubrí cómo solucionar el problema de cerrar el proceso cuando se selecciona un salvapantallas diferente en el combo de Windows.

NOTA 8/4/2010: he creado una plantilla a partir de este salvapantallas:
http://www.emesn.com/autoitforum/viewto ... f=4&t=2074

Bugfix 8/4/2010:
- Referencia directa a un icono en "C:\windows\System32\shell32.dll" cambiado a @WindowsDir & "\System32\shell32.dll" para que funcione en todas las instalaciones de Windows
- Eliminado Opt("GUIOnEventMode", 1) innecesario

Espero que os guste:
¡ORB!_2010-04-08.rar
(260.89 KiB) Descargado 254 veces

Re: Futuro salvapantallas: ¡ORB!

Publicado: 09 Mar 2010, 20:27
por Chefito
Jejejeje, no está mal.
Ximorro escribió:Eso sí, lo último que puse es lo del degradado al encender y apagar los bits, eso sólo funciona con colores azules. Para hacerlo más general habría que descomponer las tres partes del RGB y el código será larguísmo, (habría 12 líneas de esas $cfo1 += $cfo_paso, por ejemplo) igual las dejo azules...
Bueno bueno, hace un tiempo hice dos funciones para hacer dos degradados un tanto diferentes del habitual :smt003 . Las hice a partir de otra función que realizaba un degradado normal entre dos colores. Estas funciones generan líneas de colores para crear el degradado. Las fórmulas para realizar estos degradados están dentro, que son las que te interesan :smt002 .
Te dejo el link: http://www.emesn.com/autoitforum/viewto ... f=4&t=1120

Espero que te sirva.

Saludos.

Re: Futuro salvapantallas: ¡ORB!

Publicado: 10 Mar 2010, 09:23
por Ximorro
Sí básicamente hace lo que yo, y lo que pensaba hacer al descomponer los colores. Pero hay una buena idea ahí para juntarlos haciendo un texto hexadecimal con un StringFormat, muy interesante.
También me ha llevado a ver las funciones para descomponer colores en color.au3.

El problema que tengo es que no paso de un color a otro, sino que son 4 colores pasando a otros 4, imagínate el follón. Supongo que lo implementaré, supongo que no cargará mucho la CPU. Pero como es un poco rollo igual me pongo primero con la historia de que vaya como salvapantallas y más adelante haré eso y me pensará bien qué cosas serán configurables por el usuario.

Lo del salvapantallas en principio no es muy comlicado, es un exe con extensión scr, que admite algunos parámetros para ser ejecutado normalmente, como ventanita previa en el selector de Windows, o para configurarlo. El problema principal por lo que veo en el foro inglés es cerrar el proceso cuando está en el previo, cuando cambias de salvapantallas el proceso se queda colgado del propio selector y hay que detectar que no está activo para cerrarlo... Bueno, parece que ya lo han solucionado por allí a base de ver quién es el proceso padre del nuestro y cerrando el proceso cuando nos cierran el GUI, o algo así, ya me lo miro mejor.

Nota: he cambiado la pantalla de ejemplo en el post, así me gusta más ;-)

Re: Futuro salvapantallas: ¡ORB!

Publicado: 10 Mar 2010, 13:37
por Chefito
Ximorro escribió:El problema que tengo es que no paso de un color a otro, sino que son 4 colores pasando a otros 4, imagínate el follón. Supongo que lo implementaré, supongo que no cargará mucho la CPU.
No creo que eso de los 4 colores sea ningún problema :smt001 . Adaptas la función de pasar de un color a otro y la llamas las veces que quieras.
Si quieres que pase de un color a otro y luego de ese último color a otro nuevo....etc ..... etc, es llamar a la función primero una vez, cuando acabe, llamarla de nuevo otra vez siendo el parámetro del primer color el último de la función anterior, y el parámetro del segundo color el color nuevo.....y así todas las veces que quieras. Esta forma es por si lo quieres hacer seguidas las 4 transiciones.
Supongo que te referirás a algo así cuando dices lo de 4 colores pasando a otros 4.

Saludos.

Re: Futuro salvapantallas: ¡ORB!

Publicado: 11 Mar 2010, 06:11
por XPyro
Muy bueno Ximorro, felicidades por este Script, lo pongo de salvapantallas :smt033

Re: Futuro salvapantallas: ¡ORB!

Publicado: 11 Mar 2010, 12:41
por Ximorro
No Chefito, no es tan fácil.
No se trata de que un color vaya pasando sucesivamente de uno a otro 3 veces, sino que 4 colores independientes vayan pasando a la vez cada uno a otro color diferente.

Es decir, cuando cambia un segundo, las etiquetas que se apagan cambian el color de fondo de encendido a apagado, las que se encienden al revés. Además los colores de los textos también cambian. Pero todo a la vez, no va uno después de otro.

Hay que meterlo todo en el mismo código, no se puede llamar varias veces consecutivas.
Es más tedioso que otra cosa, es lo mismo que está pero descomponiendo los 4 colores en los tres componentes y haciéndolo para todos a la vez...

Ya lo haré, pero por ahora empezaré a mirar lo del salvapantallas y eso lo dejaré para después. De todas maneras esta semana no creo que vuelva a tocarlo.


¡Gracias XPyro! Aunque aún no es un salvapantallas como toca, quiero que se integre en Windows como toca, saliendo en la ventanita de previo, con su pantalla de configuración, etc...
Esa es la segunda parte.

Re: Futuro salvapantallas: ¡ORB!

Publicado: 15 Mar 2010, 14:56
por joaquin
@ximorro:
Ostres, xiquet!, amb el rellotge en binari i el text en català, ara si que queda tot clar!! :smt005
Enhorabuena por la originalidad, a ver si conseguimos que sea un .scr....
Saludos!!

Re: Futuro salvapantallas: ¡ORB!

Publicado: 16 Mar 2010, 09:04
por Ximorro
¡Dalo por hecho!
En realidad lo tengo bastante avanzado, principalmente tengo que montar la parte de la configuración, pero por lo demás va viento en popa.

Qui no entenga el rellotge sempre pot activar els numerets, però no mola. ;-)

Re: Futuro salvapantallas: ¡ORB!

Publicado: 17 Mar 2010, 12:53
por Ximorro
Primera versión del salvapantallas en verdadero formato SCR. Más detalles en el post inicial.

Re: Salvapantallas: ¡ORB!

Publicado: 07 Abr 2010, 08:58
por Ximorro
Primera versión final, con diálogo de configuración para algunas cosillas:
ConfigCap.png
ConfigCap.png (9.06 KiB) Visto 5083 veces
Detalles y descargas en la entrada principal.

Re: Salvapantallas: ¡ORB!

Publicado: 08 Abr 2010, 08:04
por Ximorro
He arreglado dos cositas, más que nada lo publico por la primera, podría desaparecer el icono en algunos ordenadores, descarga en la entrada principal.

Bugfix 8/4/2010:
- Referencia directa a un icono en "C:\windows\System32\shell32.dll" cambiado a @WindowsDir & "\System32\shell32.dll" para que funcione en todas las instalaciones de Windows
- Eliminado Opt("GUIOnEventMode", 1) innecesario

Perdonad las molestias.