Registrado: Diciembre 2015
Mensajes: 7
Edad: 59 Ubicación:
Panel Movil Luminoso De Leds
Hola buenas este es mi primer post en gambas, y aunque esto es una consulta creo que pueda ser interesante, para la comunidad de gambas por que lo que estoy intentando hacer es incrustar un panel luminoso movil de leds dentro del formulario de Gambas.
El problema es que no veo la opcion de que que se puedan cargar imagenes svg en el formulario de Gambas3 .
Yo vengo de una distribucion que es Puppy LInux y con un lenguaje de Programacion llamado Gtkdialog es posible.
Aqui dejo el enlace del video para que vean como funciona:
Bueno el programa de instalacion esta en el paquete letrero_luminoso.pet que esta preparado para distribucion puppy, pero basicamente son 3 scripts que lo que hacen es generar la imagen SVG del panel que se refresca continuamente para hacer el efecto de ir corriendo el mensaje.
Estos 3 script hay que colocarlos dentro de /usr/bin
Los voy a subir en el proximo post.
Lo que pasa es que los otros script como panel_corriendo , hora_svg, fecha_svg y horario_trenes estan preparados para correrse mediante Gtkdialog.
No obstante tengo la solucion que es convertir las imagenes de svg a png.
Pero me parece menos elegante.... Bueno un saludo y encantado de estar en este foro
Gracias a didier18 por mostrarmelo y crear el paquete de gambas3 para Puppy.
La idea es cargar la imagen y refrescarla cada determinado tiempo ...
Hace falta el objeto " Timer ".
Además si tú usarás el objeto DrawingArea, podrás utilizar el metodo .Refresh() .
Con PictureBox es suficiente que esté cargada de nuevo la nueva imagen svg.
última edición por vuott el Domingo, 24 Enero 2016, 20:04; editado 2 veces
Registrado: Diciembre 2015
Mensajes: 7
Edad: 59 Ubicación:
Re: Panel Movil Luminoso De Leds
Bueno vuott he conseguido lo primero que es poner la fecha y la hora , pero no se me actualiza la hora por lo que tu dices , no consigo poner el Refresh correctamente en el timer.
Mira para que funcione este proyecto es necesario meter los script que voy a colocar dentro de /usr/bin
Estos script como decia hacen que se cree una imagen svg en el directorio temporal creado para ello.
/tmp/pane/num.svg
Esta imagen es la que se cargaria en el Drawing Area.
' Incrementa esta variable para identificar el siguiente archivo imagen .svg contenido en la ruta elegida: Inc i
' Si el valor de la variable "i" es = a la cantidad -1 de los archivos imagen .svg contenidos en la nuestra ruta, para el Timer: If i =Dir(ruta, Null, gb.File).MaxThen tempus.Stop
' Carga el nombre del archivo imagen sgv en la variable "s":
s =Dir(ruta, Null, gb.File)[i]
' Carga el nuevo archivo imagen svg:
svg = SvgImage.Load(ruta &/ s)
Registrado: Junio 2014
Mensajes: 84
Edad: 66 Ubicación:
Re: Panel Movil Luminoso De Leds
¡Hola
@mister_electronico ¿Tiene interés en transformar el procedimiento de la escritura?
Esto mejorará el tiempo de procesamiento, economizar los procesos y ser más legible para todos los lectores ...
$ Pathdef es una variable pública, será en cualquier lugar accesible en el código. Se establece la ruta del temporal en la user.home / el nombre de la aplicación / "/ tmp / panel de"
Puse el comentario (con mi mala traducción en el código ).
PublicSub CreaSvg() Dim i, num AsInteger If $Pathdef NotExist($Pathdef)ThenMkdir $Pathdef 'Si la ruta no existe, se crea Select $bEq 'de acuerdo con el valor de $ BEQ (2 caso posible, es una variable booleana) CaseTrue'si $ EQB es cierto que llamamos Rotary procedimiento ()
Rotar() CaseFalse'si es falsa $ EQB llamar al procedimiento Crea Puntos ()
CreaPuntos() EndSelect
i =1
num =568 'etc... End
¿Tiene interés en transformar el procedimiento de la escritura?
Esto mejorará el tiempo de procesamiento, economizar los procesos y ser más legible para todos los lectores ...
Óptima y interesante sugerencia, didier18 !
Puedes tú desarrollar un po' más tu ejemplo? Un codigo breve, pero que funciones.
Gracias.
Saludos.
última edición por vuott el Martes, 26 Enero 2016, 17:47; editado 1 vez
Registrado: Junio 2014
Mensajes: 84
Edad: 66 Ubicación:
Re: Panel Movil Luminoso De Leds
¡Hola
@Vuott
Gambas3 es un lenguaje interpretado.
El 'script' también es (de alguna manera) un lenguaje interpretado.
Propuse simplemente mister_electronico de 'portero' (no sé si el término está bien traducido) o transformar 'script' => procedimiento.
Por ejemplo :
if [ $variable -eq "1" ]; then rotar ; fi
no es tan remota que:
if $eq = 1 then Rotar()
incluso ahorra fi, que parece corresponder a EndIf porque si la condición es verdadera, se va directamente al procedimiento Rotar () haciendo tantos ciclo de reloj ganado (por supuesto estos son sólo unos pocos μsecondes y máquinas rápidas hoy ya no demasiado ...)
Por esta razón, le di los procedimientos de ejemplo. Ellos no son integrales y no sean un fiel reflejo de lo que el 'script'.
Y sobre todo mi conocimiento 'script' = 0 o cerca
Por eso he dicho que sólo era una propuesta que todos juntos en un solo programa ...
Fecha y hora actual: Martes, 21 May 2024, 16:50 • Todas las horas son UTC + 1 Hora
Usuarios navegando en este tema: 0 registrados, 0 ocultos y 0 invitados Usuarios registrados conectados: Ninguno
Lista de permisos
Lista de permisos
No puede crear mensajes No puede responder temas No puede editar sus mensajes No puede borrar sus mensajes No puede votar en encuestas No puede adjuntar archivos Puede descargar archivos No puede publicar eventos en el calendario