FoxPro/Visual FoxPro - reloj

 
Vista:

reloj

Publicado por felipe (129 intervenciones) el 11/08/2006 17:48:59
como puedo colocar un relog dentro de mi aplicacion ya uqe nesecito saber la hora intente con el time() pero solo me mustra la hora del momento al ejecutar la aplicacion gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
1
Responder

RE:reloj

Publicado por Carlos Ayala G (169 intervenciones) el 11/08/2006 17:56:55
Hola amigo

loque piedes hacer es utilizar un objeto TIME el cual actualise la ora que se muestra por decir en una Etiqueta seria muy facir podrias hacer esto

1- En la propiedad INTERVAL del TIME le das un valor 100
2- En el vento TIME del mismo objeto programas lo siguiente

*** asumiento que tu etiqueta se llama LBLHORA

thisform.lblhora.caption=time()
thisform.lblhora.refresh

** Y listo Suerte...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:reloj

Publicado por Plinio (7841 intervenciones) el 12/08/2006 01:08:11
El interval es recomendabe que sea de 1000 en vez de 100 (talvez fue un error de ortografia)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:reloj

Publicado por Ernesto Hernandez (4623 intervenciones) el 11/08/2006 18:54:03
Prueba esto

PUBLIC goMiForm
goMiForm = CREATEOBJECT("MiForm")
goMiForm.SHOW(1)
RETURN

DEFINE CLASS MiForm AS FORM
HEIGHT = 240
WIDTH = 240
AUTOCENTER = .T.
CAPTION = "Reloj Analógico E.H."
NAME = "frmRelojAnalogico"
ADD OBJECT RelojAnalogico1 AS RelojanAlogico WITH TOP = 20, ;
LEFT = 20, ;
NAME = "RelojAnalogo1"
ENDDEFINE


DEFINE CLASS relojanalogico AS CONTAINER
WIDTH = 200
HEIGHT = 200
BACKSTYLE = 0
BORDERWIDTH = 0
NAME = "RelojAnalogico"
ADD OBJECT shpEsfera AS SHAPE WITH ;
TOP = 0, ;
LEFT = 0, ;
HEIGHT = 200, ;
WIDTH = 200, ;
CURVATURE = 99, ;
BACKCOLOR = RGB(255,255,255), ;
NAME = "shpEsfera"
ADD OBJECT shpAgujas AS SHAPE WITH ;
TOP = 0, ;
LEFT = 0, ;
HEIGHT = 200, ;
WIDTH = 200, ;
BORDERWIDTH = 1, ;
BACKCOLOR = RGB(200,255,200), ;
POLYPOINTS = "This.aPoly", ;
NAME = "shpAgujas"

ADD OBJECT tmrTimer AS TIMER WITH ;
INTERVAL = 1000, ;
NAME = "tmrTimer"
PROCEDURE Hora

LOCAL ln, lnAng, lnCos, lnSen, lnCoI, lnCoD, lnSeI, lnSeD
ln = SECONDS()
*--- Posicion aguja segundos
lnAng = INT(ln % 60) * 6
lnCos = COS(DTOR(lnAng -90))
lnSen = SIN(DTOR(lnAng -90))
THIS.shpAgujas.aPoly(10,1) = 48 * lnCos + 50
THIS.shpAgujas.aPoly(10,2) = 48 * lnSen + 50
*--- Posicion aguja minutos
lnAng = INT((ln / 60) % 60) * 6
lnCos = COS(DTOR(lnAng-90))
lnSen = SIN(DTOR(lnAng-90))
lnCoI = COS(DTOR(lnAng-90-7))
lnSeI = SIN(DTOR(lnAng-90-7))
lnCoD = COS(DTOR(lnAng-90+7))
lnSeD = SIN(DTOR(lnAng-90+7))
THIS.shpAgujas.aPoly(2,1) = 30 * lnCoI + 50
THIS.shpAgujas.aPoly(2,2) = 30 * lnSeI + 50
THIS.shpAgujas.aPoly(3,1) = 45 * lnCos + 50
THIS.shpAgujas.aPoly(3,2) = 45 * lnSen + 50
THIS.shpAgujas.aPoly(4,1) = 30 * lnCoD + 50
THIS.shpAgujas.aPoly(4,2) = 30 * lnSeD + 50
*--- Posicion aguja horas
lnAng = ((ln / 3600) % 12)* 30
lnCos = COS(DTOR(lnAng -90))
lnSen = SIN(DTOR(lnAng -90))
lnCoI = COS(DTOR(lnAng-90-10))
lnSeI = SIN(DTOR(lnAng-90-10))
lnCoD = COS(DTOR(lnAng-90+10))
lnSeD = SIN(DTOR(lnAng-90+10))
THIS.shpAgujas.aPoly(6,1) = 20 * lnCoI + 50
THIS.shpAgujas.aPoly(6,2) = 20 * lnSeI + 50
THIS.shpAgujas.aPoly(7,1) = 35 * lnCos + 50
THIS.shpAgujas.aPoly(7,2) = 35 * lnSen + 50
THIS.shpAgujas.aPoly(8,1) = 20 * lnCoD + 50
THIS.shpAgujas.aPoly(8,2) = 20 * lnSeD + 50
THIS.shpAgujas.REFRESH
ENDPROC

PROCEDURE INIT
THIS.Hora
ENDPROC

PROCEDURE shpEsfera.INIT
THIS.HEIGHT = THIS.PARENT.HEIGHT
THIS.WIDTH = THIS.PARENT.WIDTH
ENDPROC

PROCEDURE shpAgujas.INIT
THIS.HEIGHT = THIS.PARENT.HEIGHT
THIS.WIDTH = THIS.PARENT.WIDTH
THIS.ADDPROPERTY("aPoly[10,2]")
FOR lnI = 1 TO 10
STORE 50 TO THIS.aPoly[lnI,1], THIS.aPoly[lnI,2]
ENDFOR
ENDPROC

PROCEDURE tmrTimer.TIMER
THIS.PARENT.Hora
ENDPROC

ENDDEFINE


Suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:reloj

Publicado por Ernesto Hernandez (4623 intervenciones) el 12/08/2006 05:48:51
Felipe tambien te recomiendo que des una checada a la clase

_DateTime.VCX

Hay muchas cosas que ya no hay necesidad de estarlas haciendo pues ya existen las clases.

Suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

RE:reloj

Publicado por CESAR YVAN (3 intervenciones) el 30/06/2017 19:55:10
Gracias Ernesto x tu EXCELENTE contribución . Nos facilita la Vida. Haces un mundo MEJOR.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:reloj

Publicado por Luisjavier Osorio (12 intervenciones) el 18/08/2006 16:39:43
Si estas trabajando con un proyecto, te recomiendo colocar este comando en el formulario, programa o lo que sea que tengas como objeto principal, a la hora de inicializar tu aplicacion...

SET CLOCK status

eso colocara un reloj en la barra de estado de Visual Foxpro, y de tu EXE cuando compiles la aplicacion. Este reloj es en tiempo real y tiene la hora del sistema.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar