contador na tela

12/12/2005

3

estou tentando gerar um contador mas esta travando na execução...
este é o código que estou utilizando...

unit Unit1;

interface

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

type
TForm1 = class(TForm)
Label1: TLabel;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
num : integer;
begin
num := 0;
while num <= 100 do
Begin
Sleep(1000);
Label1.Caption := FloatToStr(num);
num := num +1;
end;
end;

end.


Responder

Posts

12/12/2005

Sabado

Fiz o seu exemplo aqui e tb travou.
Observe uma ideia. se servir...

var
v1,v2: real;
begin
v1:= strtofloat(label1.caption);
v2:= strtofloat(´1´);
label1.Caption:= floattostr(v1+v2);

deixar
label1.caption:= ´0´;


Responder

12/12/2005

Nasguone

Inclua um refresh no seu label e diminua o tempo do sleep..


procedure TForm1.Button1Click(Sender: TObject);
var
num : integer;
begin
num := 0;
while num <= 100 do
Begin
num := num +1;
sleep(400);
Memo1.Lines.Add(IntToStr(num));
Label1.Caption := IntToStr(num);
Label1.Refresh;
end;
end;



end.


Responder

12/12/2005

Renatacoimbra

vc quer fazer um loop sem Timer ?

tenta algo como:


unit Unit1;

interface

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

type
  TConta = class(TThread)
  private
  protected
    procedure Execute; override;
    Procedure IncNum;
  end;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Label1: TLabel;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  Num: Integer;

implementation

{$R *.dfm}

procedure TConta.Execute;
begin
    FreeOnTerminate := true;
    while not terminated do begin
      Synchronize(IncNum);
      Form1.Label1.Caption := IntToStr(Num);
      sleep(100);
    end;  
end;

Procedure TConta.IncNum;
begin
    inc(Num);
end;


procedure TForm1.Button1Click(Sender: TObject);
begin
   TConta.Create(False);
end;

end.



[]´s


Responder

13/12/2005

Adelor Silva

obrigado a todos... utilizei um pouco de cada exemplo proposto... já tenho meu contador na tela mostrando os número...

um abraço...


Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários. Para saber mais sobre o uso de cookies,
consulte nossa política de privacidade. Ao continuar navegando em nosso site, você concorda com a nossa política.

Aceitar