function ValidDateStr(sString:string):boolean;
begin
  result:=True;
  try
    StrToDate(edit1.text);
  except
    result:=false;
  end;
end;

解决方案 »

  1.   

    //for Delphi6
    var
      vDate: TDateTime;
    begin
      if TryStrToDate(Edit1.Text, vDate) then
        { TODO : 合法日期字符 }
      else { TODO : 非法日期字符 };
    end;
      

  2.   

    //for Delphi6
    var
      vDate: TDateTime;
    begin
      if TryStrToDate(Edit1.Text, vDate) then
        { TODO : 合法日期字符 }
      else { TODO : 非法日期字符 };
    end;
      

  3.   

    //for Delphi6
    var
      vDate: TDateTime;
    begin
      if TryStrToDate(Edit1.Text, vDate) then
        { TODO : 合法日期字符 }
      else { TODO : 非法日期字符 };
    end;
      

  4.   

    你用过try except 吗我用他就没好用过根本截获不料错误为什么?
      

  5.   

    写错了当然截获不了。你上面两个说的都对。
    比较同意9527(我靠,还是提交不上去!CSDN我服了你)做法。
      

  6.   

    写错了当然截获不了。你上面两个说的都对。
    比较同意9527(我靠,还是提交不上去!CSDN我服了你)做法。
      

  7.   

    delphi6可以用isdatetime函数;或者可以象楼上说的:  try
        StrToDate(edit1.text);
      except
        showmessage('数据输入有误!'); 
      end;
      

  8.   

    我就把你们刚才些的这些try except 直接拷到delphi中也不好用比如我将上面这个
    try
        StrToDate(edit1.text);
      except
        showmessage('数据输入有误!'); 
      end;
    加到buttonclick时间中一运行 点击button出错不是showmessage给出的
      

  9.   

    运行 点击button出错不是showmessage给出的
    在调试时才会这样的,外面直接运行就不会了