Esempio n. 1
0
        //根据指令执行相应的操作
        private void handleByCommand(String line)
        {
            try
            {
                String   command = CodeAnalysis.getCommandString(line);
                String[] value   = CodeAnalysis.getValueString(line);
                switch (command)
                {
                case CodeAnalysis.ApplicationCommand.COMMAND_CLEAR:
                    command_Clear();
                    return;

                case CodeAnalysis.ApplicationCommand.COMMAND_CLOSE_APPLICATION:
                    command_CloseApplication();
                    return;

                case CodeAnalysis.ApplicationCommand.COMMAND_LOAD_WEB_PAGE:
                    command_LoadWebPage(value[0]);
                    return;

                case CodeAnalysis.ApplicationCommand.COMMAND_SHUT_DOWN:
                    command_ShutDown();
                    return;

                case CodeAnalysis.ProgressCommand.COMMAND_BREAK_LOOP:
                    command_BreakLoop();
                    return;

                case CodeAnalysis.ProgressCommand.COMMAND_END_IF:
                    return;

                case CodeAnalysis.ProgressCommand.COMMAND_END_LOOP:
                    command_EndLoop();
                    return;

                case CodeAnalysis.ProgressCommand.COMMAND_IF:
                    command_If(value[0], value[1], value[2]);
                    return;

                case CodeAnalysis.ProgressCommand.COMMAND_LOOP:
                    return;

                case CodeAnalysis.ProgressCommand.COMMAND_PAUSE:
                    command_Pause(int.Parse(value[0]), value[1]);
                    return;

                case CodeAnalysis.ProgressCommand.COMMAND_TERMINATE:
                    command_Terminate();
                    return;

                case CodeAnalysis.ProgressCommand.COMMAND_WAIT_FOR_DOCUMENT:
                    command_WaitForDocument();
                    return;

                case CodeAnalysis.VariableCommand.COMMAND_ADD:
                    command_Add(value[0], value[1]);
                    return;

                case CodeAnalysis.VariableCommand.COMMAND_SET_VAR:
                    command_SetVar(value[0], value[1]);
                    return;

                case CodeAnalysis.WebElementCommand.COMMAND_CLICK_ELEMENT:
                    command_ClickElement(value[0]);
                    return;

                case CodeAnalysis.WebElementCommand.COMMAND_CRAWL_ELEMENT:
                    command_CrawlElement(value[0], value[1]);
                    return;

                case CodeAnalysis.WebElementCommand.COMMAND_RUN_SCRIPT_FUNC:
                    command_RunScriptFunc(value[0], value[1]);
                    return;

                case CodeAnalysis.VariableCommand.COMMAND_SAVE_VAR:
                    command_SaveVar(value[0], value[1], value[2]);
                    return;

                case CodeAnalysis.WebElementCommand.COMMAND_SET_CHECK_BOX_VALUE:
                    command_SetCheckBoxValue(value[0], value[1]);
                    return;

                case CodeAnalysis.WebElementCommand.COMMAND_SET_ELEMENT_VALUE:
                    command_SetElementValue(value[0], value[1]);
                    return;

                case CodeAnalysis.VariableCommand.COMMAND_MUL:
                    command_Mul(value[0], value[1]);
                    return;

                case CodeAnalysis.VariableCommand.COMMAND_CONNECT_VAR:
                    command_connectVar(value[0], value[1]);
                    return;

                case CodeAnalysis.VariableCommand.COMMAND_LOAD_DATA_TO_VAR:
                    command_LoadDataToVar(value[0], value[1]);
                    return;

                case CodeAnalysis.VariableCommand.COMMAND_PRINT:
                    command_Print(value[0]);
                    return;

                case CodeAnalysis.WebElementCommand.COMMAND_CRAWL_CONTENT:
                    command_CrawlContent(value[0], value[1], value[2]);
                    return;

                case CodeAnalysis.WebElementCommand.COMMAND_CLICK_ELEMENT_BY_VALUE:
                    command_ClickElementByType(value[0]);
                    return;

                case CodeAnalysis.WebElementCommand.COMMAND_RUN_PARAM_FUNC:
                    command_RunParamFunc(value[0], value[1], value);
                    return;

                case "": return;
                }
                richTextBox_ApplicationInfo.Invoke(new MethodInvoker(delegate
                {
                    richTextBox_ApplicationInfo.AppendText("undefine command!\n");
                }));
                command_Terminate();
            }
            catch (Exception e)
            {
                richTextBox_ApplicationInfo.Invoke(new MethodInvoker(delegate
                {
                    richTextBox_ApplicationInfo.AppendText(e.ToString() + "\n");
                }));
            }
        }
Esempio n. 2
0
        //检查代码正确性
        private String checkCommand(String line, int index, String[] memery)
        {
            String command = CodeAnalysis.getCommandString(line);

            String[] value = CodeAnalysis.getValueString(line);
            switch (command)
            {
            case CodeAnalysis.ApplicationCommand.COMMAND_CLEAR:
                return(CodeAnalysis.ApplicationCommand.checkApplicationCommand(command, value));

            case CodeAnalysis.ApplicationCommand.COMMAND_CLOSE_APPLICATION:
                return(CodeAnalysis.ApplicationCommand.checkApplicationCommand(command, value));

            case CodeAnalysis.ApplicationCommand.COMMAND_LOAD_WEB_PAGE:
                return(CodeAnalysis.ApplicationCommand.checkLoadWebPage(command, value));

            case CodeAnalysis.ApplicationCommand.COMMAND_SHUT_DOWN:
                return(CodeAnalysis.ApplicationCommand.checkApplicationCommand(command, value));

            case CodeAnalysis.ProgressCommand.COMMAND_BREAK_LOOP:
                return(CodeAnalysis.ProgressCommand.checkBreakLoop(memery, index));

            case CodeAnalysis.ProgressCommand.COMMAND_END_IF:
                return(CodeAnalysis.COMMAND_CORRECT);

            case CodeAnalysis.ProgressCommand.COMMAND_END_LOOP:
                return(CodeAnalysis.COMMAND_CORRECT);

            case CodeAnalysis.ProgressCommand.COMMAND_IF:
                return(CodeAnalysis.ProgressCommand.checkIfSymbol(command, value));

            case CodeAnalysis.ProgressCommand.COMMAND_LOOP:
                return(CodeAnalysis.COMMAND_CORRECT);

            case CodeAnalysis.ProgressCommand.COMMAND_PAUSE:
                return(CodeAnalysis.ProgressCommand.checkPause(command, value));

            case CodeAnalysis.ProgressCommand.COMMAND_TERMINATE:
                return(CodeAnalysis.COMMAND_CORRECT);

            case CodeAnalysis.ProgressCommand.COMMAND_WAIT_FOR_DOCUMENT:
                return(CodeAnalysis.COMMAND_CORRECT);

            case CodeAnalysis.VariableCommand.COMMAND_ADD:
                return(CodeAnalysis.VariableCommand.checkParameter2(command, value));

            case CodeAnalysis.VariableCommand.COMMAND_SET_VAR:
                return(CodeAnalysis.VariableCommand.checkParameter2(command, value));

            case CodeAnalysis.WebElementCommand.COMMAND_CLICK_ELEMENT:
                return(CodeAnalysis.WebElementCommand.checkParameter1(command, value));

            case CodeAnalysis.WebElementCommand.COMMAND_CRAWL_ELEMENT:
                return(CodeAnalysis.WebElementCommand.checkCrawlElement(command, value));

            case CodeAnalysis.WebElementCommand.COMMAND_RUN_SCRIPT_FUNC:
                return(CodeAnalysis.WebElementCommand.checkRunScriptFunc(command, value));

            case CodeAnalysis.VariableCommand.COMMAND_SAVE_VAR:
                return(CodeAnalysis.VariableCommand.checkSaveVar(command, value));

            case CodeAnalysis.WebElementCommand.COMMAND_SET_CHECK_BOX_VALUE:
                return(CodeAnalysis.WebElementCommand.checkParameter2(command, value));

            case CodeAnalysis.WebElementCommand.COMMAND_SET_ELEMENT_VALUE:
                return(CodeAnalysis.WebElementCommand.checkParameter2(command, value));

            case CodeAnalysis.VariableCommand.COMMAND_MUL:
                return(CodeAnalysis.VariableCommand.checkParameter2(command, value));

            case CodeAnalysis.VariableCommand.COMMAND_CONNECT_VAR:
                return(CodeAnalysis.VariableCommand.checkParameter2(command, value));

            case CodeAnalysis.VariableCommand.COMMAND_LOAD_DATA_TO_VAR:
                return(CodeAnalysis.VariableCommand.checkLoadDataToVar(command, value));

            case CodeAnalysis.VariableCommand.COMMAND_PRINT:
                return(CodeAnalysis.VariableCommand.checkPrint(command, value));

            case CodeAnalysis.WebElementCommand.COMMAND_CRAWL_CONTENT:
                return(CodeAnalysis.WebElementCommand.checkCrawlContent(command, value));

            case CodeAnalysis.WebElementCommand.COMMAND_CLICK_ELEMENT_BY_VALUE:
                return(CodeAnalysis.WebElementCommand.checkParameter1(command, value));

            case CodeAnalysis.WebElementCommand.COMMAND_RUN_PARAM_FUNC:
                return(CodeAnalysis.WebElementCommand.checkRunParamFunc(command, value));

            case "": return(CodeAnalysis.COMMAND_CORRECT);
            }
            return("未定义的指令“" + command + "”");
        }