Como detectar que un label cambia de caption

Iniciado por ‭lipman, 21 Agosto 2007, 14:15 PM

0 Miembros y 1 Visitante están viendo este tema.

‭lipman

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:

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

R41N-W4R3



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

‭lipman

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.

R41N-W4R3


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

‭lipman

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í

APOKLIPTICO

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
AMD Phenom II 1075T X6 @ 290 Mhz x 11 (HT 2036 Mhz NB Link 2616 Mhz) 1.23 Vcore
ASUS M4A89GTD-PRO/USB3
2x2gb G-Skill RipjawsX DDR3 1600 Mhz CL7 (7-8-7-24-25-1T)
Seagate 500 Gb
XFX HD4850 512Mb GDDR3. 650 Mhz/995 Mhz 1.1 Tflops.

‭lipman

Gracias al final lo pude solucionar de la manera que dije que no podía.