手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>程序设计>delphi>列表

Sender 的應用:所有Edit共用一個過濾格式

来源:互联网 作者:西部数码 时间:2008-04-10
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!

1. 所有的Edit 都只允許輸入數字,即只可以輸入一次小數點
2. 不想對多達幾十個的Edit 都寫onKeyPress 事件

那你就寫一個,其它的全部在Object Inspector 中指向這一個:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
var
IntCompIdx: Integer;
stText: string;
begin
if (Ord(Key) = 46) then
begin
IntCompIdx := (Sender as TEdit).ComponentIndex;
stText := TEdit(Components[IntCompIdx]).Text;
if Pos(''''.'''', stText) > 1 then
Key := #0;
end;
end;

如果不覺得難看的話也可以不用變量:
if (Ord(Key) = 46) and
(Pos(''''.'''', TEdit(Components[(Sender as TEdit).ComponentIndex]).Text) > 1)then
Key := #0;

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!