订制 EDIT 已赏

dfwchen 1月前 208


请教大家:

一个 Edit ,如果输入的是 123.5 则正常跳到下一个焦点,

           如果输入 1 侧保证Text为 001.0

           如果输入999这样的整数,侧保证Text为 999.0

功力不足特意请教下,勿见笑

最新回复 (2)
  • 最佳悬赏获得1积分
    FMX 下,
    添加两个 TEdit ,分别是 Edit1 和 Edit2,在Edit1 的OnChange事件中响应(输入后,按下回车键触发)

    procedure TForm1.Edit1Change(Sender: TObject);
    begin
      if Edit1.Text = '123.5' then
      begin
        Edit2.SetFocus;
      end
      else
      begin
        //缺异常处理
        Edit1.Text := FormatFloat('000.0', string.ToDouble(Edit1.Text));
      end;
    end;
  • dfwchen 1月前
    引用 3
    chinacodegear FMX 下, 添加两个 TEdit ,分别是 Edit1 和 Edit2,在Edit1 的OnChange事件中响应(输入后,按下回车键触发) procedure TForm1.Edit1Ch ...
    根据你的思路更改了下,可以达到我想要的了,谢谢


    procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
    begin
      if key=#13 then
       begin
        if Pos('.',Edit1.Text)>0 then
         begin
          Edit1.Text := FormatFloat('000.0',strToFloat(Edit1.Text));
          Edit2.SetFocus;
         end
      else
        begin
        //缺异常处理
         Edit1.Text := FormatFloat('000.0',strToFloat(Edit1.Text));
        end;
      end;
    end;
返回
发新帖
作者最近主题: