delphi问题:如果编辑框现存的是非0到9的数字,点击按钮让其置空。代码怎么写?

来源:百度知道 编辑:UC知道 时间:2024/06/07 17:32:57
如题

有两种方法:
一种是用Try..Except的方法,这种方法在调试期有抛出异常,但在脱离DELPHI环境运行的时候好使:
try
StrToInt(edt1.Text); //判断是否为数字
except
edt1.Text := ''; //这里置空
end;

另一种就是判断编辑框内的每一位是否为数字
function isNumber(str: String): Boolean;
var
sTemp : String;
begin
Result := true;
sTemp := str;
for i := 1 to Length(sTemp) do
begin
if sTemp[i] not in '0'..'9' then
begin
Result := False;
Exit;
end;
end;
end;
end;

OnKeyPress事件
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if (key in ['0'..'9']=false) and (word(key)<>vk_back) then
begin
key:=#0;
end;
end;
注:word(key)<>vk_back 用于判断删除键