Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   DateTimePicker mayor rango (https://www.clubdelphi.com/foros/showthread.php?t=94618)

compuin 29-04-2020 19:19:49

DateTimePicker mayor rango
 
Hola Foro

Me encuentro que el DateTimePicker no retrocede fechas mas alla de 1610.

Existe alguna forma de extender esto, por ejemplo, llegar al anio 1 BC o es un comportamiento del control?

En mi caso utilizo Delphi 7

Gracias de antemano

Casimiro Noteví 29-04-2020 20:05:19

No recuerdo si delphi 7 tiene la propiedad mindate:



compuin 29-04-2020 20:10:17

Hola

ya lo he intentado pero no funciona

compuin 29-04-2020 20:18:26


open png image

ecfisa 29-04-2020 20:25:29

Hola.

Es un comportamiento de windows.
Cita:

Windows does not support dates prior to 1601. See the FILETIME structure for details.

The control is based on the Gregorian calendar, which was introduced in 1753. It will not calculate dates that are consistent with the Julian calendar.
Extraido de: About Date and Time Picker Controls

Saludos :)

compuin 29-04-2020 20:27:53

Muchas gracias a ambos

:cool:

ecfisa 29-04-2020 20:31:40

Hola de nuevo.

De todos modos, si el rango de fechas es tán amplio, el TDateTimePicker no es cómodo para desplazarse por ellas.
Seguramente el usuario se sienta mas cómodo ingresando la fecha manualmente mediante un TMaskEdit, por ejemplo.

Saludos :)

compuin 29-04-2020 20:33:42

He intentado MaskEdit pero no logro que me tome una fecha bajo este formato


Código Delphi [-]
01.01.2001

ecfisa 29-04-2020 21:37:42

Hola.

Intenta esta máscara a ver si cumple con lo que necesitas:
Código Delphi [-]
procedure TForm.FormCreate(Sender: TObject);
begin
  MaskEdit1.EditMask := '!09.09.0099;1;_';
...

Saludos :)

compuin 29-04-2020 22:03:03

Excelente!!!

Muchas gracias

:)

compuin 29-04-2020 22:49:21

Es posible hacer una mascara asi ?

Que pueda mostrar los simbolos de grados, minutos y segundos


ecfisa 29-04-2020 23:35:18

Hola.

¿ Algo así ?
Código Delphi [-]
...
begin
  MaskEdit1.Text     := '';
  MaskEdit1.EditMask := '!90°90''90";1;_'

Saludos :)

compuin 29-04-2020 23:43:59

Al digitar los valores me borra los simbolos

ecfisa 30-04-2020 01:04:05

Hola.

Que raro... será la versión de Delphi, en mi caso funciona correctamente:



Saludos :)

compuin 14-05-2020 02:32:52

Cita:

Empezado por ecfisa (Mensaje 536965)
Hola.

¿ Algo así ?
Código Delphi [-]
...
begin
  MaskEdit1.Text     := '';
  MaskEdit1.EditMask := '!90°90''90";1;_'

Saludos :)

Hola,

A esta mascara como le puedo agregar para que me quede con una letra al final, de esta manera

Código Delphi [-]

 10° 29' 45"N

Muchas gracias

ecfisa 14-05-2020 15:11:02

Hola.

Solo agrega el caracter donde lo deseas, ej.:
Código Delphi [-]
  '!90°90''90"N;1;_'

Saludos :)

compuin 14-05-2020 15:16:32

Cita:

Empezado por ecfisa (Mensaje 537248)
Hola.

Solo agrega el caracter donde lo deseas, ej.:
Código Delphi [-]
  '!90°90''90"N;1;_'

Saludos :)

Muchas gracias

Me funciona como me indicastes (N=Norte), pero en tiempo de ejecucion no me permite modificarlo si trato de colocar S(S=Sur)

ecfisa 14-05-2020 20:38:49

Hola.

Código Delphi [-]
function GradeWidthDir(const Dir: Char): string;
begin
  Result :=   '!90°90''90" ' + Dir + ';1;_';
end;

Uso:
Código Delphi [-]
  MaskEdit1.Text     := '';
  MaskEdit1.EditMask :=  GradeWidthDir('E');

Saludos :)


La franja horaria es GMT +2. Ahora son las 14:26:54.

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