Pausar ttimer
como posso dar uma pausa em um objeto ttimer ???
Inscria
Curtidas 0
Respostas
Motta
01/12/2003
timer1.enabled := false;
GOSTEI 0
Daia
01/12/2003
Isso eu tb estava precisando... mas como faço pra que depois de trancar.. ele volte a funcionar de novo, mas num outro intervalo de tempo?
GOSTEI 0
Motta
01/12/2003
Como assim ? Não entendi.
Você pode tentar um comando chamado delay (creio que seja isto) que espera um nº de segundos) e aí dar enable novamente.
Mas no TTmimer tem uma prop. Interval (tempo em milisegundos) assim o evento do ttimer só será executado neste intervalo, creio que não precise de tratar esta espera.
Qq dúvida fale.
Você pode tentar um comando chamado delay (creio que seja isto) que espera um nº de segundos) e aí dar enable novamente.
Mas no TTmimer tem uma prop. Interval (tempo em milisegundos) assim o evento do ttimer só será executado neste intervalo, creio que não precise de tratar esta espera.
Qq dúvida fale.
GOSTEI 0
Daia
01/12/2003
Vou explicar melhor...
No meu form principal tenho um ttimer q atualiza um grid que exibe dados de uma tabela... O intervalo do ttimer é 20000... Tenho um outro form de Cadastro e lá exclui um registro... e quero q assim q eu exclua o registro o ttimer dispare e atualize o grid que está no form principal... e assim q ele fez isso... volte ao normal o intervalo dele q esta definido que é 20000...
Vou colocar o código abaixo:
procedure TFCadastro.btnExcluirClick(Sender: TObject);
begin
qryWork.Close;
qryWork.Open;
if trim(edtcRefer.text) = ´´ then begin
ShowMessage(´Informe a Referência!´);
edtcRefer.SetFocus;
Abort;
end;
if qryWork.Eof then
ShowMessage(´Não há dados para excluir!´)
else
if MessageDlg(´Excluir esta Referência?´, mtConfirmation, [mbYes, mbNo], 0) = mrYes then begin
qryWork.SQL.Text := ´Delete ´ +
´from ´ +
´ DesenvolvimentoModelo ´ +
´Where ´ +
´ cRefer = ´ + QuotedStr(edtcRefer.Text );
qryWork.ExecSQL;
qryWork.SQL.Text := ´commit´;
qryWork.ExecSQL;
ShowMessage(´Referência excluída com sucesso!´);
FPrincipal.tempo.Interval := 1000;
FPrincipal.tempo.Enabled := False;
edtcRefer.SetFocus;
end;
edtcRefer.Text := ´´;
No meu form principal tenho um ttimer q atualiza um grid que exibe dados de uma tabela... O intervalo do ttimer é 20000... Tenho um outro form de Cadastro e lá exclui um registro... e quero q assim q eu exclua o registro o ttimer dispare e atualize o grid que está no form principal... e assim q ele fez isso... volte ao normal o intervalo dele q esta definido que é 20000...
Vou colocar o código abaixo:
procedure TFCadastro.btnExcluirClick(Sender: TObject);
begin
qryWork.Close;
qryWork.Open;
if trim(edtcRefer.text) = ´´ then begin
ShowMessage(´Informe a Referência!´);
edtcRefer.SetFocus;
Abort;
end;
if qryWork.Eof then
ShowMessage(´Não há dados para excluir!´)
else
if MessageDlg(´Excluir esta Referência?´, mtConfirmation, [mbYes, mbNo], 0) = mrYes then begin
qryWork.SQL.Text := ´Delete ´ +
´from ´ +
´ DesenvolvimentoModelo ´ +
´Where ´ +
´ cRefer = ´ + QuotedStr(edtcRefer.Text );
qryWork.ExecSQL;
qryWork.SQL.Text := ´commit´;
qryWork.ExecSQL;
ShowMessage(´Referência excluída com sucesso!´);
FPrincipal.tempo.Interval := 1000;
FPrincipal.tempo.Enabled := False;
edtcRefer.SetFocus;
end;
edtcRefer.Text := ´´;
GOSTEI 0
Motta
01/12/2003
Apenas dispare o evento do TTimer qdo excluir o registro
Exemplo
Crie um novo projeto coloque um timer e um botão ajuste o interval do timer para 60000
O click executa o timer.
----------------------
Exemplo
Crie um novo projeto coloque um timer e um botão ajuste o interval do timer para 60000
O click executa o timer.
----------------------
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
Timer1: TTimer;
Button1: TButton;
procedure Timer1Timer(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Timer1Timer(Sender: TObject);
begin
showmessage(´fiz´);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Timer1Timer(Sender);
end;
end.
GOSTEI 0
Daia
01/12/2003
Funcionou legal!!!!!!!!
Bem assim q eu queria!!
Muito Obrigada!!!
Bem assim q eu queria!!
Muito Obrigada!!!
GOSTEI 0
Daia
01/12/2003
estou novamente com problema... meu sistema está trancando usando a função!!
GOSTEI 0
Daia
01/12/2003
??? alguém ... please!
GOSTEI 0