FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Reloj Analogico o Digital..Checador (Cerrado)...
Posts: 632
Joined: Tue Dec 12, 2006 07:34 PM
Reloj Analogico o Digital..Checador (Cerrado)...
Posted: Thu May 22, 2014 06:43 PM
Hola Buenas tardes ,espero no molestarles de mas, con mi solicitud.

Alguien tendra codigo fuente de reloj digital o analogico que me puedan facilitar y adaptarlo a mi sistema de entrada de checador personal.
Andube buscando en el foro, pero ya no existe en el link relogio.prg, del otro foro de fivewin.com.br

Mucho les agradecere el codigo fuente para mi sistema de reloj checador y un ejemplo, espero no causarles molestia con esa solicitud del codigo fuente.

Saludos

Atte: Adrian C. C.

acc69@hotmail.com
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: Reloj Analogico o Digital..Checador...
Posted: Thu May 22, 2014 07:41 PM
Hola, mira se ayuda:

Code (fw): Select all Collapse
// By Joao Santos - Sao Paulo - Brazil - <!-- e --><a href="mailto:kmt_karinha@pop.com.br">kmt_karinha@pop.com.br</a><!-- e -->

#Include "FiveWin.Ch"

STATIC oDlgRelog, oTimerRelog, lDesliga := .F., oWnd, oTimerPorta
STATIC oFnt, oSaida

//---------------------------------------------------------------------------//

FUNCTION RELOGIO()

   LOCAL oBrush
   LOCAL dDataDia := DTOC( DATE() )

   DEFINE BRUSH oBrush RESOURCE "NUBES"

   DEFINE FONT oFnt NAME "Arial" SIZE 08, 20 BOLD

   DEFINE DIALOG oDlgRelog FROM 3, 3 TO 20, 50                               ;
          TITLE ( OemToAnsi( "Gerenciador do Rel¢gio do Sistema - "  +       ;
                             "Data: " + dDataDia ) )                         ;
          BRUSH oBrush TRANSPARENT                                           ;
          STYLE nOR( DS_MODALFRAME )

   oDlgRelog:lHelpIcon := .F.

   @ 005, 010 BUTTON oSaida PROMPT "&Finalizar" OF oDlgRelog SIZE 70, 14     ;
              ACTION ( oDlgRelog:End ) CANCEL

   oSaida:cToolTip := OemToAnsi( "Finalizar Gerenciador do Rel¢gio " )

   SET FONT OF oSaida   TO oFnt

   ACTIVATE DIALOG oDlgRelog CENTERED RESIZE16                               ;
            ON INIT( ACIONA_TIMER( oWnd ) )

   IF lDesliga  //-> Se For .T., Desligara o TIMER.
      oTimerRelog:DeActivate()
      oTimerPorta:DeActivate()
   ENDIF

   oFnt:End()
   oBrush:End()
   Release All

RETURN NIL

STATIC FUNCTION ACIONA_TIMER( oWnd )

   DEFINE TIMER oTimerPorta INTERVAL 50  OF oDlgRelog                        ;
          ACTION ACIONA_RELOGIO( oWnd )

   ACTIVATE TIMER oTimerPorta

RETURN NIL

//---------------------------------------------------------------------------//

STATIC FUNCTION ACIONA_RELOGIO( oWnd )

   LOCAL oFont

   DEFINE FONT oFont NAME "Arial" SIZE  0, -70 BOLD //-> Fonte Para o Relogio
   DEFINE FONT oFnt  NAME "Arial" SIZE 08,  20 BOLD //-> Fonte Para o BotÆo

   DEFINE TIMER oTimerRelog INTERVAL 50                                      ;
          ACTION ExibeRelogio()

   ACTIVATE TIMER oTimerRelog

   SET FONT OF oDlgRelog TO oFont
   SET FONT OF oSaida    TO oFnt

   oFont:End()

   lDesliga := .T.  //-> Para Desligar o Timer do Rel¢gio

   oTimerPorta:DeActivate()

RETURN NIL

STATIC FUNCTION ExibeRelogio()

   IF ISWINDOWVISIBLE( oDlgRelog:hWnd )

      oDlgRelog:Say( 3, 07, TIME(),                                         ;
                CLR_YELLOW, CLR_BLACK,, .F. )
      // .T. Esquerda - .F. Direita da Dialog.

   ENDIF

RETURN NIL

//-> FIM DO PROGRAMA


João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 632
Joined: Tue Dec 12, 2006 07:34 PM
Re: Reloj Analogico o Digital..Checador...
Posted: Thu May 22, 2014 08:41 PM
karinha wrote:Hola, mira se ayuda:

Code (fw): Select all Collapse
// By Joao Santos - Sao Paulo - Brazil - <!-- e --><a href="mailto:kmt_karinha@pop.com.br">kmt_karinha@pop.com.br</a><!-- e -->

#Include "FiveWin.Ch"

STATIC oDlgRelog, oTimerRelog, lDesliga := .F., oWnd, oTimerPorta
STATIC oFnt, oSaida

//---------------------------------------------------------------------------//

FUNCTION RELOGIO()

   LOCAL oBrush
   LOCAL dDataDia := DTOC( DATE() )

   DEFINE BRUSH oBrush RESOURCE "NUBES"

   DEFINE FONT oFnt NAME "Arial" SIZE 08, 20 BOLD

   DEFINE DIALOG oDlgRelog FROM 3, 3 TO 20, 50                               ;
          TITLE ( OemToAnsi( "Gerenciador do Rel¢gio do Sistema - "  +       ;
                             "Data: " + dDataDia ) )                         ;
          BRUSH oBrush TRANSPARENT                                           ;
          STYLE nOR( DS_MODALFRAME )

   oDlgRelog:lHelpIcon := .F.

   @ 005, 010 BUTTON oSaida PROMPT "&Finalizar" OF oDlgRelog SIZE 70, 14     ;
              ACTION ( oDlgRelog:End ) CANCEL

   oSaida:cToolTip := OemToAnsi( "Finalizar Gerenciador do Rel¢gio " )

   SET FONT OF oSaida   TO oFnt

   ACTIVATE DIALOG oDlgRelog CENTERED RESIZE16                               ;
            ON INIT( ACIONA_TIMER( oWnd ) )

   IF lDesliga  //-> Se For .T., Desligara o TIMER.
      oTimerRelog:DeActivate()
      oTimerPorta:DeActivate()
   ENDIF

   oFnt:End()
   oBrush:End()
   Release All

RETURN NIL

STATIC FUNCTION ACIONA_TIMER( oWnd )

   DEFINE TIMER oTimerPorta INTERVAL 50  OF oDlgRelog                        ;
          ACTION ACIONA_RELOGIO( oWnd )

   ACTIVATE TIMER oTimerPorta

RETURN NIL

//---------------------------------------------------------------------------//

STATIC FUNCTION ACIONA_RELOGIO( oWnd )

   LOCAL oFont

   DEFINE FONT oFont NAME "Arial" SIZE  0, -70 BOLD //-> Fonte Para o Relogio
   DEFINE FONT oFnt  NAME "Arial" SIZE 08,  20 BOLD //-> Fonte Para o BotÆo

   DEFINE TIMER oTimerRelog INTERVAL 50                                      ;
          ACTION ExibeRelogio()

   ACTIVATE TIMER oTimerRelog

   SET FONT OF oDlgRelog TO oFont
   SET FONT OF oSaida    TO oFnt

   oFont:End()

   lDesliga := .T.  //-> Para Desligar o Timer do Rel¢gio

   oTimerPorta:DeActivate()

RETURN NIL

STATIC FUNCTION ExibeRelogio()

   IF ISWINDOWVISIBLE( oDlgRelog:hWnd )

      oDlgRelog:Say( 3, 07, TIME(),                                         ;
                CLR_YELLOW, CLR_BLACK,, .F. )
      // .T. Esquerda - .F. Direita da Dialog.

   ENDIF

RETURN NIL

//-> FIM DO PROGRAMA





Gracias Karinha, lo adapto y luego te comento, ya que mi dialogo es de recursos, espero que me funcione ...

Saludos Karinha
Posts: 632
Joined: Tue Dec 12, 2006 07:34 PM
Re: Reloj Analogico o Digital..Checador...
Posted: Thu May 22, 2014 09:14 PM
ACC69 wrote:
karinha wrote:Hola, mira se ayuda:

Code (fw): Select all Collapse
// By Joao Santos - Sao Paulo - Brazil - <!-- e --><a href="mailto:kmt_karinha@pop.com.br">kmt_karinha@pop.com.br</a><!-- e -->

#Include "FiveWin.Ch"

STATIC oDlgRelog, oTimerRelog, lDesliga := .F., oWnd, oTimerPorta
STATIC oFnt, oSaida

//---------------------------------------------------------------------------//

FUNCTION RELOGIO()

   LOCAL oBrush
   LOCAL dDataDia := DTOC( DATE() )

   DEFINE BRUSH oBrush RESOURCE "NUBES"

   DEFINE FONT oFnt NAME "Arial" SIZE 08, 20 BOLD

   DEFINE DIALOG oDlgRelog FROM 3, 3 TO 20, 50                               ;
          TITLE ( OemToAnsi( "Gerenciador do Rel¢gio do Sistema - "  +       ;
                             "Data: " + dDataDia ) )                         ;
          BRUSH oBrush TRANSPARENT                                           ;
          STYLE nOR( DS_MODALFRAME )

   oDlgRelog:lHelpIcon := .F.

   @ 005, 010 BUTTON oSaida PROMPT "&Finalizar" OF oDlgRelog SIZE 70, 14     ;
              ACTION ( oDlgRelog:End ) CANCEL

   oSaida:cToolTip := OemToAnsi( "Finalizar Gerenciador do Rel¢gio " )

   SET FONT OF oSaida   TO oFnt

   ACTIVATE DIALOG oDlgRelog CENTERED RESIZE16                               ;
            ON INIT( ACIONA_TIMER( oWnd ) )

   IF lDesliga  //-> Se For .T., Desligara o TIMER.
      oTimerRelog:DeActivate()
      oTimerPorta:DeActivate()
   ENDIF

   oFnt:End()
   oBrush:End()
   Release All

RETURN NIL

STATIC FUNCTION ACIONA_TIMER( oWnd )

   DEFINE TIMER oTimerPorta INTERVAL 50  OF oDlgRelog                        ;
          ACTION ACIONA_RELOGIO( oWnd )

   ACTIVATE TIMER oTimerPorta

RETURN NIL

//---------------------------------------------------------------------------//

STATIC FUNCTION ACIONA_RELOGIO( oWnd )

   LOCAL oFont

   DEFINE FONT oFont NAME "Arial" SIZE  0, -70 BOLD //-> Fonte Para o Relogio
   DEFINE FONT oFnt  NAME "Arial" SIZE 08,  20 BOLD //-> Fonte Para o BotÆo

   DEFINE TIMER oTimerRelog INTERVAL 50                                      ;
          ACTION ExibeRelogio()

   ACTIVATE TIMER oTimerRelog

   SET FONT OF oDlgRelog TO oFont
   SET FONT OF oSaida    TO oFnt

   oFont:End()

   lDesliga := .T.  //-> Para Desligar o Timer do Rel¢gio

   oTimerPorta:DeActivate()

RETURN NIL

STATIC FUNCTION ExibeRelogio()

   IF ISWINDOWVISIBLE( oDlgRelog:hWnd )

      oDlgRelog:Say( 3, 07, TIME(),                                         ;
                CLR_YELLOW, CLR_BLACK,, .F. )
      // .T. Esquerda - .F. Direita da Dialog.

   ENDIF

RETURN NIL

//-> FIM DO PROGRAMA





Gracias Karinha, lo adapto y luego te comento, ya que mi dialogo es de recursos, espero que me funcione ...

Saludos Karinha



Hola Karinha aqui de nuevo, es muy buena la rutina del reloj, pero al adaptarlo a mi sistema, me distorsiona las pantallas, y unos que otros me cambia a font y tamaño pequeño las letras que yo tengo definidos por medio de recursos y si le quito se ve pequeña el reloj digital como cambiar esta oDlg:Say( 1.8, 34, TIME(), CLR_YELLOW, CLR_BLACK,, .F. ) y que me llame a recursos, y al igual cambiar "SET FONT OF oDlg TO oFont", que sea independiente al font y tamaño, ya que en todo dialogo me deja distorsionado y con letras pequeñas y si le quito funciona bien, pero el reloj se ve distorsionado y por momentos me abre cientos de ventanas, al dejarlo despues de 15 minutos sin uso con la pantalla abierta, porque sera...!


Saludos karinha
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: Reloj Analogico o Digital..Checador...
Posted: Fri May 23, 2014 01:01 PM
Hola, para RECURSOS es asi:

Code (fw): Select all Collapse
STATIC oWnd, oTmrRelog, oTimerPorta

   DEFINE DIALOG oDlgVendas  RESOURCE "VENDAS_BALCAO_GERAL"                 ;
          TITLE cTitulo + " - Cliente: Venda no Balcão" + " - Nº. Pedido: " ;
          BRUSH oBrush TRANSPARENT

    ACTIVATE DIALOG oDlgVendas CENTERED                                ;
             ON INIT( ACIONA_TIMER( oWnd ) )

STATIC FUNCTION ACIONA_TIMER( oWnd )

    DEFINE TIMER oTimerPorta INTERVAL 50  OF oDlgVendas                      ;
           ACTION ACIONA_RELOGIO( oWnd )

    ACTIVATE TIMER oTimerPorta

RETURN NIL

//---------------------------------------------------------------------------//

STATIC FUNCTION ACIONA_RELOGIO( oWnd )

    DEFINE TIMER oTmrRelog INTERVAL 50                                       ;
           ACTION ExibeRelogio()

    ACTIVATE TIMER oTmrRelog

    oTimerPorta:DeActivate()

RETURN NIL
//-> Para NÆo Pintar a Tela do Windows, By Vailton Renato - 23/11/2006
STATIC FUNCTION ExibeRelogio()

    PUBLIC XTIPOEMP

    IF ISWINDOWVISIBLE( oDlgVendas:hWnd )

       IF ALLTRIM( XTIPOEMP ) = [BANCA DE JORNAL] // res: 1024X668 = 0-678-15-452

          // aqui el controle de donde esta el SAY en el dialogo de recursos
          // haga el ajuste para tu gosto personal..
          oDlgVendas:Say( 2.0, 134, TIME(),                                    ;
                    CLR_YELLOW, CLR_BLACK,, .F. )

       ELSE // 800X600

          // aqui el controle de donde esta el SAY en el dialogo de recursos
          oDlgVendas:Say( 2.0, 104, TIME(),                                    ;
                    CLR_YELLOW, CLR_BLACK,, .F. )
          // .T. Esquerda - .F. Direita da Dialog.
       ENDIF

    ENDIF

RETURN NIL


El primero ejemplo es para ser accionado via:

Code (fw): Select all Collapse
    SETKEY( VK_F12, { | nKey | RELOGIO()  } )


Para todo el sistema en cualcuer parte de tu sistema.

Saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 632
Joined: Tue Dec 12, 2006 07:34 PM
Re: Reloj Analogico o Digital..Checador...
Posted: Fri May 23, 2014 02:58 PM
karinha wrote:Hola, para RECURSOS es asi:

Code (fw): Select all Collapse
STATIC oWnd, oTmrRelog, oTimerPorta

   DEFINE DIALOG oDlgVendas  RESOURCE "VENDAS_BALCAO_GERAL"                 ;
          TITLE cTitulo + " - Cliente: Venda no Balcão" + " - Nº. Pedido: " ;
          BRUSH oBrush TRANSPARENT

    ACTIVATE DIALOG oDlgVendas CENTERED                                ;
             ON INIT( ACIONA_TIMER( oWnd ) )

STATIC FUNCTION ACIONA_TIMER( oWnd )

    DEFINE TIMER oTimerPorta INTERVAL 50  OF oDlgVendas                      ;
           ACTION ACIONA_RELOGIO( oWnd )

    ACTIVATE TIMER oTimerPorta

RETURN NIL

//---------------------------------------------------------------------------//

STATIC FUNCTION ACIONA_RELOGIO( oWnd )

    DEFINE TIMER oTmrRelog INTERVAL 50                                       ;
           ACTION ExibeRelogio()

    ACTIVATE TIMER oTmrRelog

    oTimerPorta:DeActivate()

RETURN NIL
//-> Para NÆo Pintar a Tela do Windows, By Vailton Renato - 23/11/2006
STATIC FUNCTION ExibeRelogio()

    PUBLIC XTIPOEMP

    IF ISWINDOWVISIBLE( oDlgVendas:hWnd )

       IF ALLTRIM( XTIPOEMP ) = [BANCA DE JORNAL] // res: 1024X668 = 0-678-15-452

          // aqui el controle de donde esta el SAY en el dialogo de recursos
          // haga el ajuste para tu gosto personal..
          oDlgVendas:Say( 2.0, 134, TIME(),                                    ;
                    CLR_YELLOW, CLR_BLACK,, .F. )

       ELSE // 800X600

          // aqui el controle de donde esta el SAY en el dialogo de recursos
          oDlgVendas:Say( 2.0, 104, TIME(),                                    ;
                    CLR_YELLOW, CLR_BLACK,, .F. )
          // .T. Esquerda - .F. Direita da Dialog.
       ENDIF

    ENDIF

RETURN NIL


El primero ejemplo es para ser accionado via:

Code (fw): Select all Collapse
    SETKEY( VK_F12, { | nKey | RELOGIO()  } )


Para todo el sistema en cualcuer parte de tu sistema.

Saludos.


Gracias Karinha, por el ejemplo de recursos,pero creia que se pudiera cambiar esta instruccion oDlgVendas:Say( 2.0, 134, TIME(), CLR_YELLOW, CLR_BLACK,, .F. ) con esta con su ID en recursos oDlgVendas:Redefine( 4001, TIME(), CLR_YELLOW, CLR_BLACK,, .F. ), bueno de todas maneras gracias por el ejemplo .

Saludos y buen dia.

Atte: Adrian C. C.

Continue the discussion