Buscar

Criando um form de visualização de imagem temporizado por regra de negócio

Código

Método de criação de um form como um "Pop Up" para visualização de imagens em um cadastro de produto pelo DbGrid

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*/

Publicidade

Vote na dica




Quantidade de votos: 0 votos
Aceitação: 0%


Detalhes da dica

Categoria: Forms
Adicionada dia: 08/12/09
Por: Marcos Naves Calixto
Visualizada: 4593 vezes

Planeta Delphi - Tudo sobre programação Delphi Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009