[范例] Firemonkey Edit 输入框只允许输入数字 for Android

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[范例] Firemonkey Edit 输入框只允许输入数字 for Android相关的知识,希望对你有一定的参考价值。

一般限制某些字符输入,可以在 OnKeyDown , OnKeyUp 里做判断,如下:

// android 平台不用下列方法
procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word; var KeyChar: Char; Shift: TShiftState);
begin
     if not (KeyChar in [0..9]) then
        KeyChar := #0;
end;

 

但以上方法实际测试后,在 Win , ios 平台可能正常,但在 Android 平台确不行,因此必需改用下列方法来做: 

var NowEdit: Boolean;

procedure TForm1.Edit1ChangeTracking(Sender: TObject);
begin
     if NowEdit then Exit;

     if not (Edit1.Text.Chars[Edit1.Text.Length - 1] in [0..9]) then
     begin
          NowEdit := True;
          Edit1.Text := Edit1.Text.Substring(0, Edit1.Text.Length - 1);
          NowEdit := False;
     end;
end;

 

以上是关于[范例] Firemonkey Edit 输入框只允许输入数字 for Android的主要内容,如果未能解决你的问题,请参考以下文章

[修正] Firemonkey Windows & macOS 平台下 Edit & Memo 中文输入后会取消原选取文字的 BUG

firemonkey EDit 改变颜色

[调整] Firemonkey iOS 原生 Edit 改变框色或透明框

Firemonkey TEdit 大写

Delphi FireMonkey 存储来自组件的信息

一个文本框只允许输入数字