Centura Gupta团队开发人员自动化可能性

时间:2014-04-04 12:40:51

标签: sqlbase guptateamdeveloper

是否有自动化工具可以在Team Developer(v6.0)上自动构建软件。

我尝试使用多个自动化工具来监视应用程序中的表对象,它将其标识为Gupta ChildTable。但是我无法从行中检索值。

例如: 我在表(网格)中有10行,有12列。我需要找到第一列中包含的值“AAAAA”,并通过Automation选择该特定行。 我在表(网格)中有10行,有12列。我需要找到第一列中包含的值“AAAAA”,然后单击该行中的特定单元格以通过Automation输入数据。

提前致谢。

3 个答案:

答案 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是否具有所选值,然后激活该单元格的编辑模式 - 前提是该列可编辑。