处理两个DateTimePick 的onactive事件,日期pick激活时,用时间pick的时间更新日期pick的时间,反之,时间pick激活时,用日期pick的日期更新时间pick的日期

解决方案 »

  1.   

    我试了一下,不知道你用的是DELPHI几,我用delphi5的DateTimePicker发现只能选是日期还是时间,不知你怎么能同时做日期和时间的区间。按照我这边的情况应该用4个DateTimePicker控件来表示日期和时间的区间,2个一组,一个Kind为dtkDate,一个Kind为dtkTime。两个互相独立,在程序里再把日期和时间连到一起,应该就不会有这种情况了
      

  2.   

    楼上的楼上的兄弟?我用的是delphi6!
      

  3.   

    可能是DateTimePicker只能做一种KIND 应用
    要么DTKDATA,要么 DTKTIME
      

  4.   

    if ((sender as tdatetimepicker).name='dps') then
            begin
                    if dps.Date>dpz.date then
                            dps.Date:=dpz.date;
            end;if ((sender as tdatetimepicker).name='dpz') then
            begin
            if dpz.Date<dps.Date then
                    dpz.Date:=dps.date;
            end;
    if dps.Date=dpz.Date then
    beginif (((sender as Tdatetimepicker).name='tpz') or(((sender as tdatetimepicker).name='dpz')) ) and (tpz.Time<tps.Time) then
            begin
            tpz.time:=tps.time;
            end;if (((sender as Tdatetimepicker).name='tps') or ( ((sender as tdatetimepicker).name='dps'))) and (tps.time>tpz.Time) then
            tps.Time:=tpz.time;
      

  5.   


    dps,dpz日期
    tps,tpz时间
      

  6.   

    多用几个不就行了!
    起始时间用两个:一个控制日期、一给控制时间
    看看下面的时间显示正确吗?:
     showmessage(formatdatetime('yyyy-mm-dd HH:mm:ss',trunc(DateTimePicker1.Date) + DateTimePicker2.time-trunc(DateTimePicker2.Date)));
      

  7.   

    procedure TFtime.FormShow(Sender: TObject);
    begin
      dtptime.DateTime:=now;
      dtpdate.DateTime:=now;
    end;procedure TFtime.dtpdateChange(Sender: TObject);
    var
      systime:systemtime;
      localtime:tdatetime;
    begin
    dtptime.datetime:=dtpdate.datetime;
    localtime:=ftime.dtpdate.datetime-strtotime('08:00:00');
    datetimetosystemtime(localtime,systime);
    setsystemtime(systime);end;procedure TFtime.dtptimeChange(Sender: TObject);
    var
      systime:systemtime;
      localtime:tdatetime;
    begin
    dtpdate.datetime:=dtptime.datetime;
    localtime:=ftime.dtptime.datetime-strtotime('08:00:00');
    datetimetosystemtime(localtime,systime);
    setsystemtime(systime);
    end;
    测试通过的。
      

  8.   

    DateTimepicker中只能选一种,要么选日期,要么选时间!
    你可以这样做!如果说你想查询2002-07-01 0:00:00到2002-07-30 11:59:59的记录的话,你可以这样!只用两个DatetimePicker,用于选择日期!而在程序中把0:00:00,11:59:59加进去!