delphi 高手帮忙解释下。详细解释下。觉得哪里是菜鸟看不懂的 就解释下。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了delphi 高手帮忙解释下。详细解释下。觉得哪里是菜鸟看不懂的 就解释下。相关的知识,希望对你有一定的参考价值。

if Key=13 then
begin
Key:=0;
if (Sender is TDBCheckBox) then
begin
postmessage(activecontrol.handle,wm_keydown,vk_tab,0);
end
else if (Sender is TDBComboBox) then
begin
postmessage(activecontrol.handle,wm_keydown,vk_tab,0);
end
else if (Sender as TDBEdit).Tag in [23,24,25,26,27] then
begin
if IsInsert then
begin;
end;
DBedtScph.SetFocus;
end
else
postmessage(activecontrol.handle,wm_keydown,vk_tab,0);
end
else if Key = VK_ESCAPE then
begin
if Jit_Mucus_MatchRecord.State in [dsInsert,dsEdit] then
Jit_Mucus_MatchRecord.Cancel;
end

这是几个 DB 组件共用一个 KeyDown 或者 KeyUp 代码的处理模块。

1. 假如按下的是回车键,
如果是由 DBEDIT 调用的,而且如果 DBEDIT 的 TAG 设在 [23,24,25,26,27] 之中,那么 DBedtScph 获得焦点;
如果是其他组件(DBCheckBox、DBComboBox等),当作 TAB 键处理。
2. 假如按下的是 ESC 键
如果表 Jit_Mucus_MatchRecord 处于插入或编辑状态,那么结束表的处理。
参考技术A 你的代码应该是对回车键和Esc键进行自己的处理。
if (Sender is TDBCheckBox) then//如果是检查框,则把焦点移到下一个控件
else if (Sender is TDBComboBox) then//如果是组合框,则把焦点移到下一个控件
else if (Sender as TDBEdit).Tag in [23,24,25,26,27] then//如果是指定的(根据tag值来定,这个需要自己设定Tag值)编辑框,则把焦点移到DBedtScph(DBedtScph.SetFocus;)
其它的,把焦点移向下一个控件(相当于按Tab键)
else if Key = VK_ESCAPE then//如果按Esc键,则取消当前数据库的插入、编辑状态
参考技术B 将代码按下面的样子排列一下,这样更直观,便于分析代码
if Key=13 then // 如果按下的键是换行键
begin
 Key:=0;
if (Sender is TDBCheckBox) then//发生当前这个事件如果是一DB多选框组件
begin
postmessage(activecontrol.handle,wm_keydown,vk_tab,0);
end //postmessage猜是一个API函数,保存消息的
else if (Sender is TDBComboBox) then//发生当前这个事件如果是一DB下拉列表框组件
begin
postmessage(activecontrol.handle,wm_keydown,vk_tab,0);
end
else if (Sender as TDBEdit).Tag in [23,24,25,26,27] then
begin //发生当前这个事件如果是一DB编辑框组件
if IsInsert then //如果IsInsert布尔变量为真.就什么也不干
begin;
end;
DBedtScph.SetFocus;//让这个组件得到焦点
end
else //发生当前这个事件既不是DB编辑框组件,也不是DB下拉列表框,也不是
DB多选框组件
postmessage(activecontrol.handle,wm_keydown,vk_tab,0);
end
else if Key = VK_ESCAPE then //如果按下的是ESC键
begin
if Jit_Mucus_MatchRecord.State in [dsInsert,dsEdit] then
Jit_Mucus_MatchRecord.Cancel;
end

python链接数据库时mysqldb.connect("root")产生的错误,帮忙详细的解释下谢谢

参考技术A 应该是连接数据库出问题了,看下用户名,密码,还有地址,端口
是不是写对了

以上是关于delphi 高手帮忙解释下。详细解释下。觉得哪里是菜鸟看不懂的 就解释下。的主要内容,如果未能解决你的问题,请参考以下文章

欧姆龙PLC数据类型CHANNEL 求高手帮忙解释下

帮忙详细解释下PING命令的输出

求解!!Qt,c++高手们快快显身手。。。 帮忙解释一下下面的程序,注释下每行吧,小弟是初学者,拜托!!

请高手帮忙解释下这多线程的源代码,每句注释下 #include <stdio.h> #include <stdlib.h>

请高手帮忙分析下SPSS的多元线性回归结果吧~急啊~~~

在英语语法中SVOO和SVOC的区别是啥?高手解释下~