Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Fazer um Temporizador


Marian_snp

Pergunta

Eu fiz a sequinte funçao

procedure TFrmPrincipal.BitBtn3Click(Sender: TObject);

var b : Integer;

begin

b := 0 ;

repeat

b:=b+1;

If StrToInt(Edit19.Text) < 60 Then

Edit19.Text := IntToStr(StrToIntDef(Edit19.Text,0)+1);

sleep(2000)

until b = 62;

end;

a questao e a seguinte eu preciso fazer um temporizador, pois o processo de contagem acima é muito rapido,

quando eu clico no botao já apecere o 60 no edit, então eu coloquei um sleep, mas quando eu execulto clicando no botao o sistema trava,não aceita o sleep....

alguém poderia me ajudar a fazer essa rotina.

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

Existem maneiras mais facies de criar um temporizador ( voce pode usar um componente timer )

mas se quer usar esse codigo

procedure TForm1.Button1Click(Sender: TObject);
var b : Integer;
begin
  b := 0;
  repeat
    b:=b+1;
    If StrToInt(Edit19.Text) < 60 Then
       Edit19.Text := IntToStr(StrToIntDef(Edit19.Text,0)+1);
       Edit19.Refresh;
       sleep(500); // corresponde a 1/2 segundo de parada 
  until b = 60;

end;

digite 1 no edit e veja a mudança na tela

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

procedure TForm1.SpeedButton1Click(Sender: TObject);
var b: Integer;
begin
edit19.Text:='0'; Não sei para que efeito você vai usar isso??? aqui entro com valor zero,mas se você quer digitar um valôr manual já não pode ser assim!. 
    b := 0;
  repeat
    b:=b+1;
   If StrToInt(Edit19.Text) < 60 Then
       Edit19.Text := IntToStr(StrToIntDef(Edit19.Text,0)+1);
       Edit19.Refresh;
       sleep(500); // corresponde a 1/2 segundo de parada
  until b = 60;
    
end.

Esta funcionando bem agora.

Como diz o colega,Jhonas e bem o Ttimer é o mais indicado.

Abraço.

Editado por António44
Link para o comentário
Compartilhar em outros sites

  • 0

Eu tentei com o Ttimer mas não consequi se você poder me enviar a forma de fazer eu agradeço

uma das formas de fazer:

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls;

type
  TForm1 = class(TForm)
    Timer1: TTimer;
    Button1: TButton;
    Edit1: TEdit;
    procedure Button1Click(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  on_off : integer = 0;
  cont : integer =0;
implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
   // ligar e desligar o timer
   inc(on_off);
   if on_off = 1 then
      begin
         Timer1.Enabled := true;
         Timer1.Interval := 1000; /// 1 segundo
      end
   else
      begin
         on_off := 0;
         Timer1.Enabled := false;
      end;   
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
   inc(cont);
   edit1.Text := inttostr(cont);
   if cont > 59 then
      cont := 0;
end;

end.

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

procedure TForm1.Button1Click(Sender: TObject);
begin
   // ligar e desligar o timer
   inc(on_off);
   if on_off = 1 then
      begin

         cont := strtoint(Edit1.text);

         Timer1.Enabled := true;
         Timer1.Interval := 1000; /// 1 segundo
      end
   else
      begin
         on_off := 0;
         Timer1.Enabled := false;
      end;   
end;

no edit o contador vai começar no numero que voce digitar ( menor que 60 )

abraço

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...