在edit中输入符合“YYYY-MM”的日期格式,即包含合法的年份和月份值(例如1998-04)。
各位大哥,帮帮小弟,谢谢啦!

解决方案 »

  1.   

    用MaskEdit1或者DateTimePicker都可以
      

  2.   

    楼上正解, 用MaskEdit 双击editmask 属性设置。
      

  3.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
            mDateTime: TDateTime;
    begin
            if not TryStrToDate(Edit1.Text+'-1',mDateTime) then
            begin
                    showmessage('error date');
                    Edit1.SetFocus;
                    Edit1.SelectAll;
            end;
    end;
      

  4.   

    谢谢各位了,不过这里如果只能用一个edit框输入,并且验证日期“YYYY-MM”格式,能把函数写详细点吗?谢谢了
      

  5.   

    在OnExit12:07里判断下输入格式就好了
    比较简单的做法是使用正则uses VBScript_RegExp_55_TLB;procedure TForm1.Edit1Exit(Sender: TObject);
    var
      Regexp: TRegExp;
    begin
      Regexp := TRegExp.Create(nil);
      Regexp.Global:=True;
      Regexp.IgnoreCase:=True;
      Regexp.Pattern :='\d{4}\-\d{2}'; //正则规则
      if Regexp.Test(edit1.Text) then
       showmessage('true')
      else
       showmessage('false');
      Regexp:=nil;
    end;