GARANTIR DESCONTO

Fórum Loop While...do #218082

03/03/2004

0

Oi pessoal !
Tenho que executar uma rotina em até 60 segundos depois deste tempo
ela dara uma menssagem.

Então o que eu fiz.

declarei uma variavel private

cont : integer;

no oncreate do form
cont:=0;

com um timer em 1000
cont:=cont +1;

no botão para executar a rotina

while rotina<>doqueeuqero do
begin
aqui faz o que eu preciso;
* //abaixo falo o que é isso
if cont=60 then
showmessage(´Tempo esgotado´)
exit;
else
end;

OBS quando eu coloco um showmessage(inttostr(cont)) onde está o *
ele vai contando até 60 e funciona mas senão nao funciona;

Muito Obrigado

[b:e8498cdc25][color=red:e8498cdc25]Removido: ´Urgente ´ (AZ)[/color:e8498cdc25][/b:e8498cdc25]


Estudante

Estudante

Responder

Posts

04/03/2004

Beppe

Tente reprojetar a função.

Uma global(AindaValido: Boolean) indica a situação. Inicialize-a, sempre e onde precisar, com True. O timer agirá agora só em 60 segundos. No OnTimer, AindaValido recebe False. E ao invés de manter a variável cont, verifique o valor de AindaValido.


Responder

Gostei + 0

04/03/2004

Fabio.hc

Troque este if:
if cont=60 then 


Por este:
if cont >= 60 then



Porque a variavel cont é sempre incrementada e não para no valor 60. Quando vc clica no botão o valor de cont pode ser maior de 60.


Responder

Gostei + 0

04/03/2004

Fred

if cont=60 then
Begin ===> coloque isso
showmessage(´Tempo esgotado´)
exit;
End; ===>e isso


Responder

Gostei + 0

04/03/2004

Ggean

Acontece que se tiver dentro de um loop ele nao vai conseguir verificar a var booleana pra isso precisa usar o Application.processmessages;

var//global
Continua:boolean=true;

no Ontimer//com interval=60000
begin
continua:=false;
application.processmessages;
end;

no loop;

while minha condicao do
begin
Application.processmessages;
if continua then
begin
meus comandos
end
else
begin
showmessage(´tempo esgotado´);
Exit;
end;
end;

Pelo q entendi é algo [b:35536ea9e5]marrom[/b:35536ea9e5]

[color=blue:35536ea9e5][b:35536ea9e5]marromenos[/b:35536ea9e5][/color:35536ea9e5] assim.


Um abraco!!!! gcarlos.alves@bol.com.br


Responder

Gostei + 0

05/03/2004

Estudante

Muito obrigado a todos que responderam deu certo GGean.

Valeu!


Responder

Gostei + 0

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

Aceitar