Ir al contenido



Lanzando un cohete (countdow)


  • Por favor identifícate para responder
57 respuestas en este tema

#1 Guest_Jose Fco_*

Guest_Jose Fco_*
  • Visitante

Escrito 30 noviembre 2008 - 06:21

Pues eso amigos lanzaremos un cohete a la luna y de paso le damos un vistazo a un ejemplo con dos timer.

Imagen Enviada
Este es el countdow:
Imagen Enviada
Y aqui sale para la luna:
Imagen Enviada

Esto es parte del codigo, mañana lo termino y lo pongo todo junto con el fuente.


delphi
  1. uses
  2.   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  3.   Dialogs, ExtCtrls, jpeg, StdCtrls, Buttons, ComCtrls;
  4.  
  5. type
  6.   TForm1 = class(TForm)
  7.     Image1: TImage;
  8.     Rocket: TImage;
  9.     FRocket: TImage;
  10.     BExit: TBitBtn;
  11.     BStart: TBitBtn;
  12.     Timer1: TTimer;
  13.     Timer2: TTimer;
  14.     TrackBar1: TTrackBar;
  15.     CountDow: TPanel;
  16.     Label1: TLabel;
  17.     procedure BExitClick(Sender: TObject);
  18.     procedure BStartClick(Sender: TObject);
  19.     procedure Timer1Timer(Sender: TObject);
  20.   private
  21.     { Private declarations }
  22.   public
  23.     { Public declarations }
  24.   end;
  25.  
  26. var
  27.   Form1: TForm1;
  28.  
  29. implementation
  30.  
  31. {$R *.dfm}
  32.  
  33. procedure TForm1.BExitClick(Sender: TObject);
  34. begin
  35. Close;
  36. end;
  37.  
  38. procedure TForm1.BStartClick(Sender: TObject);
  39. begin
  40. Timer1.Enabled := True;
  41. end;
  42.  
  43. procedure TForm1.Timer1Timer(Sender: TObject);
  44. begin
  45. Countdow.Caption := inttostr(strtoint(Countdow.Caption)-1);
  46. if Countdow.Caption = '0' then begin
  47. Timer1.Enabled := False;
  48. Rocket.Visible := False;
  49. FRocket.Visible := True;
  50. end;
  51. end;
  52.  
  53. end.



Hoy los ingenieros estan cansados y mañana le seguimos.

Un Saludo.

#2 felipe

felipe

    Advanced Member

  • Administrador
  • 3.283 mensajes
  • LocationColombia

Escrito 30 noviembre 2008 - 06:27

Esta buena la idea... :D falta es que despegue el cohete.
  • 0

#3 Guest_Jose Fco_*

Guest_Jose Fco_*
  • Visitante

Escrito 30 noviembre 2008 - 06:30

Esta buena la idea... :D falta es que despegue el cohete.


Eso lo tengo, es el mismo codigo de hacer correr al burrito solo que en vez de decir Left le dire Top. ;)
mañana lo termino.

Un Saludo.

#4 felipe

felipe

    Advanced Member

  • Administrador
  • 3.283 mensajes
  • LocationColombia

Escrito 30 noviembre 2008 - 06:32


Esta buena la idea... :D falta es que despegue el cohete.


Eso lo tengo, es el mismo codigo de hacer correr al burrito solo que en vez de decir Left le dire Top. ;)
mañana lo termino.

Un Saludo.

Pero podrías ponerle menos recorrido por cada ciclo (Me imagino que lo haces así), para que el movimiento se vea mas suave y parejo  ;)
  • 0

#5 Guest_Jose Fco_*

Guest_Jose Fco_*
  • Visitante

Escrito 30 noviembre 2008 - 06:36

Si asi lo hare y ademas se pierde en el cielo antes de hacer reset el programita.
Lo probe con un trackbar y funciono a la perfecion. ;)

Un Saludo.

#6 Guest_Jose Fco_*

Guest_Jose Fco_*
  • Visitante

Escrito 30 noviembre 2008 - 07:38

Bueno me llegaron ideas frezcas a la cabeza y aqui esta mas completo el codigo:



delphi
  1. var
  2.   Form1: TForm1;
  3.  
  4. implementation
  5.  
  6. {$R *.dfm}
  7.  
  8. procedure TForm1.BExitClick(Sender: TObject);
  9. begin
  10. Close;
  11. end;
  12. procedure TForm1.BStartClick(Sender: TObject);
  13. begin
  14. Timer1.Enabled := True;
  15. end;
  16. procedure TForm1.Timer1Timer(Sender: TObject);
  17. begin
  18. Countdow.Caption := inttostr(strtoint(Countdow.Caption)-1);
  19. if Countdow.Caption = '0' then begin
  20. Timer1.Enabled := False;
  21. Rocket.Visible := False;
  22. FRocket.Visible := True;
  23. Timer2.Enabled := True;
  24. end;
  25. end;
  26. procedure TForm1.Timer2Timer(Sender: TObject);
  27. begin
  28. FRocket.Top := FRocket.Top - 1;
  29. ElevaCount.Caption := inttostr(strtoint(ElevaCount.Caption) +20);
  30. if ElevaCount.Caption = '5500' then begin
  31. Timer2.Enabled := False;
  32. FRocket.Visible := False;
  33. FRocket.Top := 152;
  34. end;
  35. end;
  36. procedure TForm1.BitBtn1Click(Sender: TObject);
  37. begin
  38. Rocket.Visible := True;
  39. CountDow.Caption := inttostr(10);
  40. ElevaCount.Caption := inttostr(0000);
  41. end;
  42. end.



Esta funcionando a las mil maravillas.Mañana lo termino.

Un Saludo.

#7 felipe

felipe

    Advanced Member

  • Administrador
  • 3.283 mensajes
  • LocationColombia

Escrito 30 noviembre 2008 - 07:52

Luce bien  (y) :D... esperaremos el resultado final...
  • 0

#8 Caral

Caral

    Advanced Member

  • Administrador
  • 4.218 mensajes
  • LocationCosta Rica

Escrito 30 noviembre 2008 - 07:57

Hola
Muy bueno maestro, mañana veo el final del lanzamiento, espero no explote mi ordenador. jajajajaja :D
Saludos
  • 0

#9 felipe

felipe

    Advanced Member

  • Administrador
  • 3.283 mensajes
  • LocationColombia

Escrito 30 noviembre 2008 - 08:01

¿Y a quién mandaremos a volar en él?
  • 0

#10 Fenareth

Fenareth

    Advanced Member

  • Administrador
  • 3.486 mensajes
  • LocationMexico City

Escrito 30 noviembre 2008 - 08:02

¿Y a quién mandaremos a volar en él?


No me hagas hablaaaaaaar !!!!!!  :p  (6)  :$
  • 0

#11 felipe

felipe

    Advanced Member

  • Administrador
  • 3.283 mensajes
  • LocationColombia

Escrito 30 noviembre 2008 - 08:15


¿Y a quién mandaremos a volar en él?


No me hagas hablaaaaaaar !!!!!!  :p  (6)  :$

¿No será el Poli?... ¿o sí?  :o

:D :p
  • 0

#12 Fenareth

Fenareth

    Advanced Member

  • Administrador
  • 3.486 mensajes
  • LocationMexico City

Escrito 30 noviembre 2008 - 08:29



¿Y a quién mandaremos a volar en él?


No me hagas hablaaaaaaar !!!!!!  :p  (6)  :$

¿No será el Poli?... ¿o sí?  :o

:D :p


Jajajaja, a menos que el cohete esté dirigido a Guadalajara  :D... así sí lo trepamos, cómo no !  ;)
  • 0

#13 felipe

felipe

    Advanced Member

  • Administrador
  • 3.283 mensajes
  • LocationColombia

Escrito 30 noviembre 2008 - 08:31




¿Y a quién mandaremos a volar en él?


No me hagas hablaaaaaaar !!!!!!  :p  (6)  :$

¿No será el Poli?... ¿o sí?  :o

:D :p


Jajajaja, a menos que el cohete esté dirigido a Guadalajara  :D... así sí lo trepamos, cómo no !  ;)

:D :D :D... sin comentarios... jejejeje
  • 0

#14 Fenareth

Fenareth

    Advanced Member

  • Administrador
  • 3.486 mensajes
  • LocationMexico City

Escrito 30 noviembre 2008 - 08:32

Por cierto... comentario totalmente off-topic... y tu avatar ?  :|  ^o|  :p...

O andas de incógnito ?  (h)
  • 0

#15 felipe

felipe

    Advanced Member

  • Administrador
  • 3.283 mensajes
  • LocationColombia

Escrito 30 noviembre 2008 - 08:37

Por cierto... comentario totalmente off-topic... y tu avatar ?  :|  ^o|  :p...

O andas de incógnito ?  (h)

Jajajajaja... no para nada... se borró el otro dia del problema con el servidor y no lo volvi a poner  :D
  • 0

#16 Guest_Jose Fco_*

Guest_Jose Fco_*
  • Visitante

Escrito 01 diciembre 2008 - 05:37




¿Y a quién mandaremos a volar en él?


No me hagas hablaaaaaaar !!!!!!  :p  (6)  :$

¿No será el Poli?... ¿o sí?  :o

:D :p


Jajajaja, a menos que el cohete esté dirigido a Guadalajara  :D... así sí lo trepamos, cómo no !  ;)


jajajajajajaja no esta mala la idea, trepamos al burro. :D :D :D

Un Saludo.

#17 Guest_Jose Fco_*

Guest_Jose Fco_*
  • Visitante

Escrito 01 diciembre 2008 - 06:57

Hola amigos, aqui tengo una preguntita.

Con este codigo solo me le pone un "0" a este Label y quiero que sea asi (0000) cuatro ceros.


delphi
  1. ElevaCount.Caption := inttostr(0000);



Se que con una pequeña modificacion de esa linea se logra hacer.Pero no me recuerdo ahora como es la cosa.

Un Saludo.

#18 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.254 mensajes
  • LocationRepública Dominicana

Escrito 01 diciembre 2008 - 07:29

Prueba con esto a ver:



delphi
  1. ElevaCount.Caption := Format('0000',['0000']);



ó



delphi
  1. ElevaCount.Caption := Format('###0',['0000']);
  2.  



No están probados, pues no tengo Delphi en la mano.

Saludos.
  • 0

#19 Guest_Jose Fco_*

Guest_Jose Fco_*
  • Visitante

Escrito 01 diciembre 2008 - 07:37

Gracias enecumene, el primero esta perfecto:
este:


delphi
  1. ElevaCount.Caption := Format('0000',['0000']);



El segundo lo que pone es (###0).

Un Saludo.

#20 eduarcol

eduarcol

    Advanced Member

  • Administrador
  • 4.481 mensajes
  • LocationVenezuela

Escrito 01 diciembre 2008 - 08:27

por fin en que quedo esto?, despego  o no el cohete?
  • 0