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 10-04-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Cita:
Empezado por eldiegofg
Tengo Delphi 5 puede ser por eso, que sea la version de mi Delphi sea demasiado antigua?? Muchas gracias
Muy Posiblemente sea eso, no puedo asegurarlo ya que de delphi 3 salté a delphi 6 y allí ya estaban esas funciones.

Tendrías que crear algunas rutinas que lo hagan, teniendo en cuenta mi mensaje anterior, podrías codificarlas... o eso espero.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #2  
Antiguo 11-04-2007
eldiegofg eldiegofg is offline
Miembro
 
Registrado: mar 2007
Ubicación: Colón - Entre Ríos
Posts: 54
Poder: 18
eldiegofg Va por buen camino
Hola gente, les cuento que me pase a la version 7 de Delphi y si bien encontre las funciones y la unit mencionadas sigo teniendo el mismo problema: casi todas las operaciones que hago dan como resultado 30/12/1899. Es raro porque no es 31/12/1899 como la base del calendario sino 30/12/1899. Les dejo por las dudas el fuente por si lo quieren ver, capaz estoy haciendo algo mal... espero no me reten, jaja. Muchas gracias
Archivos Adjuntos
Tipo de Archivo: zip fecha.zip (1,6 KB, 26 visitas)
Responder Con Cita
  #3  
Antiguo 11-04-2007
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.561
Poder: 25
egostar Va camino a la fama
Bueno tienes varios detalles en tu código.

1. Usas variables de tipo Double, mejor usa tipo TDateTime.
2. Estas buscando dias transcurridos entre las fechas.
3. Muestras los dias como si fuera fecha y no es así, es un valor entero.

Aqui te pongo la modificación a tu código.

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
  fecha: Real;
  fecha1,fecha2:TDateTime;
begin
  fecha1:=StrtoDate('11/11/06');
  fecha2:=StrtoDate('10/10/06');
  fecha:=daysbetween(fecha1,fecha2);
  edit1.Text:=floattostr(fecha);
end;

Salud OS.
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #4  
Antiguo 13-04-2007
alixp23 alixp23 is offline
Miembro
 
Registrado: mar 2007
Posts: 10
Poder: 0
alixp23 Va por buen camino
Ayuda con tdate time

Como puedo hacer esto mismo que ustedes explican pero en c++????
Responder Con Cita
  #5  
Antiguo 14-04-2007
eldiegofg eldiegofg is offline
Miembro
 
Registrado: mar 2007
Ubicación: Colón - Entre Ríos
Posts: 54
Poder: 18
eldiegofg Va por buen camino
Ahora si anduvo bien, muchas gracias. En realidad habia probado todo lo que decis menos pasar la fecha como una cadena. Yo la fecha la asignaba directamente a la variable TdateTime y en el resultado de cualquier operacion me daba cero. Por que se hace eso de asignar como cadena y despues convertirla a date en vez de ingresarla como TdateTime directamente??
Responder Con Cita
  #6  
Antiguo 14-04-2007
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.561
Poder: 25
egostar Va camino a la fama
Cita:
Empezado por eldiegofg
Ahora si anduvo bien, muchas gracias. En realidad habia probado todo lo que decis menos pasar la fecha como una cadena. Yo la fecha la asignaba directamente a la variable TdateTime y en el resultado de cualquier operacion me daba cero. Por que se hace eso de asignar como cadena y despues convertirla a date en vez de ingresarla como TdateTime directamente??
No se exactamente porque al pasarlo como tu lo hacías el resultado da cero, pero así sucede, pienso que tal ves esta agregando también la parte Time y eso le provoque alguna inconsistencia a la función DaysBetween.

Pero, si lo que quieres es pasar directamente una variable TDateTime puedes hacer esto y funciona bien.

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
  fecha: Integer;
  fecha1,fecha2:TDateTime;
begin
  fecha1:= DateTimePicker1.Date;
  fecha2:= DateTimePicker2.Date;
  fecha:=daysbetween(fecha1,fecha2);
  edit1.Text:=floattostr(fecha);
end;
Aqui estoy usando dos componentes adicionales que son los TDateTimePicker con la propiedad Date. Aunque se puede simplificar de otra manera. pero la idea es que observes la diferencia, con el StrtoDate.

Aquí la simplificación del código.

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
  Dias: Integer;
begin
  Dias := daysbetween(DateTimePicker1.Date,DateTimePicker2.Date);
  edit1.Text:=floattostr(Dias);
end;
Salud OS.
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #7  
Antiguo 14-04-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Hace ya algun tiempo el Maestro Al Gonzalez hizo el codigo para restar fechas:
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
Var
FechHora1 :TDateTime;
FechHora2 :TDateTime;
Dias :Integer;
begin
   FechHora1:= DateTimePicker1.DateTime;
   FechHora2:= DateTimePicker2.DateTime;
   Dias := Trunc (FechHora2) - Trunc (FechHora1);
   Edit1.Text:= IntToStr(Dias);
end;
Saludos
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
Error Con Fechas! nicolas_espina SQL 2 04-08-2006 01:18:19
Como trabajar con fechas y horas JULIPO MySQL 7 07-06-2006 17:01:34
DBGrid, trabajar con fechas BlueSteel Varios 4 02-09-2005 21:30:20
me hace falta un componente para trabajar con fechas y bases de datos fearlex Conexión con bases de datos 17 13-07-2004 23:37:28
Como trabajar con fechas? judoboy OOP 4 19-05-2003 11:28:58


La franja horaria es GMT +2. Ahora son las 03:17:11.


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