是否有自动化工具可以自动化 Team Developer (v6.0) 上的软件构建。
我尝试使用多种自动化工具来监视应用程序中的表对象,它将其标识为 Gupta ChildTable。但我无法从行中检索值。
例如: 1. 表格(网格)中有 10 行,12 列。我需要找到第一列中包含的值“AAAAA”并通过自动化选择该特定行。2. 我在表格(网格)中有 10 行,有 12 列。我需要找到第一列中包含的值“AAAAA”,然后单击该行中的特定单元格以通过自动化输入数据。
提前致谢。
是否有自动化工具可以自动化 Team Developer (v6.0) 上的软件构建。
我尝试使用多种自动化工具来监视应用程序中的表对象,它将其标识为 Gupta ChildTable。但我无法从行中检索值。
例如: 1. 表格(网格)中有 10 行,12 列。我需要找到第一列中包含的值“AAAAA”并通过自动化选择该特定行。2. 我在表格(网格)中有 10 行,有 12 列。我需要找到第一列中包含的值“AAAAA”,然后单击该行中的特定单元格以通过自动化输入数据。
提前致谢。
行(或 TableWindow 中的任何东西——甚至单元格边框、背景、线条、行标题等)都可以被 TeamDeveloper 视为“项目”或“对象”。建议您使用 MTbl - 它是一组非常宝贵的附加功能,让处理表格变得轻而易举。我知道没有使用不使用 MTbl 的 TableWindows 的站点。在 rows 方面,您可以将任何行定义为 Item 或 Object 并相应地对其进行操作。请参阅M!Tbl(TableWindows 扩展),特别是 fcMTblItem.DefineAsRow(hWndTbl, nRow)。
顺便说一句,您还可以使用 MTbl 彻底改变 TableWindows 的外观和感觉,给它们一个真正现代的外观。
使用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。
示例: Set nRow = VisTblFindString (twOrders, 0, colDesc, 'AAAAAA') Call SalTblSetContext( twOrders , nRow ) (现在您可以通过引用列名来获取 nRow 中任何单元格的值) 例如Set sCellValue = twOrders.colDesc或设置 sCellValue = twOrders.colId 等。
很粗略的餐巾码,这台电脑上没有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 是否具有所选值,然后激活该单元格的编辑模式 - 前提是该列是可编辑的。