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 11-09-2008
Avatar de JoysticK
JoysticK JoysticK is offline
Miembro
 
Registrado: abr 2004
Posts: 68
Poder: 21
JoysticK Va por buen camino
Reiniciar variable TDate...

Hola, ya estamos por aqui con otra duda... estoy intentando hacer algo pareceido a esto...

variable1: TDate;


If Not fecha.isnull Then
variable1 := fecha.value
else
variable1 := Null;


pero recibo error en variable1 := Null .... como se vacia/reinicia una variable tipo date ?
__________________
Borland Delphi XE2 // Interbase Server
Responder Con Cita
  #2  
Antiguo 11-09-2008
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Creo que puedes asignarle un "valor cero", sencillamente, no sé si me equivoco.

Código Delphi [-]
MyDate := 0;
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #3  
Antiguo 11-09-2008
Avatar de JoysticK
JoysticK JoysticK is offline
Miembro
 
Registrado: abr 2004
Posts: 68
Poder: 21
JoysticK Va por buen camino
Cita:
Empezado por dec Ver Mensaje
Hola,

Creo que puedes asignarle un "valor cero", sencillamente, no sé si me equivoco.

Código Delphi [-]MyDate := 0;

Impresionante la velocidad de respuesta jejeje, lo acabo de probar y me he encontrado con el fallo/problema que me suponia...

Si le asigno a variable1 := 0; y despues le hago un ShowMessage(DatrToStr(variable1)) me devuelve 30/12/1899... una putadilla para mi la verdad...

Por eso estaba buscando alguna forma de asignarle valor nulo a la variable

O bien tendre que controlar mediante codigo que cuando sea esa fecha me la cambie por null a la hora de guardarla en el campo de la base de datos
__________________
Borland Delphi XE2 // Interbase Server
Responder Con Cita
  #4  
Antiguo 11-09-2008
ninguno ninguno is offline
Miembro
 
Registrado: sep 2008
Posts: 45
Poder: 0
ninguno Va por buen camino
Hola

Si quieres "jugar" con los null, deberás usar una variable de tipo Variant. Luego tienes métodos para transformar ese variant a fecha como VarToDateTime
Responder Con Cita
  #5  
Antiguo 11-09-2008
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

No sé... lo que se me ocurre a bote pronto igual es una tontería, pero, a la hora de guardar la información en la base de datos, ¿no podrías guardar directamente un valor "null", y no el valor de la variable que se supone puede contener dicho valor? No sé si me explico... ni si digo algo más o menos curioso...
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #6  
Antiguo 11-09-2008
Avatar de JoysticK
JoysticK JoysticK is offline
Miembro
 
Registrado: abr 2004
Posts: 68
Poder: 21
JoysticK Va por buen camino
Cita:
Empezado por ninguno Ver Mensaje
Hola

Si quieres "jugar" con los null, deberás usar una variable de tipo Variant. Luego tienes métodos para transformar ese variant a fecha como VarToDateTime
Interesante, no se me habia ocurrido jeje, voy a investigarlo, parece buena idea
__________________
Borland Delphi XE2 // Interbase Server
Responder Con Cita
  #7  
Antiguo 11-09-2008
Avatar de JoysticK
JoysticK JoysticK is offline
Miembro
 
Registrado: abr 2004
Posts: 68
Poder: 21
JoysticK Va por buen camino
Cita:
Empezado por dec Ver Mensaje
Hola,

No sé... lo que se me ocurre a bote pronto igual es una tontería, pero, a la hora de guardar la información en la base de datos, ¿no podrías guardar directamente un valor "null", y no el valor de la variable que se supone puede contener dicho valor? No sé si me explico... ni si digo algo más o menos curioso...
La verdad es que el problema me venia cuando asignaba a la variable1 el valor del campo directamente, si el campo era nulo pues variable1 cogia como valor la fecha maldita esa (30/12/1899) y claro, cuando despues utilizaba la variable para almacenarla en otro campo de la base de datos, en vez de guardar nulo, me almacenaba ese valor, y vincular directamente de un campo a otro no puedo hacerlo pues las consultas tengo que mantenerlas el menor tiempo posible abiertas, estoy trabjando con cliente servidor y la linea me pega cortes cada dos por tres... voy a investigar con el tipo variant a ver si puedo asignarle valor null...
__________________
Borland Delphi XE2 // Interbase Server
Responder Con Cita
  #8  
Antiguo 14-09-2008
Avatar de JoysticK
JoysticK JoysticK is offline
Miembro
 
Registrado: abr 2004
Posts: 68
Poder: 21
JoysticK Va por buen camino
Si, problema resuelto utilizando variables tipo variant a las que si puedo asignarles valor null, Gracias a todos
__________________
Borland Delphi XE2 // Interbase Server
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
Tdate time!!!!!!!!!!!!!!! alixp23 C++ Builder 1 13-04-2007 06:57:32
!!!!Ayuda con Tdate Time!!!!!!!!!! alixp23 C++ Builder 3 11-04-2007 01:06:04
Partes de TDate beatriz g Varios 1 04-09-2006 19:57:22
Problema con el TDate. alfredosg19 OOP 8 15-03-2005 13:05:30
Tdate sin decimales MITOPE Varios 2 18-03-2004 20:52:49


La franja horaria es GMT +2. Ahora son las 04:52:43.


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