如何判断edit里的日期输入是否是按格式,2003-4-13,并且知道是否输入的月份是对的??小弟用的if trim(edit1.text)<> ????  then
有好办法吗??谢谢您了(*^_^*)

解决方案 »

  1.   

    调用此函数,如果返回值是true,则是日期格式的,否则不是(利用了异常处理)function isdate(str:String):boolean;
    begin
    result:=true;
    try
    strtodate(str);
    except
    result:=false;
    end;
    end;
      

  2.   

    try
      StrToDate(edit1.Text);
    except
      raise Exception.Create('日期输入错误');
    end;
      

  3.   

    chechy(简简单单的活):这样好像有点不对阿!!我觉得你得先不那个日期转换成机器的日期格式才能用StrToDate阿!
    比如有的机器用:yyyy/mm/dd
    而有的用yyyy-mm-dd所以你得先用formatdatetime转化日期!
      

  4.   

    stnc () :你这个日期要让用户输入怎么不用一个DateTimePicker让用户去选择日期那不就得了!用不了这么麻烦的阿
      

  5.   

    啊,我晕。能不能说的全一点用代码,谢谢各位学长了:-)
    再就是,怎么用第种种方法中在edit2后面不成运行了,说是没有找到edit2??
      

  6.   

    if StrToDateDef(edit1.Text,100)=StrToDateDef(Edit1.Text,200) then
      ShowMessage('Error');
      

  7.   

    就是呀,我同意楼上的意见,用format多方便是呀。