PDA

Ver la Versión Completa : Timer


ojimenezg2000
27-04-2006, 00:24:23
Hola a todos.Estoy empezando con esto del Delphi y os agradeceria si alguien me echa una mano.Quiero que 2 imagenes se me vayan cambiando o intercambiando cada 2 segundos por ejemplo al dar un boton.Me estoy volviendo loco ya que no doi con esto.¿Alguien me puede ayudar por favor? Gracias

seoane
27-04-2006, 00:32:54
No dices como muestras las imagenes, asi que voy a suponer que es en un TImage, de echo supongamos que cada imagen esta cargada en un TImage. Pues vien solo hay que jugar con la propiedad visible de ambas imagenes.

Por ejemplo dentro del evento de un timer podemos poner este codigo:

Image1.Visible:= not Image1.Visible;
Image2.Visible:= not Image1.Visible;


Las imagenes se alternaran, mientras una este visible la otra permanecera oculta.

egostar
27-04-2006, 02:51:07
No dices como muestras las imagenes, asi que voy a suponer que es en un TImage, de echo supongamos que cada imagen esta cargada en un TImage. Pues vien solo hay que jugar con la propiedad visible de ambas imagenes.

Por ejemplo dentro del evento de un timer podemos poner este codigo:

Código Delphi [-] (http://www.clubdelphi.com/foros/#)
Image1.Visible:= not Image1.Visible;
Image2.Visible:= not Image1.Visible;


Las imagenes se alternaran, mientras una este visible la otra permanecera oculta.

Yo nadamas agregaria que se debe inicializar Image1.Visible a True y Image2.Visible a False.

Nota: No se porque no esta respetando el código Delphi. ya que en lugar colocar el código dentro de un marco aparece "Código Delphi [-] (http://www.clubdelphi.com/foros/#)".

Saludos.

seoane
27-04-2006, 03:07:51
;) Si revisas bien mi codigo no hace falta inicializar nada, el propio codigo fuerza a que una se muestre y la otra se oculte. Da igual como esten al principio.

egostar
27-04-2006, 03:12:44
;) Si revisas bien mi codigo no hace falta inicializar nada, el propio codigo fuerza a que una se muestre y la otra se oculte. Da igual como esten al principio.

Cierto, no vi que en la segunda linea tenias el mismo Image1, perdon, creo que deberiamos agregar a la guia de estilos la siguiente frase

Lee bien las respuestas y no permitas que tus manos escriban estupideces.

Saludos.

ojimenezg2000
27-04-2006, 08:47:05
Gracias por vuestra contestacion.Las imagenes estan cada una en un Timage(perdon por no haberlo especificado).Pero mi pregunta es como hacer que al dar a un boton de tipo TButtom se me vayan cambiando(¿donde meto el codigo del timer,en el propio timer o en el boton o donde???)
1000 gracias a todos

trashky
27-04-2006, 10:46:55
el codigo en el timer,luego pones el timer.enabled a false y luego en el buttonClick pones el timer.enabled a true

ojimenezg2000
27-04-2006, 11:36:49
Que pongo, esto en el timer con timer.enabled a false

Image1.Visible:= not Image1.Visible;
Image2.Visible:= not Image1.Visible;

y luego en el button en el evento click pongo el timer.enabled a true???

Creo que es lo que he entendido.

De todos modos,gracias nuevamente por vuestra ayuda

trashky
27-04-2006, 11:43:19
Eso es, asi deberia funcionarte

ojimenezg2000
27-04-2006, 14:38:38
Image1.Visible:= not Image1.Visible;
Image2.Visible:= not Image1.Visible;

una cosilla, este codigo de arriba no seria asi???

Image1.Visible:= not Image2.Visible;
Image2.Visible:= not Image1.Visible;

Gracias

seoane
27-04-2006, 14:56:02
:D Y dale, el codigo esta bien como esta. Hombre, en 100 lineas de codigo puede que me equivoque pero en 2 lineas ya es mas dificil.

Ahora vamos con lo que decias tu:

Image1.Visible:= not Image2.Visible;
Image2.Visible:= not Image1.Visible;

// Es igual a
Image2.Visiible:= not ( not Image2.Visible);

// Y si no recuerdo mal mi algebra de bool la doble negacion se anula, quedando:
Image2.Visible:= Image2.Visible;

// Lo cual no parece ser muy util


No te lo tomes a mal, si estas aprendiendo es normal que preguntes cosas como esta ;)