Delphi - problema timer

 
Vista:

problema timer

Publicado por tatiana (2 intervenciones) el 01/10/2005 00:00:12
procedure TForm1.btnGirarClick(Sender: TObject);
var
corre, tiempo, Segundos: integer;
begin
if (StrToInt(Edtapuesta.text) = 0) then
showmessage('Tiene que apostar sus creditos')

else
timer1.Enabled:= true;
corre:= 1;
//showmessage('Usted aposto' );

if corre = 1 then
for Segundos := 1 to 50 do
if Segundos = 10 then
timer1.Enabled:= false;
end;

tengo este codigo, y lo que intento hacer es que en caso de que si tenga un credito en su apuesta, se dispare el timer,el cual ya tiene un proceso que le he indicado, Y LUEGO DESPUES DE UN TIEMPO ESTE PROCESO QUE TIENE EL TIMER SE DETENGA,
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:problema timer

Publicado por Dr Juzam (821 intervenciones) el 01/10/2005 21:01:36
Esto

Segundos:=Segundos+1;
if Segundos = 10 then
timer1.Enabled:= false;

debería estar dentro del evento OnTimer del Timer que hayas encendido. Un bucle for funciona (gracias a Dios) a una velocidad superior de una iteración por segundo. En el código del botón pones Segundos (que debe ser una variable global) a 0 y pones el Enabled del Timer a true, pero ya no debes controlar su funcionamiento desde dentro de un bucle for, sino que debe ser en este caso el propio Timer quien se detenga a si mismo cuando transcurra el plazo que quieras.

procedure TForm1.btnGirarClick(Sender: TObject);
var
corre, tiempo: integer;
begin
if (StrToInt(Edtapuesta.text) = 0) then
showmessage('Tiene que apostar sus creditos')

else {¿begin?}
Segundos:=0;
timer1.Enabled:= true;
//showmessage('Usted aposto' );

end;

Suerte.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar