Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 24-07-2007
Iskariote0087 Iskariote0087 is offline
Miembro
 
Registrado: ene 2006
Posts: 81
Poder: 19
Iskariote0087 Va por buen camino
Guardar mas de 24:00:00 en Paradox

Hola gente!! tengo un probema necesito ayuda.
Estoy haciendo un programa en Delphi7 y despues de hacer unos calculos meto en una variable de tipo TDateTime el valor de dichos calculos. En alguna ocasion el resulado supera las 24 horas quedandome un valor como esto:46:05:17. Pues bien el problema es cuando quiero guardar este dato en Paradox en un campo Time. Hasta 24:00:00 no hay problema pero a partir de ahi..... conocen alguna manera de poder guardar la cantidad real de las horas? Gracias de antemano

Un saludo
Iskariote
Responder Con Cita
  #2  
Antiguo 24-07-2007
gabrielkc gabrielkc is offline
Miembro
 
Registrado: jun 2007
Ubicación: Chihuahua Mexico
Posts: 118
Poder: 17
gabrielkc Va por buen camino
Puedes guardar el valor en horas y minutos:

20:30=(20.50/24) . El campo tendria que ser de tipo Float

Para empezar tengo una duda.... como haces para meter mas de 24 hrs en una variable de tipo TTime. Según yo tendría que ser una variable TDateTime;

La parte Date guarda los dias completos (24 hrs) y la parte time las horas, minutos y segundos y etc. sobrantes. Puedes usar los tipos TTime, TDate y TDateTime como reales ( en realidad es lo que son)

La parte entera tiene el número de dias y la fraccionaria las hrs, mins, segs, etc.

El número obtenido por 24 te dá la cantidad total de horas más una fracción que representa minutos y segundos, la parte fraccionaria por 60 te dá la cantidad de minutos mas una fracción que representa la cantidad de segundos y así sucesivamente:

Código Delphi [-]
function HorasToReal(Hora:TDateTime):Real;
begin
 Result:=Hora;
end;


procedure RealToHoras(const AValue:Real; var Horas:Integer; var Minutes:Integer; var Seconds:Integer; var Miliseconds:Integer);
var Mins, Secs, MSecs:Real;
begin
  Horas:=Trunc(AValue*24);
  Mins:=Frac(AValue*24);
  Minutes:=Trunc(Mins*60);
  Secs:=Frac(Mins*60);
  Seconds:=Trunc(Secs*60);
  MSecs:=Frac(Secs*60);
  MSecs:=Trunc(MSecs*1000);
end;
Responder Con Cita
  #3  
Antiguo 24-07-2007
Iskariote0087 Iskariote0087 is offline
Miembro
 
Registrado: ene 2006
Posts: 81
Poder: 19
Iskariote0087 Va por buen camino
No guardo mas de 24Horas en una variable TTime guardo mas de 24Horas dentro de una variable TDateTime.
Es cuando quiero grabar este dato en una tabla Paradox en un campo Time cuando me da el problema.
En realidad lo que yo quiero es poder almacenar en un campo de Paradox un dato como este 48:05:10

Un saludo
Responder Con Cita
  #4  
Antiguo 24-07-2007
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
El problema viene dado porque en un campo Ttime no puedes guardar más que 24 horas, porque lo siguiente ya sería un día.

Sin embargo esa aritimética sería posible con campos TDateTime (TimeStamp)
en donde al restar de una fecha:Hora, nos puede dar diferencias mayores del día y se guardaría cada cosa en su sitio.

En otro caso sería preciso un campo auxiliar para guardar las diferencias.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #5  
Antiguo 24-07-2007
tenporal tenporal is offline
Miembro
 
Registrado: may 2007
Posts: 28
Poder: 0
tenporal Va por buen camino
Y si en vez de querer guardarlo en un campo tipo Date lo guardas en un campo tipo string y lo manejas en tu programa convirtiendo el valor date a string y al recuperarlo haces la operacion contraria si es que vas a volver a ocupar el dato para modificarlo.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Guardar jpg en paradox Gabriel2 Varios 1 12-09-2005 15:17:35
Error al guardar modificaciones tabla paradox Sayuri Tablas planas 2 29-07-2005 20:48:10
paradox 7 guardar registros Mariana Conexión con bases de datos 3 12-11-2004 18:16:28
Guardar datos leidos de dbedits en una tabla paradox vhirginia Tablas planas 4 15-04-2004 17:28:58
Guardar datos en una tabla paradox vhirginia Conexión con bases de datos 3 15-04-2004 17:15:59


La franja horaria es GMT +2. Ahora son las 09:15:09.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi