whakgpp 发表于 2016-07-18 16:24

As400 宏来捕捉界面数据

As400的宏是VBS代码,不知道如何来获取界面上的数据,以进行判断执行。

lane3000 发表于 2016-07-21 13:35

参考获取会话界面上的程序名称

        Dim FieldElement
      dim dx,dy
      dx=1
      dy=5
        CheckProgram=false
        Set FieldElement = autECLSession.autECLPS.autECLFieldList.FindFieldByRowCol( dx, dy )
        iftrim(FieldElement.getText())="MIS031" then
                CheckProgram=true
        end if

xml1988 发表于 2016-08-19 11:11

仿真端宏相关
1)自启动宏设置
   编辑—>首选项—>宏/脚本,选择一个宏作为自启动宏,点击确定按钮完成设置。此设置应用于所有启动窗口。
2)批处理启动窗口设置
   新增一个.bch的文件,文件内容如下:
   
   ID=BCH
   Version=5
   
   Run1=;   如果要修改现有的批处理文件,请选择
   Run2=;      [文件]-[打开]。
   Run3=;   如果要在批处理文件中包括“工作站概要”或其它程序,
   Run4=;   您必须在下面的编辑区输入它们。
   Run5=;   要这样做,请在列表框中双击文件名或选择它
   Run6=;   然后选择“添加”,或者按“捕获视图”按钮来自动添加
   Run7=;   现有的会话。
   Run8=;
   Run9=;   如果不想显示 IBM 徽标,则将 /Q 添加到第一个会话的
   Run10=;   命令中。
   Run11=;   如果要将会话以“视图”的方式启动,请将 /v=<viewname>
   Run12=;   添加到最后一个会话。
   Run13=;
   Run14=;   当运行批处理文件时,将忽略上面的备注。
   Run15=;
   Run16=C:\Program Files\IBM\Client Access\Emulator\pcsws.exe "C:\Program Files\IBM\Client Access\Emulator\Private\201.4.1.51.ws" -s=A -v=test2
   Run17=C:\Program Files\IBM\Client Access\Emulator\pcsws.exe "C:\Program Files\IBM\Client Access\Emulator\Private\201.4.1.51.ws" -s=B -v=test2
   Run18=C:\Program Files\IBM\Client Access\Emulator\pcsws.exe "C:\Program Files\IBM\Client Access\Emulator\private\201.4.1.51.ws" -s=C -v=test2
   Run19=C:\WINDOWS\notepad.exe

   其中Run16至Run19为批启动的处理语句,功能为:启动A、B、C三个窗口,使用"C:\Program Files\IBM\Client Access\Emulator\private\201.4.1.51.ws" 配置文件,已test2视图方式启动。最后启动Windows的记事本程序。此配置可通过“启动或配置会话”工具的批处理会话设置。
   
3)宏脚本存放路径:
   除默认的“C:\Program Files\IBM\Client Access\Emulator\Private”路径外,还可以增设一个路径,在pcwin.ini文件中增加如下语句:
   
   DIR=C:\Macro
   脚本加载器将会加载这2个目录下的所有宏脚本文件,不包含子目录。

4)宏的语法
   1、;或REM或Remarks开头为注释。
   2、等到输入禁止指示消失为止
   3、 等到指示符显示在“操作员信息区域(OIA)”中为止。
   4、macro 宏名 执行指定宏
   5、 “等待系统”引起宏暂停,直到工作站窗口连接到主机系统
   6、Label 标签由 Goto 语句引用
               规则:
               - 必须有一个“:”(冒号)在第 1 列
               - 只允许字母的(A-Z)和数字(0-9)字符
               - 每个标号最多 32 个字符
               - 不区分大小写(即 LABEL1 与 label1 等价)
   7、Exit 退出宏
   8、Run 异步调用应用程序
               格式:Run application

               示例:run /min c:\apps\myapp.exe myparms
               对于 ,可以设置以下参数:
               - /normal 激活窗口并按其原始大小和位置显示。
               - /min 激活窗口并将其显示为图标。
               - /max 激活窗口并将其最大化显示。
   9、Run Applet 在宏中指定要运行的 Java Applet
               格式: Applet.class
               示例: sample66.class
               注:指定的 applet 类必须存在于与包含该宏的 .WS 文件相同的目录路径中。
   10、“等待条件”引起宏暂停,直到超时到期或者指定的等待条件发生。您必须设置至少一个选项。
               wait [ < timeout > ][ < wait condition> ]
               超时(可选的)
               您能够在‘timeout’语句中使用下列单位:
                  o msec
                  o millisecond
                  o milliseconds
                  o sec
                  o second
                  o seconds
                  o minute
                  o minutes
                  o hour
                  o hours
               例如要在“dspjob”命令前等待 10 秒:
                  wait10seconds
                         "dspjob
                  
   11、 等待条件(可选的): 对于“等待条件”选项,您可以使用 while 或 until, cursor 或 string 和 at (xxx, xxx) 或不用:
               o while cursor at(光标行, 光标列)
               当光标在(光标行, 光标列)时,会话等待。
               o while "string"
               当“string”是屏幕中某个地方时,会话等待。
               o while "string" at(光标行, 光标列)
               当“string”在(光标行,光标列)时,会话等待。
               o until cursor at(光标行, 光标列)
               会话等待直到在光标移动到(光标行,光标列)。
               o until "string"
               会话等待直到“string”显示在屏幕中的某个地方。
               o until "string" at(光标行, 光标列)
               会话等待直到“string”显示在(光标行,光标列)。
               示例:
            
               请等待,直到 "# ## ##" 显示在屏幕的第 2 行,第 9 列,
               "exec23
                  
                  
                  waituntil"# ## ## "at(2,9)
                  "exec24
                  
                  
                  
               (同时使用 超时和 等待条件两个选项):
               wait 8 seconds until "==> "
                         "logon
                        
                        
               使用这个宏语句来等待 8 秒或者直到“==>”显示在屏幕上某个地方。如果字符串在超时到期之前出现,则宏继续进行。如果字符串不出现,则宏在 8 秒后继续进行。
页: [1]
查看完整版本: As400 宏来捕捉界面数据