| Exibir mensagem anterior :: Exibir próxima mensagem |
| Autor |
Mensagem |
Djarum Aprendiz


Registrado: Quarta-Feira, 1 de Junho de 2011 Mensagens: 296
|
Enviada: Dom Jul 31, 2011 8:20 pm Assunto: [RESOLVIDO] Componente Timer. Um auxílio? |
|
|
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 |
|
 |
johnny-walker Moderador


Registrado: Sábado, 4 de Outubro de 2003 Mensagens: 10653 Localização: Contagem/MG - BRAZIL
|
Enviada: Dom Jul 31, 2011 11:40 pm Assunto: |
|
|
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 |
|
 |
Djarum Aprendiz


Registrado: Quarta-Feira, 1 de Junho de 2011 Mensagens: 296
|
Enviada: Dom Jul 31, 2011 11:46 pm Assunto: |
|
|
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 |
|
 |
Djarum Aprendiz


Registrado: Quarta-Feira, 1 de Junho de 2011 Mensagens: 296
|
Enviada: Seg Ago 01, 2011 10:14 am Assunto: |
|
|
Alguém tem uma dica galera?
Preciso muito de algum componente que faça isso... |
|
| Voltar ao Topo |
|
 |
johnny-walker Moderador


Registrado: Sábado, 4 de Outubro de 2003 Mensagens: 10653 Localização: Contagem/MG - BRAZIL
|
|
| Voltar ao Topo |
|
 |
danilo.vitolo Colaborador

Registrado: Terça-Feira, 3 de Março de 2009 Mensagens: 1029 Localização: São Paulo - SP
|
Enviada: Seg Ago 01, 2011 10:16 am Assunto: |
|
|
| 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 |
|
 |
Djarum Aprendiz


Registrado: Quarta-Feira, 1 de Junho de 2011 Mensagens: 296
|
Enviada: Seg Ago 01, 2011 10:25 am Assunto: |
|
|
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 |
|
 |
danilo.vitolo Colaborador

Registrado: Terça-Feira, 3 de Março de 2009 Mensagens: 1029 Localização: São Paulo - SP
|
Enviada: Seg Ago 01, 2011 10:31 am Assunto: |
|
|
perai que ja posto um exemplo...
Vou criar aqui, _________________ _________________
Sempre coloque [RESOLVIDO] nos tópicos |
|
| Voltar ao Topo |
|
 |
Djarum Aprendiz


Registrado: Quarta-Feira, 1 de Junho de 2011 Mensagens: 296
|
Enviada: Seg Ago 01, 2011 10:35 am Assunto: |
|
|
| Beleza, |
|
| Voltar ao Topo |
|
 |
danilo.vitolo Colaborador

Registrado: Terça-Feira, 3 de Março de 2009 Mensagens: 1029 Localização: São Paulo - SP
|
Enviada: Seg Ago 01, 2011 10:36 am Assunto: |
|
|
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 |
|
 |
Djarum Aprendiz


Registrado: Quarta-Feira, 1 de Junho de 2011 Mensagens: 296
|
Enviada: Seg Ago 01, 2011 10:48 am Assunto: |
|
|
Maravilha Danilo.vitolo,
Vou testar aqui e reporto quando funcionar o código!
Valeu pela ajuda!  |
|
| Voltar ao Topo |
|
 |
johnny-walker Moderador


Registrado: Sábado, 4 de Outubro de 2003 Mensagens: 10653 Localização: Contagem/MG - BRAZIL
|
Enviada: Seg Ago 01, 2011 1:08 pm Assunto: |
|
|
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 |
|
 |
Djarum Aprendiz


Registrado: Quarta-Feira, 1 de Junho de 2011 Mensagens: 296
|
Enviada: Seg Ago 01, 2011 1:22 pm Assunto: |
|
|
Eis que surge johnny-walker com o complemento que faltava.
Obrigado!! |
|
| Voltar ao Topo |
|
 |
faccruz Colaborador

Registrado: Terça-Feira, 20 de Julho de 2010 Mensagens: 1563
|
Enviada: Seg Ago 01, 2011 1:47 pm Assunto: |
|
|
Dá uma olhada nesse link _________________ Facc System - Sistemas para Computador |
|
| Voltar ao Topo |
|
 |
johnny-walker Moderador


Registrado: Sábado, 4 de Outubro de 2003 Mensagens: 10653 Localização: Contagem/MG - BRAZIL
|
Enviada: Seg Ago 01, 2011 2:17 pm Assunto: |
|
|
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 |
|
 |
|