用dbedit来输入日期,希望能对格式做检查.不知道大家有什么好的方案没有.我想这样,在edit界面打开的时候,自动获取当前的日期,并格式成yyyy-mm-dd的形式
传给dbedit1.text

解决方案 »

  1.   


    dbedit1.text:=FormatDateTime('yyyymmdd', Now)
      

  2.   

    var
     D_time:TDataTime;
    begin
      with query do
      begin
        close;
        sql.add();
        open;
        D_time:=fieldbyname('rq').value;
      end;
     edit.text:=FormatDataTime('yyyy-mm-dd',D_time);
    end;
    就行了。
      

  3.   

    该一下 edit.text:=DataTimetoStr(FormatDataTime('yyyy-mm-dd',D_time));
      

  4.   

    先谢谢各位~~其实我的项目里简化多了
    在edit界面上,有个dbEdit和日期字段绑定了,我要做的就是2点:
    1,做一个button,按下后,在DBEdit里自动填写当天的日期,按照yyyy-mm-dd的格式(因为客户的计算机素质不高,所以上面要求给死一种输入格式,给多了反而让客户头疼)
    这个问题基本解决了;
    2,写一个函数Check_edtDate(str:string):boolean;
     对输入的yyyy-mm-dd做个检查,要求:
                                        1,yyyy只要求4位,1900-2078(smalldatetime)
                                        2,mm  2位1-12,并且01-09,1-9都可以
                                        3,dd  2位1-31第2个问题还枚搞定,死方法:用'-'做分隔符,分别检查.
    不知大家有没什么好的建议
      

  5.   

    另外:第2个要求我想在数据库报错前执行,应该写在哪呢?往往焦点一移出dbedit旧报错了
      

  6.   

    用MaskEdit就行了“!9999-99-99”
      

  7.   

    procedure TForm1.FormCreate(Sender: TObject);
    begin
              bdedit1.text:=FormatDateTime('yyyy--mm--dd',Now);
    end;