Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Tablas planas (https://www.clubdelphi.com/foros/forumdisplay.php?f=20)
-   -   DataTimerPicker en Paradox (https://www.clubdelphi.com/foros/showthread.php?t=19269)

CarmaZone 09-03-2005 14:04:49

DataTimerPicker en Paradox
 
Ola, uso delphi 6 y tablas paradox, tengo mi tabla con un campo fecha que relleno con un dbEdit asociado al campo fecha de la tabla y todo correcto, me gustaria saber si para rellenar ese campo fecha puedo usar un DataTimerPicker, y si se puede, como lo asocio a la tabla?porque no creo que se pueda asociar al no ser un componente para BDE.

Perdon si he dicho alguna barbaridad :p

Gracias & Salu2!!!


EDITO: Me respondo a mi mismo, en lugar de utilizar el DataTimerPicker, he editado la propiedad EditMask de mi campo fecha y asi no habrá confusión con lal / y - xDDDDD

Eske en estos foros hay de todo :D

marcoszorrilla 09-03-2005 14:51:53

Puedes utilizar también un DateTimePicker, lo que pasa es que no es un control enlazada a datos, por lo que tendrás que tomar su valor y pasarlo a la tabla por ejemplo en el evento OnChange:
Código Delphi [-]
 procedure TForm1.DateTimePicker1Change(Sender: TObject);
 begin
 Table1.Edit;
 Table1Saledate.Value:=Trunc(DateTimePicker1.Date);
 end;
 //
 DateTimePicker1.Date:=Trunc(Table1Saledate.Value);

Un Saludo.

CarmaZone 09-03-2005 15:37:06

La funcion trunc no la conocia xDDD he probado tal y como has dicho sin la funcion trunc y tambien lo hace xDDD :p la verda esque así queda más bonito

Muchas Gracias!!!

marcoszorrilla 09-03-2005 15:41:31

La única diferencia es que con Trunc te guarda solamente la fecha y no la fecha y la hora.

Un Saludo.

roman 09-03-2005 15:59:41

Cita:

Empezado por marcoszorrilla
La única diferencia es que con Trunc te guarda solamente la fecha y no la fecha y la hora.

Creo que esto no es necesario. El método SetDate (método de acceso de la propiedad Date) es:

Código Delphi [-]
ReplaceTime(TDateTime(Value), FDateTime);
if Value = 0.0 then CheckEmptyDate;
try
  CheckValidDate(Trunc(Value));
  SetDateTime(Value);
except
  SetDateTime(FDateTime);
  raise;
end;

ReplaceTime reemplaza la parte del tiempo en Value por la parte del tiempo que actualmente tenga la propiedad DateTime de manera que truncado o no el método de acceso hace caso omiso de dicha porción.

// Saludos

CarmaZone 09-03-2005 16:01:34

AH, no lo sabia,pero como el campo fecha de mi tabla paradox es de tipo DATE po al parecer me coje solo la fecha xD con solo ponerlo asi funciona,aunke nose si es lo correcto xD

Código:

procedure TForm1.DateTimePicker1Change(Sender: TObject); 
begin
Table1.Edit;
Table1FECHA.Value:=DateTimePicker1.Date;
end;

Gracias por aclarar mi duda

Salu2!!!

marcoszorrilla 09-03-2005 17:06:00

Román, aunque es convincente tu argumento, mira acabo de hacer una prueba:

Código Delphi [-]
 procedure TForm1.Button1Click(Sender: TObject);
 begin
 ShowMessage(FormatDateTime('dd/mm/yyyy hh:mm:ss',DatetimePicker1.Date));
 end;

Tengo el DateTimePicker en el modo Date, y sin embargo me devuelve:
09/03/2005 19:10:20

Por lo que tengo mis dudas de que sin Trunc no cojamos la fecha también.



Un Saludo.

roman 09-03-2005 17:44:05

Bueno, es que a fin de cuentas los tipos TDate, TTime y TDateTime son lo mismo, un Double. La diferencia está en que las funciones que manejan este tipo de datos consideran una parte, la otra o ambas.

Cuando usas FormatDateTime estás forzando a mostrar la porción horaria de algo que en principio sólo es una fecha, y dado que TDate sigue siendo un Double, pues algo ha de mostrar en la porción tiempo ¿no?

Por otro lado es lógico que el DateTimePicker reemplace el tiempo en la propiedad Date y la fecha en la propiedad Time ya que debe mantener sincronizadas las tres propiedades, Date, Time y DateTime. Si el control no se encargara de esta sincronización impidiendo que el usuario insertara una fecha-hora en la propiedad Date entonces no tendría caso publicar tres propiedades bastando sólo la de DateTime.

// Saludos


La franja horaria es GMT +2. Ahora son las 23:56:17.

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