Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Error(Date exceeds maximum ) con DateTimePicker de minDate y maxdate (https://www.clubdelphi.com/foros/showthread.php?t=49847)

thelibmx 31-10-2007 19:52:59

Error(Date exceeds maximum ) con DateTimePicker de minDate y maxdate
 
hola amigos creo que esta es una consulta simple pero un poco liosa para mi, veran tengo un combobox que me marca años del 2008 al 2030 y tengo dos datatimepiker con dos tedits, entonces lo que yo quiero hacer es que cuando yo seleccione por ejemplo año 2008 en el combo box, solo me permita seleccionar un rango de fechas en el datatimepiker,por ejemplo en el caso de 2008 del 01/01/2008 al 15/01/2009, doy quince dias de mas de margen por que son necesarios para el programa que estoy haciendo, y asi sucesivamente, es decir si selecciono 2020 pues seria 01/01/2020 al 15/01/2021, espero haberme dado a entender, la verdad que eso ya lo tengo solucionado pues mi codigo es este
Código Delphi [-]
 
procedure TForm1.ComboBox1Change(Sender: TObject);
var
anio:integer;
begin
anio:=strtoint(ComboBox1.text);
Edit1inicio.text:=('01/01/'+inttostr(anio));
Edit2fin.Text:=('15/01/'+inttostr(anio+1));
DateTimePicker1.minDate:=strtodate(Edit1inicio.text);
DateTimePicker1.date:=strtodate(Edit1inicio.text);
DateTimePicker1.MaxDate:=strtodate(Edit2fin.text);
DateTimePicker2.minDate:=strtodate(Edit1inicio.text);
DateTimePicker1.date:=strtodate(Edit1inicio.text);
DateTimePicker2.maxDate:=strtodate(Edit2fin.text);
end;
y pues la primera ves funciona de lujo, tal como lo que quiero hacer, pero cuando cambio a un año mas alto o mas bajo en el combo, pues me manda un error de
Código:

Date exceeds maximum of 12/01/2010
se que se genera por los limites de las fechas que asigno, intente poner un try except pero no funciono, si quito la fecha del maxdate si funciona pero necesito restrigir tambien la fecha maxima, se los agradeceria mucho si pudieran darme una pista o una solucion que pueda ayudarme con ese problema, de antemano muchas gracias :D

marcoszorrilla 31-10-2007 21:29:28

No sé si con este código respondo a lo que pides, ya dirás:

Código Delphi [-]
procedure TForm1.ComboBox1Change(Sender: TObject);
var
anio:integer;
f:TDate;
begin
f:=StrToDate('30/12/1899');
anio:=strtoint(ComboBox1.text);

Edit1inicio.text:=('01/01/'+inttostr(anio));
Edit2fin.Text:=('15/01/'+inttostr(anio+1));
DateTimePicker1.minDate:=f;
DateTimePicker1.MaxDate:=f;
DateTimePicker2.minDate:=f;
DateTimePicker2.maxDate:=f;


DateTimePicker1.minDate:=strtodate(Edit1inicio.text);
DateTimePicker1.date:=strtodate(Edit1inicio.text);
DateTimePicker1.MaxDate:=strtodate(Edit2fin.text);
DateTimePicker2.minDate:=strtodate(Edit1inicio.text);
DateTimePicker1.date:=strtodate(Edit1inicio.text);
DateTimePicker2.maxDate:=strtodate(Edit2fin.text);
end;

Un Saludo.

thelibmx 01-11-2007 00:07:17

Muchas gracias marcoszorrilla era lo que necesitaba, no sabia por donde pero ya quedo, gracias por tu ayuda amigo


La franja horaria es GMT +2. Ahora son las 15:44:22.

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