海康视觉二次开发学习笔记7-流程相关操作

流程相关操作

流程的相关操作包括选择路径,导入流程,导出流程,运行流程等.

在开始前,扩展优化一下写法,供其他地方重复调用.

Csharp 复制代码
        /// <summary>
        /// 消息显示区显示消息
        /// </summary>
        /// <param name="msg"></param>
        public void AddMsg(string msg) {
            listBox1.Items.Add(msg);
            listBox1.TopIndex = listBox1.Items.Count - 1;
        }

        /// <summary>
        /// TryCatch捕获SDK异常,系统异常
        /// </summary>
        /// <param name="excute"></param>
        /// <param name="msg"></param>
        public void RunTryCatch(Action excute,string msg) {
            try
            {
                excute();
                AddMsg(msg);
            }
            catch (VmException ex)
            {
                MessageBox.Show(Convert.ToString(ex.errorCode, 16));
            }
            catch (Exception ex) {
                MessageBox.Show(ex.Message);
            }
        }

选择路径

Csharp 复制代码
         /// <summary>
        /// 选择流程路径
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button7_Click(object sender, EventArgs e)
        {
            OpenFileDialog openFileDialog = new OpenFileDialog();
            openFileDialog.Filter = "VM Prc Files|*.prc*";
            if (openFileDialog.ShowDialog() == DialogResult.OK)
            {
                RunTryCatch(() =>
                {
                    textBox2.Text = openFileDialog.FileName;
                }, "流程选择路径成功.");
            }
        }

导入流程

Csharp 复制代码
        /// <summary>
        /// 导入流程
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button11_Click(object sender, EventArgs e)
        {
            RunTryCatch(() => {VmProcedure.Load(textBox2.Text, "");},
                "流程导入成功.");
        }

导出流程

Csharp 复制代码
        /// <summary>
        /// 导出流程
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button10_Click(object sender, EventArgs e)
        {
            RunTryCatch(() => {VmProcedure vmProcedure = (VmProcedure)VmSolution.Instance[comboBox1.Text];vmProcedure.SaveAs("E:\\测试保存流程.prc");}, 
                "流程保存成功.");
        }

运行流程

Csharp 复制代码
        /// <summary>
        /// 运行流程
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button8_Click(object sender, EventArgs e)
        {
            RunTryCatch(() => {VmProcedure vmProcedure = (VmProcedure)VmSolution.Instance[comboBox1.Text];vmProcedure.Run();/*vmProcedure.ContinuousRunEnable = true;流程连续运行*/},
                $"运行一次流程{comboBox1.Text}成功.");
        }

删除流程

Csharp 复制代码
        /// <summary>
        /// 流程删除
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button9_Click(object sender, EventArgs e)
        {
            RunTryCatch(() => { VmSolution.Instance.DeleteOneProcedure(comboBox1.Text); }, "流程删除成功.");
        }

界面效果

  1. 运行程序,加载方案
  1. 选择流程路径,导入流程

可以看到,在方案内新增加了刚导入的标定1流程.

  1. 选择流程,删除

对应流程删除成功.

  1. 导出流程

导出到项目根目录下,导出成功.

  1. 运行流程

流程已运行成功.对应工具显示为绿色被正常执行.

相关推荐
程序员大雄学编程1 小时前
「深度学习笔记4」深度学习优化算法完全指南:从梯度下降到Adam的实战详解
笔记·深度学习·算法·机器学习
future_studio1 小时前
聊聊 Unity(小白专享、C# 小程序 之 图片播放器)
unity·小程序·c#
新子y1 小时前
【小白笔记】PyTorch 和 Python 基础的这些问题
pytorch·笔记·python
每月一号准时摆烂1 小时前
PS基本教学(三)——像素与分辨率的关系以及图片的格式
人工智能·计算机视觉
song150265372981 小时前
全自动视觉检测设备
人工智能·计算机视觉·视觉检测
rechol2 小时前
类与对象(中)笔记整理
java·javascript·笔记
新子y2 小时前
【小白笔记】KNN 核心预测函数 _predict_one 的过程
笔记
橘子是码猴子2 小时前
LangExtract:基于LLM的信息抽取框架 学习笔记
笔记·学习
柳安忆3 小时前
idea生成数据集调研
人工智能·笔记
aramae3 小时前
详细分析平衡树--红黑树(万字长文/图文详解)
开发语言·数据结构·c++·笔记·算法