是否有自动化工具可以在Team Developer(v6.0)上自动构建软件。
我尝试使用多个自动化工具来监视应用程序中的表对象,它将其标识为Gupta ChildTable。但是我无法从行中检索值。
例如: 我在表(网格)中有10行,有12列。我需要找到第一列中包含的值“AAAAA”,并通过Automation选择该特定行。 我在表(网格)中有10行,有12列。我需要找到第一列中包含的值“AAAAA”,然后单击该行中的特定单元格以通过Automation输入数据。
提前致谢。
答案 0 :(得分:1)
使用 VisTblFindString 。如果在您的包含库中包含“VT.apl”,则此功能(以及许多其他功能)将包含在您的TD代码中。 VisTblFindString将返回Row - 因此您只需使用 SalTblSetContext (hWndForm,nRow)将上下文设置为该行,然后您可以按名称引用每个单元格的内容以返回值。
<强>语法强>
nRow = VisTblFindString(hWndTable,nStartRow,hWndColumn,sString)
句柄:hWndTable
编号:nStartRow
编号:hWndColumn
字符串:sString
<强>描述强>
在列中找到字符串值。
字符串必须完全匹配,但忽略大小写。检查表中的最后一行时搜索结束。将为尚未提取到缓存中的所有行发送SAM_FetchRow消息。
您可以使用SalStrScan功能理解的模式匹配字符。百分比字符(%)匹配任何字符集。下划线字符(_)匹配任何单个字符。
<强>参数强>
hWndTable表窗口句柄。
nStartRow开始搜索的行号。
hWndColumn要搜索的列的句柄。使用hWndNULL搜索所有字符串列。
sString要搜索的字符串。
返回值
Number:找到sString时的行号,如果找不到则返回-1。
示例:强> 设置nRow = VisTblFindString(twOrders,0,colDesc,'AAAAAA') 调用SalTblSetContext(twOrders,nRow) (现在您可以通过引用列名来获取nRow中任何单元格的值) 例如设置sCellValue = twOrders.colDesc或设置sCellValue = twOrders.colId等。
答案 1 :(得分:1)
行(或TableWindow中的任何其他内容 - 甚至是单元格边框,背景,行,行标题等)都可以视为一个&#39;项目&#39;或者&#39;对象&#39;通过TeamDeveloper。建议你使用MTbl - 它是一组宝贵的附加功能,使得处理表格变得轻而易举。我知道没有使用TableWindows的站点不使用MTbl。就行而言,您可以将任何行定义为Item或Object并相应地对其进行操作。请参阅M!Tbl ( a TableWindows extention ),特别是fcMTblItem.DefineAsRow(hWndTbl,nRow)。
顺便说一句,你也可以使用MTbl来彻底改变你的TableWindows的外观和感觉,给它们一个真实的现代外观。
答案 2 :(得分:0)
非常粗糙的餐巾码,在这台电脑上没有TD。并不是因为代码结构,只能逐行复制和粘贴它。
tbl1是表的名称,col1是列的名称,替换为适合您的程序。
Set nRow = TBL_MinRow
While SalTblFindNextRow( tbl1, nRow, 0, 0 )
Call SalTblSetContext( tbl1, nRow )
If tbl1.col1 = "AAAAA"
Call SalTblSetFocusCell( tbl1, nRow, tbl1.col1, 0, -1 )
Break
这应贯穿每一行,检查col1是否具有所选值,然后激活该单元格的编辑模式 - 前提是该列可编辑。