要求:日期输入格式为  dd/MM/yyyy  
不是用DateTimePicker完成其实月份或天数是可以不填。我本来想用 MaskEdit完成  但显示结果不是我想要的,它的'/'变成'-'了只要能做到用其它控件或者什么方法都可以了我想信大侠们一定会遇到这个问题我等待你们的帮助

解决方案 »

  1.   

    不明白,如果月份或天数可以不填,那怎么会有dd/MM/yyyy格式
      

  2.   

    不过maskedit用起来很不爽,不如自己写
    procedure TForm1.DateTimePicker1Change(Sender: TObject);
    begin
         edit1.Text:=FormatDateTime('dd/mm/yyyy',DateTimePicker1.Date);
    end;
    要在控制面板里将你的日期格式改成dd/mm/yyyy形式才行
      

  3.   

    也可以用代码实现的,只要在tedit等接收控件的事件中写入相应的代码!
    如下:
    function IsDigit(ch: char): boolean;
    begin
      Result := ch in ['0'..'9'];
    end;procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
    var
      Fl:Word;
    begin
      if IsDigit(Key) then
      begin
        Fl := length((Sender as TEdit).Text);
        if (Fl = 2) or (Fl = 5) then
          (Sender as TEdit).text := (Sender as TEdit).text + '/';
          (Sender as TEdit).SelStart := fl +1;
      end;
    end;你自己也可以加上对天数和月份的判断了,呵呵,祝好运了!