Ver la Versión Completa : DateTimePicker mayor rango
compuin
29-04-2020, 19:19:49
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 Notevi
29-04-2020, 20:05:19
No recuerdo si delphi 7 tiene la propiedad mindate:
https://i.imgur.com/zcUNuNU.png
compuin
29-04-2020, 20:10:17
Hola
ya lo he intentado pero no funciona
compuin
29-04-2020, 20:18:26
https://i.ibb.co/qjpnGp5/0001.png (https://ibb.co/1QTnVT6)
open png image (https://imgbb.com/)
ecfisa
29-04-2020, 20:25:29
Hola.
Es un comportamiento de windows.
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 (https://docs.microsoft.com/en-us/windows/win32/controls/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
01.01.2001
ecfisa
29-04-2020, 21:37:42
Hola.
Intenta esta máscara a ver si cumple con lo que necesitas:
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
https://i.ibb.co/2302Lpp/ZET-Datos.png (https://imgbb.com/)
ecfisa
29-04-2020, 23:35:18
Hola.
¿ Algo así ?
...
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:
https://i.postimg.cc/85N8Xv4x/maskEdt.gif
Saludos :)
compuin
14-05-2020, 02:32:52
Hola.
¿ Algo así ?
...
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
10° 29' 45"N
Muchas gracias
ecfisa
14-05-2020, 15:11:02
Hola.
Solo agrega el caracter donde lo deseas, ej.:
'!90°90''90"N;1;_'
Saludos :)
compuin
14-05-2020, 15:16:32
Hola.
Solo agrega el caracter donde lo deseas, ej.:
'!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.
function GradeWidthDir(const Dir: Char): string;
begin
Result := '!90°90''90" ' + Dir + ';1;_';
end;
Uso:
MaskEdit1.Text := '';
MaskEdit1.EditMask := GradeWidthDir('E');
Saludos :)
vBulletin v3.6.8, Derechos ©2000-2024, Jelsoft Enterprises Ltd.