FoxPro/Visual FoxPro - Calculo horas

 
Vista:

Calculo horas

Publicado por Jorge Luis (2 intervenciones) el 07/09/2004 14:21:59
Agradeceria s alguien realmente sabe trabajar con horas en visual foxpro 7.0, tengo el suguiente problema y duda, no recuerdo la formula matematica para resolverlo.
1) debo sacar la diferenca entre hora desde y hasta, para colocar el resultado en un campo.
2) tengo una resie de campos de horas esde y hasta de lunes a domingo, el resultado de cada una debo aculumarlos, para sabes cuanto es el toral de horas en la semana. (esta no tiene nada q ver con la pregunta '1').
** nota estoy usando campos numericos de 2 dec, no importa si debo cambiar el formato.
no tengo idea de trabajar en formato de horas con objetos de entrada,
datetime() devuelve fecha y hora actual.
hour() devuelte la hora de una expresion datetime().
necesito una respuesta concreta de alguien q realmente lo sepa hacer, y un ejemplo claro de como se hace. me disculpan pero no respondan los q simplemente tienen una idea.
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

HORAS -

Publicado por Armando Tacza (3 intervenciones) el 09/09/2004 06:39:55
Hola, lo que debes hacer es trabajar con el formato ##:##AA o sea una hora por ejemplo --> 05:40PM y otra 08:16PM entonces debes registrar ##:## en un textbox y AA en un combo con dos opciones (AM Y PM) y luego el resto es tramiento de cadenas .
Esto en el caso de ingreso de HORAS & MINUTOS
Si son capturados del sistema simplemente usa funciones de conversion ok.
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

Ya lo solucione

Publicado por Jorge Luis (2 intervenciones) el 09/09/2004 10:22:20
Tal vez no es la forma correcta, pero tenia prisa por cotinuar mi programa, lo solucione a la antigua, lo q yo pido es codigo ejemplo y practico, si alqui sabe una forma de hacerlo mas ajustada al lmguaje sabre agradecer

este es mi codogo.

** valida el contetido de la hora
PROCEDURE formatohora
PARAMETERS mihora , vvalida
LOCAL fhh , fmm , lhora , lminutos
vvalida = SPACE(1)

fhh = VAL(SUBSTR(STR(mihora,5,2),1,2))
fmm = VAL(SUBSTR(STR(mihora,5,2),4,2))

IF fhh > 24
lhora = 'hora'
vvalida = lhora
ENDIF

IF fmm > 59
lminutos= 'minutos'
vvalida = vvalida + ' - minutos'
ENDIF

endpro

** calcula hora y totaliza
PROCEDURE calculohhmm
PARAMETERS mihhd , mihhh , mihhmm

IF mihhd <= mihhh && valida tiempo dentro de 24h
* tienpo 24h
mihr = VAL(SUBSTR(STR(mihhh,6,2),1,3)) - ;
VAL(SUBSTR(STR(mihhd,6,2),1,3))
ELSE
* tiempo mas de 24
mihhd = mihhd - 12
mihr = VAL(SUBSTR(STR(mihhd,6,2),1,3))-;
VAL(SUBSTR(STR(mihhh,6,2),1,3))
endif

mimin = (mimih + mimid)
IF mimin >= 60
mimin = mimin - 60
mihhmm = mihr + 1 + (mimin / 100)
else
mihhmm = mihr + (mimin / 100)
ENDIF

endpro
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

respuesta

Publicado por juan pablo medina (5 intervenciones) el 16/09/2004 21:00:38
hola no se entendi bien la pregunta pero lo que yo endiendo es que debes sacr el tiempo restanate entre una y otra bueno solo resta una hora con la otra y divide el valor entre horas 60 luego entre munutos/60 y luego entre segundo/60 y te dara el rsultado en dias horas y segundos

es una simple resta

100000/60= resultadodias
resultadodias /60 =resultadohoras
resultadohoras/60=minutos
minutos/60=segundos
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:Ya lo solucione

Publicado por Jorge (2 intervenciones) el 04/08/2006 20:20:06
Hola, yo tambien , estaba desarrollando un programa en visual fox
y necesitaba saber si llegaste a encontrar la forma mas compacta para el calcuo entre 2 horas

Gracias

Jorge Tejada
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