如输入时间:开始为 0000/00/00 根据用户输入 始终保持固定格式
输入:"20031031"文本框内内容变化如下:
2000/00/00-->2000/00/00-->2000/00/00-->2003/00/00-->2003/10/00-->2003/10/00-->2003/10/30--2003/10/31或者向ip地址:那样输入
又如一些特殊编号。 苏-S-2003-0001如何在文本框内实现控制。我已经看见有人实现了,而且有应用程序,但不知道源代码?
多谢多谢!!
又如货币输入 0.00 始终保持小数点后有两位数。[email protected]

解决方案 »

  1.   

    在delphi中就有個控件 MaskEdit
    在Additional面板, 你找找, 右鍵, 在菜單中選第一個, 設置就可達到你的要求了!!
      

  2.   

    用MaskEdit不能实现我用0000/00/00作作为默认值结果如果用户不输入取值是空 '    /  /  '
      

  3.   

    MaskEdit1.EditMask:='!9999\\99\\00;1;_';
    MaskEdit1.EditText:='1111/11/11';
      

  4.   

    这个问题我不是很清楚,但是你试试把它看作字符串,用copy取出它的子串,这样应该可以解决。货币的问题应该可以直接在代码里面控制了吧。希望对你有帮助!
      

  5.   

    如果格式固定是这种0000/00/00 类型的,如下:
    var 
      i1,i2,i3:integer;
      s,s1:string;
    begin
      //假设日期你写在MaskEdit1中,格式为!9999\\99\\00;1;_';
      s:=copy(MaskEdit1.text,1,4);
      i1:=strtoint(s);
      s:=copy(MaskEdit1.text,6,2);
      i2:=strtoint(s);
      s:=copy(MaskEdit1.text,8,2);
      i3:=strtoint(s);
      if (i1=0)and(i2=0)and(i3=0) then//用户没有输入值
      begin
        messagebox(handle,'你没有输入日期,'错误',MB_OK);
        exit;
      end;
    end;