http://zhidao.baidu.com/link?url=caRD6oeEvEiV95NoJJew6YBPOpdDrUvv8u0DBMWIcMyEfUh-_kZNLJws0z6EzbflOH00XAzrOx2SXQXdpiExsa

delphi in集合问题,代码如下,为什么一直报错,错在哪里

2012-06-16 01:48日番谷琪
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not Key in ['0'..'9'] then
Key:=char(0);
end;
2012-06-16 07:29 提问者采纳
 
这段代码的错与集合没有关系的,因为 not 和in 的优先级不一样,not 的优先级比较高,所有应写成
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not (Key in ['0'..'9']) then
Key:=char(0);
end;
当你弄不明白优先级只用括号注起来最好。