![Rational 识别 Delphi TDBGrid的解决方法_第1页](http://file4.renrendoc.com/view/2ae1728133913ef3db1d73a3845ec2dc/2ae1728133913ef3db1d73a3845ec2dc1.gif)
![Rational 识别 Delphi TDBGrid的解决方法_第2页](http://file4.renrendoc.com/view/2ae1728133913ef3db1d73a3845ec2dc/2ae1728133913ef3db1d73a3845ec2dc2.gif)
![Rational 识别 Delphi TDBGrid的解决方法_第3页](http://file4.renrendoc.com/view/2ae1728133913ef3db1d73a3845ec2dc/2ae1728133913ef3db1d73a3845ec2dc3.gif)
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第第页Rational识别DelphiTDBGrid的解决方法
'InitiallyRecorded:2023-4-2223:01:19
'ScriptName:First
StartApplication"""C:\DocumentsandSettings\Administrator\桌面\T\Project1.exe"""
WindowSetContext,"Caption=Form1",""
GenericObjectDblClick,"Class=TDBGrid;ClassIndex=1","Coords=168,27"
InputKeys"good"
GenericObjectClick,"Class=TDBGrid;ClassIndex=1","Coords=369,33"
WindowCloseWin,"",""
EndSub
用过delphi的人都知道TstringGrid有个Cell属性,我们可以利用robot函数SqaSetProperty给cell赋值完成上边要的功能,首先用robot来的guiinsert的objectproperties来抓取对象TDBGrid的属性,这样做是因为函数SqaSetProperty只能对robot抓取道的属性起作用,也就是说即使有cell属性,robot的objectproperties抓取不到这个属性,我们也无法实现前边的想法。用objectproperties抓取TDBGrid的属性后发现,只抓取到了部分属性,根本没有可以利用的cell属性,怎么办,利用delphienabler来做一次看是否可以得到更多的属性,我把sqasrv.pas(其实delphienabler的核心就是这个delphi单元文件)加入到工程文件中,重新编译(可能编译的时候有一些问题,我遇到的问题是Unit'oleAuto'isdeprecated,用$WARNUNIT_DEPRECATEDON/OFF编译开关,就可以解决了),重新录制脚本如下:(这回TDBGrid的属性基本都抓取到了)。
Sub
'InitiallyRecorded:2023-4-2223:38:55
'ScriptName:Second
StartApplication"""C:\DocumentsandSettings\Administrator\桌面\T\Project1.exe"""
WindowSetContext,"Name=Form1;Type=Form",""
GenericObjectDblClick,"Name=DBGrid1;Type=CustomGrid","Coords=93,30"
InputKeys"jack"
GenericObjectClick,"Name=DBGrid1;Type=CustomGrid","Coords=338,26"
WindowCloseWin,"",""
EndSub
可是仍然没有我们要的cell属性,只有columns属性,没有我需要的cell属性,怎么办?于是研究delphi的TDBGrid的源代码发现TDBGrid继承的TcustomGrid中有HideEdit,UpdateEdit等方法,说明在输入数据的时候TDBGird在后台是生成了一个输入文本框,焦点改变后这个文本框自动消失把数据输入到TDBGrid。这样我们只要能给这个EDIT的TEXT属性赋值同样可以实现,因为TDBGrid没有CELL属性,不能直接利用SQASetProperty函数给cell的focus属性赋值,只能利用点击这个cell来赋予它焦点,因为只有焦点在这个cell上后才会出现浮动的文本框,修改上边的脚本:
Sub
EndSub
虽然赋值成功,但是datagrid无法显示你需要的数据(这里需要研究一下),因为时间的缘故,就用第二种方式坐标的方式来实现,考虑多平台共享使用,写SetGridFocus函数,思路这样得到tdbgrid对象,得到其中column的属性宽高,计算坐标(这些都在函数内部实现),其中移动有个固定值24是追踪tdbgrid代码中defaultHeight为24
最后代码如下:
SubSetGridFocus(strObjectasString,strColasString,strRowasString,strValueasString)
DimiResultasInteger
DimiCountasInteger
DimColWidth()asinteger
DimiWidthasInteger
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 ISO 14132-2:2002 EN/FR/RU Optics and optical instruments - Vocabulary for telescopic systems - Part 2: Terms for binoculars,monoculars and spotting scopes
- 【正版授权】 ISO 14068-1:2023 EN Climate change management - Transition to net zero - Part 1: Carbon neutrality
- 【正版授权】 ISO 13990:1996 EN/FR Textile machinery and accessories - Yarn feeders for knitting machines - Vocabulary
- 【正版授权】 ISO 13788:2001 EN Hygrothermal performance of building components and building elements - Internal surface temperature to avoid critical surface humidity and interstitial co
- 【正版授权】 ISO 13737:2004 EN Petroleum products and lubricants - Determination of low-temperature cone penetration of lubricating greases
- 【正版授权】 ISO 13606-5:2019 EN Health informatics - Electronic health record communication - Part 5: Interface specification
- 有关学期班级工作计划模板六篇
- 高强2号玻璃纤维布项目评估报告
- 离合器主缸项目绩效评估报告
- 学校清明扫墓活动方案5篇
- 2023年人大同等学力题库考管理学考试试题及答案日版
- 装配式建筑上海住宅构件安装使用监理细则
- 燃气安装及检修工安全技术知识竞赛试题库(附含答案)
- 粮油保管员职业技能中级工保管员试题集
- 软件需求变更单
- 工程造价咨询的协调配合及服务措施
- 林业有害生物防治知识及方案
- 社区阅览室-农家书屋借书登记表
- 单位收入证明中英文版
- 纯音测听精品课件
- 小学 五年级 音乐 当太阳落山(教案)
评论
0/150
提交评论