buenas tardes
tengo esta rutina
Código Delphi
[-]Function Establecerfechas (var dtInicio:TDate; var dtFinal:TDate; mInicial :Integer):Boolean;
Var t_dia, t_mes, t_ano : String; t_mes1 :Integer;
begin
if mInicial = 0 then
t_mes := dmGlobal.g_Mes
else
t_mes := Llenar(IntToStr(mInicial),2);
t_dia := '01';
t_ano := Copy (dmGlobal.g_Periodo,1,4);
dtInicio := StrToDate(t_dia + '/' + t_mes + '/' + t_ano);
t_dia := '01';
t_mes1 := StrToInt(dmGlobal.g_Mes) + 1;
If dmGlobal.g_Mes <= '11' then
dtFinal := Trunc(StrToDate(t_dia + '/' + IntToStr(t_mes1) + '/' + t_ano) -1)
else
dtFinal := Trunc(StrToDate( '31/12/' + Copy(dmGlobal.g_periodo,1,4)));
Result := True;
End;
Donde:
dmGlobal.g_MES = variable publica que me guarda el mes del año que estoy procesando
Llenar(IntToStr(mInicial),2) // Llena de ceros Osea de '1' pasa a ser '01'
dmGlobal.g_periodo = variable publica que tiene el año y mes en proceso ejemplo '200801' Año 2018 Mes Enero
para no hacerles el cuento largo lo que hace la rutina es basicamente encontrar el primer dia del mes y el ultimo dia del mes
Uso TDateTimePicker
y en algun momento invoco a la rutina asi
Código Delphi
[-]Var dtInicio , dtFin : TDate;
begin
Establecerfechas(dtinicio, dtFin, 0);
dtFechaVoucher.MinDate := dtInicio;
dtFechaVoucher.MaxDate := dtFin;
pero cuando quiero cambiar la fecha me aparece este mensaje :
Cita:
Failed to Set Calendar date or time
|
solo sucede cuando se trata de establecer la fecha minima y maxima, en los demas casos no hay problema