如何怎样调试呢?奇怪,怎么不行呢,运行后能输入任何字符串。
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if (not(key in ['0'..'9']))and (key<>#8) and (key<>#46)then
begin
beep;
key:=#0;
end;
end;
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if (not(key in ['0'..'9']))and (key<>#8) and (key<>#46)then
begin
beep;
key:=#0;
end;
end;
if not (key in['0'..'9',#46]) then
begin
if Key <> #8 then
Key := char(0);
end
begin
if (not(key in ['0'..'9']))and (key<>#8) and (key<>#46)then
begin
beep;
end;
key:=#0;
end;
begin
if not (key in ['0'..'9',#13,#8]) then
begin
key:=#0;
exit;
end;
if key=#13 then
password.SetFocus;
end;
VS中的C#直接代码就OK!
Delphi中多了一个到控件的events属性加个事件。呵呵!不知道我这样说会不会很糊涂啊!
呵呵!我也是刚玩Delphi的。。还在了解之中。
begin
if not (key in ['0'..'9',#8,#46]) then
begin
Key:=#0;
Beep; {发出警告声}
end;
end;
begin
key:=#0;
end;
begin
if not (key in ['0'..'9','.',#8,#46]) then
begin
Key:=#0;
Beep; {发出警告声}
end;
end;
var
len: Integer;
begin
len:=4; //四位小数
if TEdit(TEdit(Sender)).SelLength = length(TEdit(Sender).Text) then
TEdit(Sender).Clear;
if not (key in ['0'..'9', '.', '-', #13]) then
begin
if Key <> #8 then
Key := char(0);
end
else begin
if Key = '.' then
begin
if pos('.', TEdit(Sender).Text) <> 0 then
Key := char(0)
end
else
if Key = '-' then
begin
if trim(TEdit(Sender).Text) <> '' then
Key := char(0)
end
else
begin
if (pos('.', TEdit(Sender).Text) <> 0) and (Length(copy(TEdit(Sender).Text, pos('.',
TEdit(Sender).Text) + 1, Length(TEdit(Sender).Text))) > len - 1) then
Key := char(0)
else
begin
if (trim(TEdit(Sender).text) = '0') or (trim(TEdit(Sender).text) = '-0') then
Key := char(0)
end;
end;
end;
end;