ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

[RESOLVIDO] Componente Timer. Um auxílio?
Ir à página 1, 2  Próximo
 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
Djarum
Aprendiz
Aprendiz


Registrado: Quarta-Feira, 1 de Junho de 2011
Mensagens: 296

MensagemEnviada: Dom Jul 31, 2011 8:20 pm    Assunto: [RESOLVIDO] Componente Timer. Um auxílio? Responder com Citação

Pessoal do ActiveDelphi,

Boa noite.

Alguns dias atrás, deixei um tópico aqui perguntando como programar minha aplicação para executar tarefas em horário definido pelo usuário.
Me disseram sobre o componente Timer.

Li bastante em alguns fóruns, inclusive aqui no ActiveDelphi, mas não consegui sair do lugar.

Como programo este componente pra receber a hora que for salva num JvTimeEdit?

A minha dúvida maior é essa. Esse componente JvTimeEdit (Biblioteca Jedi) é como aqueles componentes de relógio que você pode definir pra cima ou pra baixo o horário que quer.

Fico no aguardo pessoal,

Abraços!


Editado pela última vez por Djarum em Ter Ago 02, 2011 2:38 pm, num total de 1 vez
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
johnny-walker
Moderador
Moderador


Registrado: Sábado, 4 de Outubro de 2003
Mensagens: 10653
Localização: Contagem/MG - BRAZIL

MensagemEnviada: Dom Jul 31, 2011 11:40 pm    Assunto: Responder com Citação

Amigo isto é tipo um alarme, sua aplicação fica apenas observando segundo a segundo se o evento ocorreu e se sim dispara um outro evento.


bye
_________________
P.O.W.E.R B.Y D.E.L.P.H.I
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
Djarum
Aprendiz
Aprendiz


Registrado: Quarta-Feira, 1 de Junho de 2011
Mensagens: 296

MensagemEnviada: Dom Jul 31, 2011 11:46 pm    Assunto: Responder com Citação

Mas existe a possibilidade de usar esse conceito que quero com este componente?

Ou existe algum outro componente que trabalhe esperando uma condição, que no caso a hora, para disparar um evento?
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
Djarum
Aprendiz
Aprendiz


Registrado: Quarta-Feira, 1 de Junho de 2011
Mensagens: 296

MensagemEnviada: Seg Ago 01, 2011 10:14 am    Assunto: Responder com Citação

Alguém tem uma dica galera?

Preciso muito de algum componente que faça isso...
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
johnny-walker
Moderador
Moderador


Registrado: Sábado, 4 de Outubro de 2003
Mensagens: 10653
Localização: Contagem/MG - BRAZIL

MensagemEnviada: Seg Ago 01, 2011 10:14 am    Assunto: Responder com Citação

No delphi nao existe isto amigo, quem dispara o evento é vc...

Eis aih o que vc quer, funciona com o mesmo conceito:
http://www.planetadelphi.com.br/download/1656/arquivo/lembrete

bye
_________________
P.O.W.E.R B.Y D.E.L.P.H.I
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
danilo.vitolo
Colaborador
Colaborador


Registrado: Terça-Feira, 3 de Março de 2009
Mensagens: 1029
Localização: São Paulo - SP

MensagemEnviada: Seg Ago 01, 2011 10:16 am    Assunto: Responder com Citação

Djarum escreveu:
Mas existe a possibilidade de usar esse conceito que quero com este componente?

Ou existe algum outro componente que trabalhe esperando uma condição, que no caso a hora, para disparar um evento?


Amigo,

O Timer faz isso...

Por exemplo:

Você armazena em uma tabela a tarefa de exibir uma mensagem qualquer em um horário definido.

No timer vc tem que criar uma funcao para a cada segundo verificar essa tabela e se a hora atual (now) for igual a hora gravada na tabela, ele executa a função.
_________________
_________________
Sempre coloque [RESOLVIDO] nos tópicos
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail MSN Messenger
Djarum
Aprendiz
Aprendiz


Registrado: Quarta-Feira, 1 de Junho de 2011
Mensagens: 296

MensagemEnviada: Seg Ago 01, 2011 10:25 am    Assunto: Responder com Citação

Ae pessoal,

Valeu pelas dicas.
Era isso que eu queria entender e colocar no sistema.

No timer vc tem que criar uma funcao para a cada segundo verificar essa tabela e se a hora atual (now) for igual a hora gravada na tabela, ele executa a função. .

Alguém tem um modelo dessa função?

Baixei o link mas falta alguns .pas!
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
danilo.vitolo
Colaborador
Colaborador


Registrado: Terça-Feira, 3 de Março de 2009
Mensagens: 1029
Localização: São Paulo - SP

MensagemEnviada: Seg Ago 01, 2011 10:31 am    Assunto: Responder com Citação

perai que ja posto um exemplo...

Vou criar aqui,
_________________
_________________
Sempre coloque [RESOLVIDO] nos tópicos
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail MSN Messenger
Djarum
Aprendiz
Aprendiz


Registrado: Quarta-Feira, 1 de Junho de 2011
Mensagens: 296

MensagemEnviada: Seg Ago 01, 2011 10:35 am    Assunto: Responder com Citação

Beleza,
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
danilo.vitolo
Colaborador
Colaborador


Registrado: Terça-Feira, 3 de Março de 2009
Mensagens: 1029
Localização: São Paulo - SP

MensagemEnviada: Seg Ago 01, 2011 10:36 am    Assunto: Responder com Citação

Exemplo (SIMPLES)

no ontimer coloque o codigo e aprimore de acordo com sua funcao


Código:
    cdsFuncoes.First;
    while not cdsFuncoes.EOF do
    begin
        if cdsFuncoes.FieldByName('Hora').AsDateTime = Now then
        begin
            if cdsFuncoes.FieldByName('Funcao').AsString = 'EXIBIRMSG' Then
               ShowMessage('Mensagem Exibida');
        end;
        cdsFuncoes.Next;
    end;

_________________
_________________
Sempre coloque [RESOLVIDO] nos tópicos
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail MSN Messenger
Djarum
Aprendiz
Aprendiz


Registrado: Quarta-Feira, 1 de Junho de 2011
Mensagens: 296

MensagemEnviada: Seg Ago 01, 2011 10:48 am    Assunto: Responder com Citação

Maravilha Danilo.vitolo,

Vou testar aqui e reporto quando funcionar o código!


Valeu pela ajuda! Very Happy
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
johnny-walker
Moderador
Moderador


Registrado: Sábado, 4 de Outubro de 2003
Mensagens: 10653
Localização: Contagem/MG - BRAZIL

MensagemEnviada: Seg Ago 01, 2011 1:08 pm    Assunto: Responder com Citação

eis aih o código recuperado do formulário que não tem no demo:

Código:

unit UMensagem;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ExtCtrls, StdCtrls, Buttons;

type
  TfrmMensagem = class(TForm)
    Panel5: TPanel;
    Panel4: TPanel;
    Panel1: TPanel;
    Panel2: TPanel;
    Panel3: TPanel;
    MMO_LEMBRETE: TMemo;
    Panel6: TPanel;
    SpeedButton1: TSpeedButton;
    procedure SpeedButton1Click(Sender: TObject);
    procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmMensagem: TfrmMensagem;

implementation

{$R *.DFM}

procedure TfrmMensagem.SpeedButton1Click(Sender: TObject);
begin
     Close;
end;

procedure TfrmMensagem.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
     if Key = VK_Escape then
        Close;
end;

end.

Salve a unit como UMensagem.pas

object frmMensagem: TfrmMensagem
  Left = 187
  Top = 226
  BorderStyle = bsNone
  Caption = 'frmMensagem'
  ClientHeight = 132
  ClientWidth = 229
  Color = 12582911
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'MS Sans Serif'
  Font.Style = []
  FormStyle = fsStayOnTop
  OldCreateOrder = False
  Position = poScreenCenter
  OnKeyDown = FormKeyDown
  PixelsPerInch = 96
  TextHeight = 13
  object Panel5: TPanel
    Left = 0
    Top = 1
    Width = 1
    Height = 130
    Align = alLeft
    BevelOuter = bvNone
    Color = 44718
    TabOrder = 0
  end
  object Panel4: TPanel
    Left = 0
    Top = 0
    Width = 229
    Height = 1
    Align = alTop
    BevelOuter = bvNone
    Color = 44718
    TabOrder = 1
  end
  object Panel1: TPanel
    Left = 228
    Top = 1
    Width = 1
    Height = 130
    Align = alRight
    BevelOuter = bvNone
    Color = 44718
    TabOrder = 2
  end
  object Panel2: TPanel
    Left = 0
    Top = 131
    Width = 229
    Height = 1
    Align = alBottom
    BevelOuter = bvNone
    Color = 44718
    TabOrder = 3
  end
  object Panel3: TPanel
    Left = 8
    Top = 6
    Width = 209
    Height = 80
    BevelOuter = bvNone
    Enabled = False
    ParentColor = True
    TabOrder = 4
    object MMO_LEMBRETE: TMemo
      Left = 0
      Top = 0
      Width = 209
      Height = 80
      Align = alClient
      BorderStyle = bsNone
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clWindowText
      Font.Height = -13
      Font.Name = 'Arial'
      Font.Style = []
      Lines.Strings = (
        'Lembrete!')
      ParentColor = True
      ParentFont = False
      TabOrder = 0
    end
  end
  object Panel6: TPanel
    Left = 61
    Top = 101
    Width = 104
    Height = 25
    BevelOuter = bvNone
    ParentColor = True
    TabOrder = 5
    object SpeedButton1: TSpeedButton
      Left = 20
      Top = 2
      Width = 64
      Height = 23
      Caption = '&OK'
      Flat = True
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clWindowText
      Font.Height = -11
      Font.Name = 'Arial'
      Font.Style = [fsBold]
      Glyph.Data = {
        36030000424D3603000000000000360000002800000010000000100000000100
        18000000000000030000120B0000120B00000000000000000000FF00FFFF00FF
        FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
        FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
        00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
        FF00FFFF00FFFF00FF006600006600FF00FFFF00FFFF00FFFF00FFFF00FFFF00
        FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF0066001EB2311FB13300
        6600FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
        FF00FF00660031C24F22B7381AB02D21B437006600FF00FFFF00FFFF00FFFF00
        FFFF00FFFF00FFFF00FFFF00FFFF00FF00660047D36D3BCB5E25A83B0066001B
        A92E1DB132006600FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF006600
        4FD67953DE7F31B54D006600FF00FF006600179D271EAE31006600FF00FFFF00
        FFFF00FFFF00FFFF00FFFF00FFFF00FF00660041C563006600FF00FFFF00FFFF
        00FFFF00FF00660019AA2B006600FF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
        FF00FF006600FF00FFFF00FFFF00FFFF00FFFF00FFFF00FF006600149D210066
        00FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
        00FFFF00FFFF00FFFF00FFFF00FF006600006600FF00FFFF00FFFF00FFFF00FF
        FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
        FF006600006600FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
        00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
        FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
        FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
        00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
        FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
        FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
        00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF}
      ParentFont = False
      OnClick = SpeedButton1Click
    end
  end
end

Salve o dfm como UMensagem.dfm



bye
_________________
P.O.W.E.R B.Y D.E.L.P.H.I
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
Djarum
Aprendiz
Aprendiz


Registrado: Quarta-Feira, 1 de Junho de 2011
Mensagens: 296

MensagemEnviada: Seg Ago 01, 2011 1:22 pm    Assunto: Responder com Citação

Eis que surge johnny-walker com o complemento que faltava.

Obrigado!!
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
faccruz
Colaborador
Colaborador


Registrado: Terça-Feira, 20 de Julho de 2010
Mensagens: 1563

MensagemEnviada: Seg Ago 01, 2011 1:47 pm    Assunto: Responder com Citação

Dá uma olhada nesse link
_________________
Facc System - Sistemas para Computador
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Visitar a homepage do Usuário
johnny-walker
Moderador
Moderador


Registrado: Sábado, 4 de Outubro de 2003
Mensagens: 10653
Localização: Contagem/MG - BRAZIL

MensagemEnviada: Seg Ago 01, 2011 2:17 pm    Assunto: Responder com Citação

Tendo o executável amigo, tudo fica mais fácil.
Assim foi façil recuperar o código, como era simples, foi somente escrever as linhas faltantes, pois o dfm que vc extrai do executável nao vem com codigo, apenas os eventos dos mesmos...


bye
_________________
P.O.W.E.R B.Y D.E.L.P.H.I
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Ir à página 1, 2  Próximo
Página 1 de 2

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB