FoxPro/Visual FoxPro - Editar hora

 
Vista:

Editar hora

Publicado por Silvia (63 intervenciones) el 07/04/2009 12:41:46
Hola: pregunta fácil.

Tengo un campo de hora editado así 99:99

El resultado cuando la hora es menor de 1 es el siguiente:

:45
y quisiera que fuera 0:45

¿Como debo editarlo?

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 29
Ha aumentado su posición en 3 puestos en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

RE:Editar hora

Publicado por Javier (271 intervenciones) el 07/04/2009 13:59:33
Silvia:
Creería que el campo debería ser Character para que puedas tener el 0:45. La función Time() retorna caracteres.

Saludos.
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:Editar hora

Publicado por Silvia (63 intervenciones) el 07/04/2009 14:42:06
Es un campo numérico N(4) y lo edito 99:99
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:Editar hora

Publicado por Marvin Emilson Pineda (81 intervenciones) el 07/04/2009 15:53:50
Silvia,

no puedes hacer lo que kieres ya que es un campo numerico, asi que si lo dejas en 0 (cero) este quedaria asi : 0 ahora!!!.. lo puedes aplicar es en la propiedad Format del textbox "L" asi quedaria 00:00 y si lo editas quedaria 00:45 tboxHora.Format = "L" y en la propiedad inputMask = 99:99

espero te ayude
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:Editar hora

Publicado por Gabriel Sánchez (112 intervenciones) el 09/04/2009 03:14:53
Hola,
Lo q puedes hacer es lo siguiente:

- Trabajar las horas en minutos, es decir si deseas guardar 1:25, guardarías 60+25-->85 minutos. Luego al mostrarlo, y editarlo lo muestrad como cadena de caracteres con el formato deseado.

*******************
* Ejemplo.
*******************

* Cursor: Horas
create cursor horas(minuto integer)

* Función: mostrar_hora()
function mostrar_hora
lparameter nMinutos

lcHora = padl(alltrim(str(int(nMinutos/60))), 2, '0')
lcMin = padl(alltrim(str(mod(nMInutos, 60))), 2, '0')

lcTiempo = lcHora+lcMin

return lcTiempo
endfunc

* Función: guardar_hora()

function guardar_hora
lparameter cHora

lcHora = left(cHora, 2)
lcMin = right(cHora, 2)

nMinutos = val(lcHora)*60 + val(lcMin)

return nMinutos
endfunc

* Se trabajaria de la sgte manera

* En un formulario con un textbox con la sgte máscara 99:99

* Al almacenar la hora en el texbox se harìa lo sgte:
Thisform.txtHora.Value = mostrar_hora(Horas.minuto)

* Cuando deseamos grabar los cambios.
select Horas
replace minuto with guardar_hora(Thisform.txtHora.Value)

PD: De esta manera no tendrías problemas para editar la hora. es mas pienso que sería más cómodo y facil de procesar, ya que al tener el tiempo almacenado en minutos puedes realizar operaciones mas facilmente.

Bueno espero te sea de utilidad.....

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