Porque no funciona timer en dialogo...

Porque no funciona timer en dialogo...

Postby ACC69 » Wed Jun 11, 2014 4: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: Select all  Expand view
// 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.
ACC69
 
Posts: 632
Joined: Tue Dec 12, 2006 7:34 pm

Re: Porque no funciona timer en dialogo...

Postby MGA » Wed Jun 11, 2014 4:28 pm

Tente:

DEFINE TIMER oTimer OF oWnd
ubiratanmga@gmail.com

FWH18.02
FWPPC
Harbour/xHarbour
xMate
Pelles´C
TDolphin
MGA
 
Posts: 1234
Joined: Mon Feb 25, 2008 2:54 pm
Location: Brasil/PR/Maringá

Re: Porque no funciona timer en dialogo...

Postby ACC69 » Wed Jun 11, 2014 4: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.
ACC69
 
Posts: 632
Joined: Tue Dec 12, 2006 7:34 pm

Re: Porque no funciona timer en dialogo...

Postby karinha » Wed Jun 11, 2014 4:56 pm

João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7316
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Porque no funciona timer en dialogo...

Postby ACC69 » Thu Jun 12, 2014 9: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: Select all  Expand view
/ 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
Image
http://www.subirimagenes.com/otros-pantchecador-8931515.html

Saludos y buen dia.!

Atte: Adrian C. C.
ACC69
 
Posts: 632
Joined: Tue Dec 12, 2006 7:34 pm

Re: Porque no funciona timer en dialogo...

Postby Antonio Linares » Fri Jun 13, 2014 5: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: Select all  Expand view
/ 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
User avatar
Antonio Linares
Site Admin
 
Posts: 41366
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Porque no funciona timer en dialogo...

Postby ACC69 » Fri Jun 13, 2014 6: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: Select all  Expand view
/ 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.
ACC69
 
Posts: 632
Joined: Tue Dec 12, 2006 7:34 pm


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 63 guests