[范例] 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