Código
1º PASSO
Criar um novo form, nesse form é necessario a criação de duas variaveis publicas para controle de acesso as regras de negócio, eu criei:
visivel(integer) --> Indica que o forme foi chamado e está visivel no evento FormShow seta a variavel para 1, no evento FormClose seta pra zero
controle(integer) --> Controla a passagem pelo verificador de tempo 1 unica vez, assim grava a regra e a mesma não pode sogre mais alteração, já que é a variavel de regra de negócio.
2º PASSO
Criar um outra variavel em publica, para armazenar o valor da regra de negócio, no meu exemplo eu chamei de hora2.
3º PASSO
Deve ser adicionado ao form os seguintes componentes:
a) Timer1 (componente timmer)
b) DBImage (componente de banco de dados para associação com imagem)
4º PASSO
Dever ser inserido o seguinte código no evento Timer1Timer
var
hora : TTime;
valor : string;
begin
if controle = 1 then
begin
hora := now;
hora2 := TimeToStr(hora);
hora2 := FormatDateTime('dd/mm/yyyy hh:mm:ss',hora);
hora2 := copy(hora2,15,2);
if hora2 = '59' then
begin
hora2:='00';
end else
begin
hora2 := inttostr(strtoint(hora2)+1);
end;
controle := 0;
end;
hora := now;
valor := TimeToStr(hora);
valor := FormatDateTime('dd/mm/yyyy hh:mm:ss',hora);
valor := copy(valor,15,2);
if (hora2 = valor) and ( visivel = 1 ) then
begin
frvisualiza_produto.Close;
end;
end;
-- CÓDIGO COMPLETO DO FORMULÁRIO
unit Ufrvisualiza_produto;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, JvComponentBase, JvgCaption, DBCtrls, JvDBImage, ExtCtrls;
type
Tfrvisualiza_produto = class(TForm)
JvgCaption1: TJvgCaption;
prdimagem: TJvDBImage;
Timer1: TTimer;
procedure Timer1Timer(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
visivel, controle : integer;
hora2 : string;
end;
var
frvisualiza_produto: Tfrvisualiza_produto;
implementation
uses UDM_PRINCIPAL;
{$R *.dfm}
procedure Tfrvisualiza_produto.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
visivel := 0;
controle := 0;
Timer1.Enabled := false;
end;
procedure Tfrvisualiza_produto.FormShow(Sender: TObject);
begin
visivel := 1;
controle := 1;
Timer1.Enabled := true;
end;
procedure Tfrvisualiza_produto.Timer1Timer(Sender: TObject);
var
hora : TTime;
valor : string;
begin
if controle = 1 then
begin
hora := now;
hora2 := TimeToStr(hora);
hora2 := FormatDateTime('dd/mm/yyyy hh:mm:ss',hora);
hora2 := copy(hora2,15,2);
if hora2 = '59' then
begin
hora2:='00';
end else
begin
hora2 := inttostr(strtoint(hora2)+1);
end;
controle := 0;
end;
hora := now;
valor := TimeToStr(hora);
valor := FormatDateTime('dd/mm/yyyy hh:mm:ss',hora);
valor := copy(valor,15,2);
if (hora2 = valor) and ( visivel = 1 ) then
begin
frvisualiza_produto.Close;
end;
end;
end.
/*MC*/
Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009