예제 #1
0
        void _IX识别_识别出内容(string __内容, int __置信率)
        {
            Debug.WriteLine("识别出内容: {0}({1})", __内容, __置信率);

            if (__内容 == "确定" && _待确定命令 != null)
            {
                运行命令(_待确定命令);
                _待确定命令 = null;
                return;
            }

            var __匹配命令 = _命令缓存.Find(q => q.命令 == __内容.Replace(" ", ""));

            if (__匹配命令 == null)
            {
                __匹配命令 = _命令缓存.Find(q => __内容.EndsWith(q.命令));
                if (__匹配命令 == null)
                {
                    return;
                }
            }
            if (__匹配命令.需要确认)
            {
                _待确定命令 = __匹配命令;
                播放(_当前语音, string.Format("确定要{0}吗?", __匹配命令.命令));
                return;
            }
            运行命令(__匹配命令);
        }
예제 #2
0
 private void 运行命令(M命令 __命令)
 {
     if (__命令.需要确认)
     {
     }
     try
     {
         var __processInfo = new ProcessStartInfo(__命令.目录 == null ? __命令.文件名 : Path.Combine(__命令.目录, __命令.文件名), __命令.执行参数);
         if (!string.IsNullOrEmpty(__命令.目录))
         {
             __processInfo.WorkingDirectory = __命令.目录;
         }
         Process.Start(__processInfo);
     }
     catch (Exception ex)
     {
         播放(_当前语音, "出错了");
         MessageBox.Show(string.Format("执行 {0} 出错!\n{1}", __命令, ex.Message), "", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }
예제 #3
0
 public void  除(M命令 __命令)
 {
     _缓存.Remove(__命令);
     保存();
 }
예제 #4
0
 public void 修改(M命令 __命令)
 {
     保存();
 }
예제 #5
0
 public void 增加(M命令 __命令)
 {
     _缓存.Add(__命令);
     保存();
 }
예제 #6
0
        void in表格_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            var __行    = this.in表格.Rows[e.RowIndex];
            var __列名   = this.in表格.Columns[e.ColumnIndex].Name;
            var __启用   = __行.Cells["in启用"].Value != null && (bool)__行.Cells["in启用"].Value;
            var __命令   = (string)__行.Cells["in命令"].Value;
            var __需要确认 = __行.Cells["in需要确认"].Value != null && (bool)__行.Cells["in需要确认"].Value;
            var __执行参数 = (string)__行.Cells["in执行参数"].Value;
            var __目录   = (string)__行.Cells["in目录"].Value;
            var __文件名  = (string)__行.Cells["in文件名"].Value;
            var __显示顺序 = int.Parse(__行.Cells["in显示顺序"].Value.ToString());

            if (__列名 == "do修改")
            {
                this.in表格.EndEdit();
                if (__行.Tag == null)
                {
                    var __M命令 = new M命令
                    {
                        执行参数 = __执行参数,
                        命令   = __命令,
                        目录   = __目录,
                        文件名  = __文件名,
                        启用   = __启用,
                        需要确认 = __需要确认,
                        显示顺序 = __显示顺序,
                    };
                    _D命令.增加(__M命令);
                    __行.Tag = __M命令;
                    __行.Cells["do修改"].Value = "修改";
                    __行.Cells["do删除"].Value = "删除";
                    this.in表格.Rows.Add(true, "", false, "", "", "", "0", "增加", "", "运行");
                }
                else
                {
                    var __M命令 = __行.Tag as M命令;
                    __M命令.命令   = __命令;
                    __M命令.目录   = __目录;
                    __M命令.文件名  = __文件名;
                    __M命令.启用   = __启用;
                    __M命令.需要确认 = __需要确认;
                    __M命令.执行参数 = __执行参数;
                    __M命令.显示顺序 = __显示顺序;
                    _D命令.修改(__M命令);
                }
                _命令缓存 = _D命令.查询();
                刷新表格();
                return;
            }
            if (__列名 == "do删除")
            {
                if (__行.Tag == null)
                {
                    __行.Cells["in命令"].Value   = "";
                    __行.Cells["in目录"].Value   = "";
                    __行.Cells["in文件名"].Value  = "";
                    __行.Cells["in执行参数"].Value = "";
                    __行.Cells["in启用"].Value   = true;
                    __行.Cells["in需要确认"].Value = false;
                    __行.Cells["in显示顺序"].Value = "0";
                }
                else
                {
                    var __M命令 = __行.Tag as M命令;
                    _D命令.除(__M命令);
                    this.in表格.Rows.RemoveAt(e.RowIndex);
                    _命令缓存 = _D命令.查询();
                }
                return;
            }
            if (__列名 == "do运行")
            {
                M命令 __M命令;
                if (__行.Tag == null)
                {
                    __M命令 = new M命令
                    {
                        执行参数 = __执行参数,
                        命令   = __命令,
                        目录   = __目录,
                        文件名  = __文件名,
                        启用   = __启用,
                        需要确认 = __需要确认,
                        显示顺序 = __显示顺序,
                    };
                }
                else
                {
                    __M命令 = __行.Tag as M命令;
                }
                if (__M命令.需要确认)
                {
                    if (MessageBox.Show(string.Format("确定要 [{0}] 吗?", __M命令.命令), "", MessageBoxButtons.YesNo) == DialogResult.No)
                    {
                        return;
                    }
                }
                运行命令(__M命令);
            }
        }