呵呵写一个FUNCTION如下,在EDIT的ONEXIT时调用提示用户是否输入正确
有参数EDIT1.TEXT1
BEGIN
TRY 
BEGIN
 DATE1:=STRTODATE(EDIT1.TEXT);
 RESULT:=TRUE
END
EXCEPT
 RESULT:=FALSE
END
END;
不就结了

解决方案 »

  1.   

    用datetimepicker控件,可以解决用户输入控制的问题
      

  2.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
    i,l,l1:integer;
    str1,str2:string;
    begin
    str1:=edit1.text;
    str2:=edit2.text;
    //我的机器不支持“yyyy/mm/dd”这种日期格式,所以进行了处理
    l:=length(str1);
    for i:=0 to l-1 do
    begin
    if str1[i]='/' then
    str1[i]:='-';
    end;
    showmessage(str1);
    l1:=length(str2);
    for i:=0 to l1-1 do
    begin
    if str2[i]='/' then
    str2[i]:='-';
    end;
    //确定是否输入了日期时间格式的字符串
    try
    strtodatetime(str1);
    strtodatetime(str2);
    except
    showmessage('无效的输入');
    end;
    //判断STR1为日期,STR2为时间
    if str1<>formatdatetime('yyyy"-"mm"-"dd',strtodatetime(str1)) then
    showmessage('EDIT1输入日期错误!')
    else
    showmessage('EDIT1输入正确!');
    if STR2<>formatdatetime('hh:mm:ss',strtodatetime(str2)) then
    showmessage('EDIT2输入日期错误!')
    else
    showmessage('EDIT2输入正确!');
    end;
    //*********请参考*******************
      

  3.   

    to : flowersun(song) 執行語句 strtodatetime(str1); 讓str1='2002-09-03 09;12;13'也報錯.
    錯誤是''2002-09-03 09;12;13'is no a valid date and time'
    為什麼呀?? 老兄  ???