用三个Edit框分别输入年月日,问题有两个
1.怎样判断Edit的text输入是有效的呢?例如年份要在1-9999之间.
2.分别得到的年(year)月(month)日(day),怎么样组合成有效可放在SQL语句中的形式.
  好像要month/day/year.

解决方案 »

  1.   

    用maskedit。它和edit类似,但更利于控制输入的内容。
      

  2.   

    1:用trystrtodate(edit.text,date):boolean
        true or false;
    2:随便拉,只要组合起来是个有效的日期就可以了如?‘2000’+‘-’+‘12’+'-'+'01'即可,SQL会自动识别转换,因为你的SQL语句只是一个字符串啊
      

  3.   

    我的年月日是分开的, strtodate判断的好像是年月日一起的
      

  4.   

    edit中让他随便输入嘛,只要组合起来是个有效的日期就行了
    TRYSTRTOfLOAT(EDIT1.TEXT+'-'+EDIT2.TEXT+'-'+EDIT3.TEXT,TMPDATE)
      

  5.   

    EncodeDate 函数: 
    定义:function EncodeDate(Year, Month, Day: Word): TDateTime; 
    作用: 输入年(year),月(month),日(day)的值,将该日期返回为TDateTime类型,年的范围为1-9999,月份的范围为1-12,日期的范围视当月的情况而定,如果输入的值超出范围,则将产生一个EConvertError错误。 格式你可以定义:MM/DD/YYYY
      

  6.   

    function EncodeDate(Year, Month, Day: Word): TDateTime;