这样会不好使?
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in['*']) then
showmessage('asd');
end;
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in['*']) then
showmessage('asd');
end;
begin
if Key = '*' then
a:=0
else
a:=1;
end;
begin
if not (key in [#aaa]) then//aaa为获得shift+8的ascii码值
a:=0
else
a:=1;
end;
//这样行吗?
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if pos('*',Edit1.text)=0 then
a:=0
else
a:=1;
end;
a:=0
else
a:=1;
这样作法,只能判断当前输入字符是否为'*',而不能判断EDIT输入框中是否有'*'你可以这样判断
if (Key = '*') or (Pos('*', TEdit(Sender).text) <> 0) then
a := 1
else
a := 0;
还是在onchange里判断吧,用pos
第一个出现错误:constant expression expected
第二个在试....
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if Key <> #13 then Exit;
a := 0;
if Pos('*',Edit1.Text)>0 then
a := 1;
end;
在edit1的onchange事件
begin
if pos('*',Edit1.text)=0 then
a:=0
else
a:=1;
end;