Beispiel #1
0
        public async override Task RunCommand(object sender)
        {
            var engine = (IAutomationEngineInstance)sender;

            int mouseX = 0, mouseY = 0;

            if (!string.IsNullOrEmpty(v_XMousePosition))
            {
                mouseX = (int)await v_XMousePosition.EvaluateCode(engine);
            }

            if (!string.IsNullOrEmpty(v_YMousePosition))
            {
                mouseY = (int)await v_YMousePosition.EvaluateCode(engine);
            }

            var terminalContext = (BZTerminalContext)((OBAppInstance)await v_InstanceName.EvaluateCode(engine)).Value;

            if (terminalContext.BZTerminalObj == null || !terminalContext.BZTerminalObj.Connected)
            {
                throw new Exception($"Terminal Instance {v_InstanceName} is not connected.");
            }

            BZ3270Keys selectedKey      = (BZ3270Keys)Enum.Parse(typeof(BZ3270Keys), v_TerminalKey);
            string     selectedKeyValue = BZTerminalKeysDict[selectedKey];

            if (!string.IsNullOrEmpty(v_XMousePosition) && !string.IsNullOrEmpty(v_YMousePosition))
            {
                terminalContext.BZTerminalObj.SetCursor(mouseY, mouseX);
            }

            terminalContext.BZTerminalObj.SendKey(selectedKeyValue);
            terminalContext.BZTerminalObj.WaitForReady();
        }
        public override void RunCommand(object sender)
        {
            var engine = (IAutomationEngineInstance)sender;
            var mouseX = v_XMousePosition.ConvertUserVariableToString(engine);
            var mouseY = v_YMousePosition.ConvertUserVariableToString(engine);

            var terminalContext = (BZTerminalContext)v_InstanceName.GetAppInstance(engine);

            if (terminalContext.BZTerminalObj == null || !terminalContext.BZTerminalObj.Connected)
            {
                throw new Exception($"Terminal Instance {v_InstanceName} is not connected.");
            }

            BZ3270Keys selectedKey      = (BZ3270Keys)Enum.Parse(typeof(BZ3270Keys), v_TerminalKey);
            string     selectedKeyValue = BZTerminalKeysDict[selectedKey];

            if (!string.IsNullOrEmpty(mouseX) && !string.IsNullOrEmpty(mouseY))
            {
                terminalContext.BZTerminalObj.SetCursor(int.Parse(mouseY), int.Parse(mouseX));
            }

            terminalContext.BZTerminalObj.SendKey(selectedKeyValue);
            terminalContext.BZTerminalObj.WaitForReady();
        }