Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Criando Timer no Oracle Forms / Forms 6i e Exibindo um Relógio

Criando Timer no Oracle Forms / Forms 6i e Exibindo um Relógio


Trata-se de temporizador em D2k
Um relógio externo pode ser construído usando temporizadores. Os temporizadores correspondem aos relógios internos, que possuem um período de tempo específico. Quando a duração especificada expira, o cronômetro pode executar uma ação uma vez e parar ou repetir a ação regularmente toda vez que o cronômetro expirar. A duração do temporizador é sempre em milissegundos. Os temporizadores são criados usando o CREATE_TIMER construído em Oracle Forms e requer um WHEN-TIMER-EXPIRED trigger seja escrito no nível do formulário. Esse gatilho é acionado toda vez que o cronômetro expira.

Usando temporizadores de REPETIÇÃO

Vamos criar um item de exibição, CURRENT_TIME, na tela da barra de ferramentas horizontal CANVAS_TOOLBAR criado anteriormente. Este item mostra a hora em HH24:MI:SS formata e se atualiza a cada segundo (a duração do temporizador). No WHEN-NEW-FORM-INSTANCE acionador, crie um temporizador chamado CLOCK_TIMER, que itera a cada segundo e preenche o CURRENT_TIME item com a data do sistema em HH24:MI:SS formato. O código é o seguinte:
DECLARE

   timer_id TIMER;

   one_second NUMBER := 1000;

BEGIN

   timer_id := FIND_TIMER('CLOCK_TIMER');

   IF NOT ID_NULL(timer_id) THEN

     DELETE_TIMER(timer_id);

   ELSE

     timer_id := CREATE_TIMER('CLOCK_TIMER',one_second, REPEAT);

   END IF;

     SELECT  TO_CHAR(SYSDATE,'HH24:MI:SS')

     INTO   :toolbar.current_time

     FROM   DUAL;

   EXCEPTION WHEN OTHERS THEN

     MESSAGE(TO_CHAR(SQLCODE)||''||SQLERRM);

END;

Crie um WHEN-TIMER-EXPIRED acionar da seguinte forma:
DECLARE

   timer_name VARCHAR2(30);

BEGIN

   timer_name := GET_APPLICATION_PROPERTY(TIMER_NAME);

   IF  timer_name = 'CLOCK_TIMER' THEN

      SELECT  TO_CHAR(SYSDATE,'HH24:MI:SS')

      INTO   :toolbar.current_time

      FROM   DUAL;

   END IF;

   EXCEPTION WHEN OTHERS THEN

      MESSAGE(TO_CHAR(SQLCODE)||''||SQLERRM);

END;

Veja também:Criar apresentação de imagem com Timer no Oracle Forms,

https://www.foxinfotech.in/2014/02/creating-stopping-restarting-deleting-timer-oracleforms.html

Criando, Parando, Reiniciando o temporizador no Oracle Forms

Ajuste o código PLSQL do Oracle Form com a ajuda do temporizador

 Criando Timer no Oracle D2k / Forms 6i e Exibindo um Relógio
Revisado por Rishion Mar 17 2013
Classificação:4