Fórum Como acumular o tempo num TLabel? #365965

09/11/2008

0

Olá pessoal, estou precisando de uma rotina para acumular horas, é para um joguinho que estou bolando em fazer.

Seguinte, tenho 4 produtos:

- Barro;
- Areia;
- Cimento;
- Pedra.

Haverá quatro variáveis para armazenar a quantidade de cada produto:

- QtdBarro : integer;
- QtdAreia : integer;
- QtdCimento : integer;
- QtdPedra : integer;

Quero colocar a rotina dentro de um TTimer e que fique atualizando constantemente, sem fim.

1.) Se o valor de algumas das variáveis for zero, o TLabel correspondente fique parado, não pode zerar;
2.) Se alguma ou todas ou algumas das variáveis acima tiverem um valor acima de zero, vá acumulando nos TLabel referentes de acordo com o tempo;
3.) Não pode haver frações, ou seja, em cada TLabel onde ficará os valores acumulados deve ser inteiros, não pode aumentar nem diminuir, se o valor der ´3,5´, espera até dar um valor inteiro.

Seria de acordo com o tempo, porisso escolhi um TTimer, se a quantidade de um produto for 1 por hora, a cada hora deve ser colocado ´1´ no TLabel, se houver 60 produtos por hora, a cada minuto deve colocar 1 produto no TLabel.

Não sei como armar essa rotina, alguém poderia me ajudar?


Onjahyr

Onjahyr

Responder

Posts

09/11/2008

Catunda

Veja se o exemplo ajuda.


private
xtempo: TTime;
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Timer1Timer(Sender: TObject);
begin
{propriedade Interval do TTimer = 1000}
xtempo:=xtempo+StrToTime(´00:00:01´);
Label1.Caption:=FormatDateTime(´hh:mm:ss´,xtempo);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
xtempo:=StrToTime(´00:00:00´);
Timer1.Enabled:=true;
end;


Responder

Gostei + 0

10/11/2008

Onjahyr

Não Catunda, isso aí é um contador de tempo apenas, não baseia-se em cálculo de produtos, etc...

Agradeço de qualquer forma.

Alguém mais pode dar um palpite ?


Responder

Gostei + 0

14/11/2008

Onjahyr

Ninguém sabe?


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar