发现一个奇怪的问题!
我使用一个TUpDown控件组合一个TEdit,想实现在一个日期的选择效果(增加或者减少一天)
其中代码部分如下:
dtDate是用于存放时间的TDateTime变量!
这段代码运行时两个statement都可正常执行!即消息正确传递!
但是时间无法退回到当前日期之前,请问这是为什么?
例如,今天是2005-8-10,则可以前进到2005-9-1再往回退也正常,但是退到2005-8-10后就再也无法后退了!if Button =btPrev then
          begin
          dtDate:=IncDay(dtDate,-1);
          end;
if Button =btNext then
          begin
          dtDate:=IncDay(dtDate, 1);
          end;
edDate.text:=DateToStr(dtDate);

解决方案 »

  1.   

    不应该吧,你直接对日期进行加减呢!
    TDataTime可以直接加减的!
    我用DELPHI试了一下用的TDateTimePicker组件没用问题!procedure TForm1.PriorBtnClick(Sender: TObject);
    begin
      DateTimePicker1.Date := DateTimePicker1.Date + 1;
    end;procedure TForm1.NextBtnClick(Sender: TObject);
    begin
      DateTimePicker1.Date := DateTimePicker1.Date - 1;
    end;
      

  2.   

    看看你的TUpDown的范围,将其MAX修改为9999,将其MIN修改为-9999,就可以用了,但是还有范围限制,不过前后各三十多年应该够你用的啦!