delphi7 按回车不执行,而是切换。请高手帮忙看下!代码如下
procedureTfm_caiyin.DBEdit3KeyPress(Sender:TObject;varKey:Char);varid:integer;num:int...
procedure Tfm_caiyin.DBEdit3KeyPress(Sender: TObject; var Key: Char);
var
id: integer;
num:integer;
zzh:string;
begin
if (key=#13) and (xstatus='ADD') and (dbedit3.Focused) then
begin
adotm.Close;
adotm.SQL.Clear;
adotm.SQL.Add('select *,num-cyjnum cyjnum1 from t_dan where cfm=''N'' and num-cyjnum>0 and tm_code=:xtm_code ');
adotm.Parameters[0].Value:=copy(DBEDIT3.Text,0,11);
adotm.open;
if adotm.Eof then
begin
dbedit3.Text:='';
dbedit3.SetFocus;
dbedit3.ReadOnly:=false;
showmessage('没有满足条件!');
abort;
end;
难道就没人知道吗? 展开
var
id: integer;
num:integer;
zzh:string;
begin
if (key=#13) and (xstatus='ADD') and (dbedit3.Focused) then
begin
adotm.Close;
adotm.SQL.Clear;
adotm.SQL.Add('select *,num-cyjnum cyjnum1 from t_dan where cfm=''N'' and num-cyjnum>0 and tm_code=:xtm_code ');
adotm.Parameters[0].Value:=copy(DBEDIT3.Text,0,11);
adotm.open;
if adotm.Eof then
begin
dbedit3.Text:='';
dbedit3.SetFocus;
dbedit3.ReadOnly:=false;
showmessage('没有满足条件!');
abort;
end;
难道就没人知道吗? 展开
3个回答
展开全部
检查一下你的窗体中的OnKeyPress事件,可能是在这个事件中对回车键进行了转换。例如,这个事件中有以下代码:
if Key=#13 then
begin
Key := #0; { 吃掉回车键 }
Perform(WM_NEXTDLGCTL, 0, 0); { 移动到下一个控制 }
end;
if Key=#13 then
begin
Key := #0; { 吃掉回车键 }
Perform(WM_NEXTDLGCTL, 0, 0); { 移动到下一个控制 }
end;
追问
没有啊 窗体中根本没有这个事件
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你这代码界面上是不会有多大变化的,甚至不会有变化, if adotm.Eof then要求当前记录是最后一条记录,如果不是最后一条记录, dbedit3.Text:='';
dbedit3.SetFocus;
dbedit3.ReadOnly:=false;
showmessage('没有满足条件!');
abort;
这些代码都不会被执行。你在这条
adotm.open;语句的后面加一句, adotm.next;试一下,看有没有反应。
dbedit3.SetFocus;
dbedit3.ReadOnly:=false;
showmessage('没有满足条件!');
abort;
这些代码都不会被执行。你在这条
adotm.open;语句的后面加一句, adotm.next;试一下,看有没有反应。
追问
还是没用 ,事实上有段很长代码,我只是在这个控件上按enter能执行就行,方面的话加我QQ646382285,成吗
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
if (key=#13) and (xstatus='ADD') and (dbedit3.Focused) then
条件太多了。
你只需要对DBEdit3控件的KeyPress事件进行处理就好了。
if (key=#13) then
条件太多了。
你只需要对DBEdit3控件的KeyPress事件进行处理就好了。
if (key=#13) then
追问
不行啊,那两个条件必须要。因为整个程序需要
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询