Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: ‭lipman en 21 Agosto 2007, 14:15 pm



Título: Como detectar que un label cambia de caption
Publicado por: ‭lipman en 21 Agosto 2007, 14:15 pm
No se si será sencillo o no pero llevo dándole vueltas a la cabeza.
Quiero hacer que una variable A cambie.
Un ejemplo, quiero hacer pasar la letra de una canción entera, frase por frase por la variable A, entonces la idea para hacer esto es poner que A es igual a una frase cada 3 segundos por ejemplo.

Es decir que cada tres segundos A tiene que ser igual a una frase diferente, pero no se como hacerlo.

He pensado en poner un timer que cada 3 segundos sume +1 un label y poner:
Código:
if label1.caption = 1 then
a = frase1
end if
if label1.caption = 2 then
a = frase2
end if

Pero además de que ocupa mucho, no puedo poner esa forma porque el número del label podría llegar a sobrepasar los 2.000 y se haría un código enorme, sin hablar del peso del archivo.

Lo que si que podría funcionar es poner que cada vez que el label1 cambie, se cambie la frase, sin embargo no sabría como hacer esto y si tienen alguna otra idea me gustaria oirla


Saludos y Gracias


Título: Re: Como detectar que un label cambia de caption
Publicado por: R41N-W4R3 en 21 Agosto 2007, 14:25 pm


  Pq no pones la cancion en un archivo de texto y la vas poniendo poco a poco con un timer por ejemplo........


Título: Re: Como detectar que un label cambia de caption
Publicado por: ‭lipman en 21 Agosto 2007, 14:28 pm
El problema es que lo de la canción es un ejemplo y en realidad son cerca de 3000 frases diferentes que pondré en un archivo de texto mediante un sendkeys, pero esta parte ya la conozco, lo que no se es cambiar el valor de la variable A cada 3 segundos por una frase diferente cada vez.


Título: Re: Como detectar que un label cambia de caption
Publicado por: R41N-W4R3 en 21 Agosto 2007, 14:40 pm

  Pues como comentabas... pones un timer y lees una linea del archivo cada vez asignandosela al caption que quieres esa linea leida


Título: Re: Como detectar que un label cambia de caption
Publicado por: ‭lipman en 21 Agosto 2007, 15:16 pm
Entre que no te he entendido y creo que tu tampoco a mi  :xD

Lo del label y imer que dije, era solo un ejemplo, pero que no puedo hacer.

Ese ejemplo era en poner el interval del timer en 1000, y que cada segundo, añada 1 al label, de manera que el label funcione como un cuentasegundos, y de esta forma poner:

if label1.caption = 1 then
a = frase1
end if
if label1.caption = 2 then
a = frase2
end if

Pero digo que no puedo poner estos números porque si no tengo que estar cambiándolos todo el rato y no puedo usar un bucle porque tambien tardaría tiempo en ir asignando y todo eso. De manera que de usar esta opcion que digo aquí, no puedo. Lo que yo pienso que es mejor es detectar cuando un label cambia y cuando cambie la primera vez hacerlo igual a una frase, y cuando cambie por segunda vez a una segunda frase, y así


Título: Re: Como detectar que un label cambia de caption
Publicado por: APOKLIPTICO en 21 Agosto 2007, 19:23 pm
Lo que podes hacer es bindear el texto al final del archivo exe y que este mismo lo vaya leyendo, de esta manera, no tenes que escribir todo el texto en el exe. En cuanto al contador, para que usar un label? si podes usar una variable...
Despues lo que podes hacer es dividir cada una de las frases que bindeaste en el exe con una "/" por ejemplo. De esta manera, sabrías cuando terminar de leer.
Saludos


Título: Re: Como detectar que un label cambia de caption
Publicado por: ‭lipman en 22 Agosto 2007, 16:35 pm
Gracias al final lo pude solucionar de la manera que dije que no podía.