PDA

Ver la Versión Completa : Fechas sin Separador


lucasarts_18
22-09-2005, 01:22:46
Hola:

Alguien conoce alguna función que me entregue la fecha sin separador..

Ej: 25/08/1999 -> 25081999

este es mi código:


if varisnull(Field(3)) then nro_documento := datetostr(date)
else nro_documento := UpperCase(Field(3));


al parecer el dateseparator no funciona para estos casos..

y otra dudilla VarisNull no me está funcionando en Oracle, pues en SQL Server si funcionaba..Es decir hay datos nulos en la BD pero los ignora...siempre salta al else..

Cualquier ayuda es de agradecer...:D

Saludos.

lucasarts_18
22-09-2005, 01:31:50
y otra dudilla VarisNull no me está funcionando en Oracle, pues en SQL Server si funcionaba..Es decir hay datos nulos en la BD pero los ignora...siempre salta al else..
Este problema ya lo arreglé, utilicé VarisEmpty.

Con lo otro sigo igual, o te tendré que crear mi propia función..??

Saludos.

dec
22-09-2005, 02:59:25
Hola,


Ej: 25/08/1999 -> 25081999
¿Algo así no podría apañarte? ;)


FormatDateTime('ddmmyyyy', StrToDate('25/08/1999'));

O, dicho de otro modo:


function FechaSinSeparador(fecha: TDate): string;
begin
Result := FormatDateTime('ddmmyyyy', fecha);
end;
//
function FechaSinSeparador(fecha: string): string;
begin
Result := FormatDateTime('ddmmyyyy', StrToDate(fecha));
end;

dec
22-09-2005, 03:46:48
Hola,

También algo así parece ir:


// Sin espacios en las fechas
DateSeparator := #0;
// La prueba de que funciona ;)
ShowMessage(DateToStr(Date));

lucasarts_18
22-09-2005, 16:38:33
Hola:

Dec, gracias....funciona perfecto...siempre dando en el clavo...:D

Saludos y mil gracias...
Hasta la próxima...

dec
23-09-2005, 00:51:18
Hola,

Ignoro (pues claro está) qué solución tomaste de las propuestas, pero, acaso cabe añadir que si te decidiste por la última:


// Sin espacios en las fechas
DateSeparator := #0;

Tal vez sea menester deshacer lo hecho: quiere decirse que tal vez sea preciso luego de hacer uso de una fecha "sin espacios" restaurar el "separador de fechas", de modo que podamos luego seguir usando las fechas en un formato apropiado a las circunstancias.

Resumiendo creo que habría que hacer algo como esto, aunque no estoy seguro de si habría alguna otra forma mejor de hacer lo que se pretende:


var
sep: Char;
begin
sep := DateSeparator;
DateSeparator := #0;
try
{
[aquí lo que sea menester hacer]
}
finally
DateSeparator := sep;
end;
end;