[ Foro de Pascal ]

funcion o procedimiento para pasar de horas a dias????

04-Jul-2011 16:26
oscar gomez
1 Respuestas

Hola profesor Nacho cabanes.

mira queria preguntarte y pedir tu ayuda en lo siguiente:

el problema que tengo es que tengo una variable tipo tiempo que defino como :

type
   tiempo=record
    hh:integer;
    mm:integer;
   end;


y en algun momento tengo dentro de un programa una variable que me esta almacenando el total de sumar varias horas en formato tipo tiempo , porejemplo supon que tengo la variable:

suma_total_tiempos y que en ella se me almacena: 75:50

(es decir 75 horas:50 minutos) , quiero pedir tu ayuda como puedo hacer una funcion o procedimiento que ahora tome el tiempo
75:50 y me lo convierta en su correspondiente a:

3 dias:3 horas:50 minutos??

se que sabras orientarme como bien lo haces siempre, te pido el favor si puedes indicarmelo con codigo, mil gracias por tu ayuda profesor.


04-Jul-2011 19:42
Nacho Cabanes (+84)

Decías...

> y en algun momento tengo dentro de un programa una variable que me esta almacenando el total de sumar varias horas en formato tipo tiempo , porejemplo supon que tengo la variable:

> suma_total_tiempos y que en ella se me almacena: 75:50

Cuidado: en Pascal estándar no existe ningún tipo de datos que pueda contener una hora como 75:50. Tienes alternativas como:

- Guardarlo como minutos, usando un número entero (75:50 seria 4500 minutos).

- Guardarlo como horas, usando un número real (75:50 seria 75,83333 horas).

- Guardarlo como cadena de texto, con lo cual guardas exactamente "75:50", pero no puedes hacer operaciones con ese valor.

- Guardar los totales también como un dato de tipo "tiempo" creado por ti.


Posiblemente, la opción más sencilla es la primera. En cualquier caso, para calcular los días, basta con dividir las horas entre 24:

dias := horas div 24;
horas := horas mod 24;






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)