Como criar um relógio digital

Dicas do Oracle Forms Builder - Blocos, Itens, LOV, Canvas, Triggers, comandos, PLL, d2kwutil, FMB, Alert, menus, etc
Responder
ROBSON ROCHA
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 21
Registrado em: Qua, 10 Mar 2010 10:20 am
Localização: IGREJINHA

Salve, salve grandes mestres!
Seguinte. Já tentei elaborar sem nenhum sucesso, já revirei a net procurando sobre algo e nada, então venho aqui pedir q me ajudem.

A pergunta pode parecer meio tosca, mas eu realmente não sei. Como criar um relógio digital? Aquele com horas/minutos/ segundos.

É q estou desenvolvendo um projeto de agendamento de consultas para uma clínica dentária e gostaria de que já ao abrir o programa o usuário tivesse o horário sempre à vista na tela.

Sei q existe o $$DBTIME$$, até dei uma usada, mas eu gostaria q houvesse uma contagem dos segundos.

Bom, se alguém poder me ajudar fico grato.

Vlw!
ricards
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 52
Registrado em: Sáb, 29 Set 2007 12:59 am
Localização: Araraquara-SP
Contato:
Ricardo Neves
Analista e Instrutor Oracle Developer
Java Developer (JPA/JSF/Hibernate/WebServices/EJB)

E ai brother beleza!

Cara segue o você precisa

Crie um bloco chamado CONTROLE e crie um item do tipo DISPLAY_ITEM (DSP_RELOGIO) neste bloco NON-BASE table.

Coloque no canvas da sua aplicação ele exibirá seu relógio.

NA trigger WHEN-NEW-FORM-INSTANCE crie o seguinte código

Selecionar tudo

DECLARE
            TM_ID  TIMER;
BEGIN
             -- Criando um timer de repetição de 1 segundo chamado CLOCK
             TM_ID := CREATE_TIMER('CLOCK',1000,REPEAT);
             -- Atualizando a data da tela
            :CONTROLE.DSP_RELOGIO	:=	SYSDATE;
END;
Em seguida crie a trigger WHEN-TIME-EXPIRED a nível de FORMS com seguinto código

Selecionar tudo

DECLARE
	TM_NAME		VARCHAR2(40); 
BEGIN 
	BREAK; 
        -- Recupera o TIMER criado
        TM_NAME	:=	GET_APPLICATION_PROPERTY(TIMER_NAME); 
        IF	TM_NAME	= 	'CLOCK'	THEN 
              -- acerta a hora atual de 1 em 1 segundo 
              :CONTROLE.DSP_RELOGIO	:=	SYSDATE;          
        END	IF; 
END;
Feito isso você tem um relógio digital que atualiza de segundo a segundo.

qualquer dúvida só falar

abs

:-o :-o :-o :-o
ROBSON ROCHA
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 21
Registrado em: Qua, 10 Mar 2010 10:20 am
Localização: IGREJINHA

Valeu pela ajuda Ricards, poém testei aqui mas ele está me retornando somente a data.
Vou dar mais uma fuçada aqui, mas se souberem de algo q possa me ajudar me avisem. PLEASE!
Diego_Mello
Rank: DBA Júnior
Rank: DBA Júnior
Mensagens: 229
Registrado em: Sex, 05 Set 2008 2:59 pm
Localização: Igrejinha - RS
Diego Mello
Igrejinha - RS
www.twitter.com/diegolmello

O :CONTROLE.DSP_RELOGIO deve ser do tipo DATETIME com formato DD/MM/RRRR HH24:MI:SS.
ROBSON ROCHA
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 21
Registrado em: Qua, 10 Mar 2010 10:20 am
Localização: IGREJINHA

Ôpa! Salve mestres!

Vlw pela ajuda diego_mello! Alterei aqui o tipo do display e funcionou perfeito! Agradeço!
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 13 visitantes