以文本方式查看主题

-  易表在线答疑  (http://egrid2000.com/dvbbs/index.asp)
--  应用技巧  (http://egrid2000.com/dvbbs/list.asp?boardid=3)
----  [教程]实例讲解如何使用SendKeys函数  (http://egrid2000.com/dvbbs/dispbbs.asp?boardid=3&id=148)

--  作者:smileboy
--  发布时间:2006/8/15 19:08:00
--  [教程]实例讲解如何使用SendKeys函数
   看到很多网友的提问,其中部分用SendKeys函数解决问题会很方便。可能是帮助文件中的这段话让很多人望而怯步吧:“普通用户可以忽略本函数”。呵呵,其实没有这么复杂,掌握它后会感到非常方便且便于理解。
Sendkeys:将一个或多个按键消息发送到活动窗口,就如同在键盘上进行输入一样。

语法:
SendKeys (string)
string 指定要发送的按键消息。

SendKeys函数常与易表的内部命令结合使用,下面我就结合实例来讲解一下SendKeys的具体用法。

实例:“重命名表名”

实现过程:大家知道易表重命名表名的内部函数是DO(53),要做到自动重命名就要结合SendKeys函数了。
1、设置2个字符型变量:
①%a%:ListGrids()   目的:取得现有表名
②%b%                目的:定义新表名

2、设计录入窗口,插入变量%a%和%b%和自定义按钮,自定义按钮公式为:
if(Instr("|"+[%b%]+"|","|"+ListGrids() + "|")<0,OpenGrid([%a%]) And SendKeys([%b%]+"{tab 1}~") And Do(53) And OpenGrid(1),MsgBox([%b%]+"表已经存在,请改正!",0))

要点:

1、SendKeys发送键盘命令必须在DO命令之前。
2、要弄清SendKeys具体发送步骤:

①首先选取原表名,从列表项目%a%取得,命令是SendKeys([%b%]);现表名手工输入。

②关键一步,取得tab键和回车键次数。大家可以先实验一下,点菜单“表”-“重命名”,需要按一次tab键、一次回车键才行,命令是:SendKeys("{tab 1}~")。

这样,完成了自动重命名表名。

其他的与此大同小异,大家可以动手练习一下,希望本教程能给初学者带来帮助。

下面是实例文件:

egd文件下载


--  作者:一叶扁舟
--  发布时间:2006/8/19 16:46:00
--  
谢谢 smileboy 老师!
--  作者:gdxhq
--  发布时间:2006/9/8 7:56:00
--  
关于这个函数一直想搞通,谢谢版主了。
--  作者:avijwfnyvi
--  发布时间:2006/11/20 21:07:00
--  
关于这个函数一直想搞通,谢谢版主了。
--  作者:dongd1
--  发布时间:2007/3/18 19:02:00
--  
学习,谢谢老师!
--  作者:xysheng
--  发布时间:2007/3/19 20:19:00
--  
学习,谢谢老师!

--  作者:zhqx
--  发布时间:2007/12/29 20:51:00
--  
呵呵,很经典,谢谢分享!
--  作者:chenxu
--  发布时间:2008/5/27 1:15:00
--  
谢谢 smileboy 老师!
--  作者:fjfhiev
--  发布时间:2008/6/14 17:22:00
--  
学习了
--  作者:jdw814520
--  发布时间:2013/4/1 15:52:00
--  

使用