FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Porque no funciona timer en dialogo...
Posts: 632
Joined: Tue Dec 12, 2006 07:34 PM
Porque no funciona timer en dialogo...
Posted: Wed Jun 11, 2014 04:16 PM
Hola buenos dias mis estimados, esperando que se encuentren bien les envio cordial saludos.
Aqui con una duda con un dialogo y sus campos get y listbox, donde registra entrada y salida y la clase de reloj .

Porque no me funciona el timer en un dialogo, estoy haciendo pruebas de crear avisos, y en ese momento esta a prueba, pero no me refresca y tampoco con un simple mensaje MsgAlert() despues de ciertos intervalos , nada de nada.

Sera!, porque por los campos gets activos ?, ya que hice pruebas con oWnd desde menu, ahi si me refresca,porque no existe dentro de el, gets.. pero en la modalidad de oDlg dialogo, con sus campos no me funciona el timer..!,alguien me pueda echar una mano, con ese detalle?.

Esperando contar como siempre su ayuda de todos ustedes.

Code (fw): Select all Collapse
// Personal.Prg

#include "FiveWin.ch"


#Define ST_ZOOMED     2
#Define CLR_WINDOW   16
#define COLOR_HIGHLIGHT 13 // Agregado por la actualizacion TWbrowse de Hernan Ceccarreli

REQUEST  DbfCdx, DbfFpt, RPreview
EXTERNAL OrdKeyCount, OrdKeyGoTo, OrdKeyNo

STATIC oDlg, [b]oTimer[/b]

//------------------------------------------------------------------------------
FUNCTION PRINCIPAL()
 LOCAL oLbx
 LOCAL oIcon,oImg

 SET EXCLUSIVE OFF
 SET 3DLOOK ON
 SET DELETED ON
 SET CONFIRM ON
 SET EPOCH TO 1969
 SET DATE BRITISH

 DEFINE ICON oICON RESOURCE "RELOJ"

 DEFINE DIALOG oDlg RESOURCE "ENTSAL" TITLE "Entrada y salida personal" ICON oICON // COLOR CLR_BLUE

  REDEFINE SAY oSay[01] PROMPT DATE() ID 151 OF oDlg COLOR CLR_BLUE Font oFnt1

  REDEFINE GET oGet[01] VAR nNumUsua  ID 101 OF oDlg PICT "9999" VALID V_NUMUSUA()  [b]// Campo Get[/b]
  REDEFINE GET oGet[02] VAR cPaswUsua ID 102 OF oDlg PICT "@!"   VALID V_PASWUSUA() [b]// Campo Get[/b]
  REDEFINE GET oGet[03] VAR cMotivo   ID 103 OF oDlg PICT "@!"   VALID V_MOTIVO()   [b]// Campo Get[/b]

  REDEFINE SAY oSay[02] PROMPT cNombUsua       ID 154 OF oDlg COLOR CLR_BLUE Font oFnt1

  REDEFINE BUTTON oBtn[01] ID 201 OF oDlg ACTION Reg_EntSal(oDlg, oLbx)

  REDEFINE LISTBOX oLbx;
           FIELDS  STR((S06)->NUMUSUA,4)      ,;
                   TRIM((S06)->NOMBUSUA)      ,;
                   DTOC((S06)->FECMOV)     ,;
                   TRIM((S06)->HORAENTR)      ,;
                   TRIM((S06)->TRETARDO)      ,;
                   TRIM((S06)->HORASALI)      ,;
                   SUBS((S06)->MOTIVO,1,52)  ;
           HEADER  "Num Usuario","Usuario","Fecha","Entrada","T Retardo","Salida","Bitacora de Observaci贸n" ;
           SIZES   36,180,54,54,54,54,200 ;
           ALIAS   (S06)->(ALIAS()) ID 105 OF oDlg

  oLbx:aJustify    := {0,0,0,0,0,0,0}
  oLbx:lCellStyle  := .T.
  oLbx:nClrForeHead:= CLR_BLUE

  REDEFINE SAY oSay[03] PROMPT (S09)->AVISOPERS ID 156 OF oDlg COLOR CLR_BLUE Font oFnt1
  REDEFINE IMAGE oImg FILENAME (S09)->ARCHIMAGE ID 157 OF oDlg ADJUST

  [b]DEFINE TIMER oTimer OF oDlg INTERVAL 10000 ACTION MsgInfo("Que pasa aqui...Haciend pruebas") // Aqui no me funciona el timer..porque sera![/b]

 ACTIVATE DIALOG oDlg CENTER ON INIT Inicia()

 ResAllFree()
 DbCloseAll()


 oFnt1:End()
 CheckRes() // Al finalizar...

 Release oDlg, oLbx
RETURN NIL

//------------------------------------------------------------------------------
STATIC FUNCTION Inicia()
 [b]oTimer:Activate()  // Aqui la tengo activado desde inicio del dialogo[/b]
RETURN NIL


Saludos y buen dia.!

Atte: Adrian C. C.
Posts: 1286
Joined: Mon Feb 25, 2008 02:54 PM
Re: Porque no funciona timer en dialogo...
Posted: Wed Jun 11, 2014 04:28 PM

Tente:

DEFINE TIMER oTimer OF oWnd

ubiratanmga@gmail.com

FWH24.04
BCC7.3
HARBOUR3.2
xMate
Pelles麓C
TDolphin
Posts: 632
Joined: Tue Dec 12, 2006 07:34 PM
Re: Porque no funciona timer en dialogo...
Posted: Wed Jun 11, 2014 04:35 PM
SGS wrote:Tente:

DEFINE TIMER oTimer OF oWnd



Gracias por responder SGS, pero en ese caso es un dialogo oDlg simple, sin oWnd, ya que es un programa independiente, donde registra entrada y salida o algun otro metodo que hay que a帽adir.!

Saludos.
Posts: 8523
Joined: Tue Dec 20, 2005 07:36 PM
Re: Porque no funciona timer en dialogo...
Posted: Wed Jun 11, 2014 04:56 PM
Jo茫o Santos - S茫o Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 632
Joined: Tue Dec 12, 2006 07:34 PM
Re: Porque no funciona timer en dialogo...
Posted: Thu Jun 12, 2014 09:08 PM
karinha wrote:http://fivewin.com.br/index.php?/topic/20942-hora-certaresolvido/page-2?hl=%2Bdefine+%2Btimer+%2Botimer+%2Bodlg+%2Binterval#entry258650

http://fivewin.com.br/index.php?/topic/ ... 2Binterval

http://fivewin.com.br/index.php?/topic/ ... entry88680
saludos.


Hola gracias Karinha, revise tus links, pero aun asi, no logro hacer un simple timer,o que estare haciendo mal, ya que tengo dos programas ejecutables, uno como checador y otro como administrador y desde administrador, grabar avisos en la base de datos, y que desde programa checador con un timer, refresque aviso,por el momento lo estoy haciendo mal, cerrar la aplicacion del checador y volver abrir, y solo asi, manualmente me refresca, pero porque no me refresca automaticamente...! sigo sin entender..

Pongo c贸digo e imagen
Code (fw): Select all Collapse
/ Personal.Prg

#include "FiveWin.ch"


#Define ST_ZOOMED     2
#Define CLR_WINDOW   16
#define COLOR_HIGHLIGHT 13 // Agregado por la actualizacion TWbrowse de Hernan Ceccarreli

REQUEST  DbfCdx, DbfFpt, RPreview
EXTERNAL OrdKeyCount, OrdKeyGoTo, OrdKeyNo

STATIC oDlg, oTimer

//------------------------------------------------------------------------------
FUNCTION PRINCIPAL()
 LOCAL oLbx
 LOCAL oIcon,oImg

 SET EXCLUSIVE OFF
 SET 3DLOOK ON
 SET DELETED ON
 SET CONFIRM ON
 SET EPOCH TO 1969
 SET DATE BRITISH

 DEFINE ICON oICON RESOURCE "RELOJ"

 DEFINE DIALOG oDlg RESOURCE "ENTSAL" TITLE "Entrada y salida personal" ICON oICON // COLOR CLR_BLUE

  REDEFINE SAY oSay[01] PROMPT DATE() ID 151 OF oDlg COLOR CLR_BLUE Font oFnt1

  REDEFINE GET oGet[01] VAR nNumUsua  ID 101 OF oDlg PICT "9999" VALID V_NUMUSUA()  // Campo Get
  REDEFINE GET oGet[02] VAR cPaswUsua ID 102 OF oDlg PICT "@!"   VALID V_PASWUSUA() // Campo Get
  REDEFINE GET oGet[03] VAR cMotivo   ID 103 OF oDlg PICT "@!"   VALID V_MOTIVO()   // Campo Get

  REDEFINE SAY oSay[02] PROMPT cNombUsua       ID 154 OF oDlg COLOR CLR_BLUE Font oFnt1

  REDEFINE BUTTON oBtn[01] ID 201 OF oDlg ACTION Reg_EntSal(oDlg, oLbx)

  REDEFINE LISTBOX oLbx;
           FIELDS  STR((S06)->NUMUSUA,4)      ,;
                   TRIM((S06)->NOMBUSUA)      ,;
                   DTOC((S06)->FECMOV)     ,;
                   TRIM((S06)->HORAENTR)      ,;
                   TRIM((S06)->TRETARDO)      ,;
                   TRIM((S06)->HORASALI)      ,;
                   SUBS((S06)->MOTIVO,1,52)  ;
           HEADER  "Num Usuario","Usuario","Fecha","Entrada","T Retardo","Salida","Bitacora de Observaci贸n" ;
           SIZES   36,180,54,54,54,54,200 ;
           ALIAS   (S06)->(ALIAS()) ID 105 OF oDlg

  oLbx:aJustify    := {0,0,0,0,0,0,0}
  oLbx:lCellStyle  := .T.
  oLbx:nClrForeHead:= CLR_BLUE

  REDEFINE SAY oSay[03] PROMPT (S09)->AVISOPERS ID 156 OF oDlg COLOR CLR_BLUE Font oFnt1 // Aqui como ejemplo me deberia mostrar aviso, 
                                                                                         // por el momento lo tengo temporal, haciendo pruebas
                                                                                         // desde una funcion AVISOS(),pero nada de nada...
  REDEFINE IMAGE oImg FILENAME (S09)->ARCHIMAGE ID 157 OF oDlg ADJUST

  DEFINE TIMER oTimer OF oDlg INTERVAL 10000 ACTION AVISOS() // Aqui no me funciona el timer..porque sera!

 ACTIVATE DIALOG oDlg CENTER ON INIT Inicia()

 ResAllFree()
 DbCloseAll()


 oFnt1:End()
 CheckRes() // Al finalizar...

 Release oDlg, oLbx
RETURN NIL

//------------------------------------------------------------------------------
STATIC FUNCTION Inicia()
 oTimer:Activate()  // Aqui la tengo activado desde inicio del dialogo
RETURN NIL

//------------------------------------------------------------------------------
STATIC FUNCTION AVISOS()
 MsgInfo("15 de junio dia del padre...") // Aqui no hace nada, despues de un intervalo de tiempos
RETURN NIL


http://www.subirimagenes.com/otros-pant ... 31515.html

http://www.subirimagenes.com/otros-pantchecador-8931515.html

Saludos y buen dia.!

Atte: Adrian C. C.
Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM
Re: Porque no funciona timer en dialogo...
Posted: Fri Jun 13, 2014 05:26 AM
Adrian,

El handle hWnd del di谩logo tiene que existir, por eso hay que crear el Timer tambien desde la funci贸n Inicia():

Code (fw): Select all Collapse
/ Personal.Prg

#include "FiveWin.ch"


#Define ST_ZOOMED 聽 聽 2
#Define CLR_WINDOW 聽 16
#define COLOR_HIGHLIGHT 13 // Agregado por la actualizacion TWbrowse de Hernan Ceccarreli

REQUEST 聽DbfCdx, DbfFpt, RPreview
EXTERNAL OrdKeyCount, OrdKeyGoTo, OrdKeyNo

STATIC oDlg, oTimer

//------------------------------------------------------------------------------
FUNCTION PRINCIPAL()
聽LOCAL oLbx
聽LOCAL oIcon,oImg

聽SET EXCLUSIVE OFF
聽SET 3DLOOK ON
聽SET DELETED ON
聽SET CONFIRM ON
聽SET EPOCH TO 1969
聽SET DATE BRITISH

聽DEFINE ICON oICON RESOURCE "RELOJ"

聽DEFINE DIALOG oDlg RESOURCE "ENTSAL" TITLE "Entrada y salida personal" ICON oICON // COLOR CLR_BLUE

聽 REDEFINE SAY oSay[01] PROMPT DATE() ID 151 OF oDlg COLOR CLR_BLUE Font oFnt1

聽 REDEFINE GET oGet[01] VAR nNumUsua 聽ID 101 OF oDlg PICT "9999" VALID V_NUMUSUA() 聽// Campo Get
聽 REDEFINE GET oGet[02] VAR cPaswUsua ID 102 OF oDlg PICT "@!" 聽 VALID V_PASWUSUA() // Campo Get
聽 REDEFINE GET oGet[03] VAR cMotivo 聽 ID 103 OF oDlg PICT "@!" 聽 VALID V_MOTIVO() 聽 // Campo Get

聽 REDEFINE SAY oSay[02] PROMPT cNombUsua 聽 聽 聽 ID 154 OF oDlg COLOR CLR_BLUE Font oFnt1

聽 REDEFINE BUTTON oBtn[01] ID 201 OF oDlg ACTION Reg_EntSal(oDlg, oLbx)

聽 REDEFINE LISTBOX oLbx;
聽 聽 聽 聽 聽 聽FIELDS 聽STR((S06)->NUMUSUA,4) 聽 聽 聽,;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽TRIM((S06)->NOMBUSUA) 聽 聽 聽,;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽DTOC((S06)->FECMOV) 聽 聽 ,;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽TRIM((S06)->HORAENTR) 聽 聽 聽,;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽TRIM((S06)->TRETARDO) 聽 聽 聽,;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽TRIM((S06)->HORASALI) 聽 聽 聽,;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽SUBS((S06)->MOTIVO,1,52) 聽;
聽 聽 聽 聽 聽 聽HEADER 聽"Num Usuario","Usuario","Fecha","Entrada","T Retardo","Salida","Bitacora de Observaci贸n" ;
聽 聽 聽 聽 聽 聽SIZES 聽 36,180,54,54,54,54,200 ;
聽 聽 聽 聽 聽 聽ALIAS 聽 (S06)->(ALIAS()) ID 105 OF oDlg

聽 oLbx:aJustify 聽 聽:= {0,0,0,0,0,0,0}
聽 oLbx:lCellStyle 聽:= .T.
聽 oLbx:nClrForeHead:= CLR_BLUE

聽 REDEFINE SAY oSay[03] PROMPT (S09)->AVISOPERS ID 156 OF oDlg COLOR CLR_BLUE Font oFnt1 // Aqui como ejemplo me deberia mostrar aviso, 
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽// por el momento lo tengo temporal, haciendo pruebas
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽// desde una funcion AVISOS(),pero nada de nada...
聽 REDEFINE IMAGE oImg FILENAME (S09)->ARCHIMAGE ID 157 OF oDlg ADJUST

聽ACTIVATE DIALOG oDlg CENTER ON INIT Inicia( oDlg )

聽ResAllFree()
聽DbCloseAll()


聽oFnt1:End()
聽CheckRes() // Al finalizar...

聽Release oDlg, oLbx
RETURN NIL

//------------------------------------------------------------------------------
STATIC FUNCTION Inicia( oDlg )
聽 DEFINE TIMER oTimer OF oDlg INTERVAL 10000 ACTION AVISOS() // Aqui no me funciona el timer..porque sera!

聽oTimer:Activate() 聽// Aqui la tengo activado desde inicio del dialogo
RETURN NIL

//------------------------------------------------------------------------------
STATIC FUNCTION AVISOS()
聽MsgInfo("15 de junio dia del padre...") // Aqui no hace nada, despues de un intervalo de tiempos
RETURN NIL
regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 632
Joined: Tue Dec 12, 2006 07:34 PM
Re: Porque no funciona timer en dialogo...
Posted: Fri Jun 13, 2014 06:13 PM
Antonio Linares wrote:Adrian,

El handle hWnd del di谩logo tiene que existir, por eso hay que crear el Timer tambien desde la funci贸n Inicia():

Code (fw): Select all Collapse
/ Personal.Prg

#include "FiveWin.ch"


#Define ST_ZOOMED 聽 聽 2
#Define CLR_WINDOW 聽 16
#define COLOR_HIGHLIGHT 13 // Agregado por la actualizacion TWbrowse de Hernan Ceccarreli

REQUEST 聽DbfCdx, DbfFpt, RPreview
EXTERNAL OrdKeyCount, OrdKeyGoTo, OrdKeyNo

STATIC oDlg, oTimer

//------------------------------------------------------------------------------
FUNCTION PRINCIPAL()
聽LOCAL oLbx
聽LOCAL oIcon,oImg

聽SET EXCLUSIVE OFF
聽SET 3DLOOK ON
聽SET DELETED ON
聽SET CONFIRM ON
聽SET EPOCH TO 1969
聽SET DATE BRITISH

聽DEFINE ICON oICON RESOURCE "RELOJ"

聽DEFINE DIALOG oDlg RESOURCE "ENTSAL" TITLE "Entrada y salida personal" ICON oICON // COLOR CLR_BLUE

聽 REDEFINE SAY oSay[01] PROMPT DATE() ID 151 OF oDlg COLOR CLR_BLUE Font oFnt1

聽 REDEFINE GET oGet[01] VAR nNumUsua 聽ID 101 OF oDlg PICT "9999" VALID V_NUMUSUA() 聽// Campo Get
聽 REDEFINE GET oGet[02] VAR cPaswUsua ID 102 OF oDlg PICT "@!" 聽 VALID V_PASWUSUA() // Campo Get
聽 REDEFINE GET oGet[03] VAR cMotivo 聽 ID 103 OF oDlg PICT "@!" 聽 VALID V_MOTIVO() 聽 // Campo Get

聽 REDEFINE SAY oSay[02] PROMPT cNombUsua 聽 聽 聽 ID 154 OF oDlg COLOR CLR_BLUE Font oFnt1

聽 REDEFINE BUTTON oBtn[01] ID 201 OF oDlg ACTION Reg_EntSal(oDlg, oLbx)

聽 REDEFINE LISTBOX oLbx;
聽 聽 聽 聽 聽 聽FIELDS 聽STR((S06)->NUMUSUA,4) 聽 聽 聽,;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽TRIM((S06)->NOMBUSUA) 聽 聽 聽,;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽DTOC((S06)->FECMOV) 聽 聽 ,;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽TRIM((S06)->HORAENTR) 聽 聽 聽,;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽TRIM((S06)->TRETARDO) 聽 聽 聽,;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽TRIM((S06)->HORASALI) 聽 聽 聽,;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽SUBS((S06)->MOTIVO,1,52) 聽;
聽 聽 聽 聽 聽 聽HEADER 聽"Num Usuario","Usuario","Fecha","Entrada","T Retardo","Salida","Bitacora de Observaci贸n" ;
聽 聽 聽 聽 聽 聽SIZES 聽 36,180,54,54,54,54,200 ;
聽 聽 聽 聽 聽 聽ALIAS 聽 (S06)->(ALIAS()) ID 105 OF oDlg

聽 oLbx:aJustify 聽 聽:= {0,0,0,0,0,0,0}
聽 oLbx:lCellStyle 聽:= .T.
聽 oLbx:nClrForeHead:= CLR_BLUE

聽 REDEFINE SAY oSay[03] PROMPT (S09)->AVISOPERS ID 156 OF oDlg COLOR CLR_BLUE Font oFnt1 // Aqui como ejemplo me deberia mostrar aviso, 
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽// por el momento lo tengo temporal, haciendo pruebas
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽// desde una funcion AVISOS(),pero nada de nada...
聽 REDEFINE IMAGE oImg FILENAME (S09)->ARCHIMAGE ID 157 OF oDlg ADJUST

聽ACTIVATE DIALOG oDlg CENTER ON INIT Inicia( oDlg )

聽ResAllFree()
聽DbCloseAll()


聽oFnt1:End()
聽CheckRes() // Al finalizar...

聽Release oDlg, oLbx
RETURN NIL

//------------------------------------------------------------------------------
STATIC FUNCTION Inicia( oDlg )
聽 DEFINE TIMER oTimer OF oDlg INTERVAL 10000 ACTION AVISOS() // Aqui no me funciona el timer..porque sera!

聽oTimer:Activate() 聽// Aqui la tengo activado desde inicio del dialogo
RETURN NIL

//------------------------------------------------------------------------------
STATIC FUNCTION AVISOS()
聽MsgInfo("15 de junio dia del padre...") // Aqui no hace nada, despues de un intervalo de tiempos
RETURN NIL


Hola Maestro Antonio, gracias por tu interes al tema, ok, y gracias por la sugerencia, y eso hare.!

Muchas gracias y gusto saludarlo.

Atte: Adrian C. C.

Continue the discussion