前言

最近换工作,在学习了解halcon工具,每天总结分析今天所学知识,今天是基础语法篇!

1.基本语法

描述 语法
等号 :=
不等号 #
注释符 *
字符串赋值 str:='halcon'
等于比较符 if(x=10)
if(x>1 and x<10)
if(x>1 or x<10)
求反 if(notA=10)
For循环 for i:=0 to 10 by 1 ... endfor
While循环 while(x==1) ... EndWhile
异常获取 try ... catch(Exception) Endtry
Switch多分支 switch(index) case 1: ... break default : ... break endswitch

其中的...表示需要执行的内容

2.Tuple数组

  • 将一个Tuple数组赋值给变量

    arr:=[1,0,3,4,2]
  • 给Tuple数组元素赋值

    arr[1]:=2
  • 批量改变数组元素的值

    arr[1,2]:='abc'[替换数组中1,2的值为abc]
  • 批量给arr数组赋值,其值为0到100连续数值

    arr:=[0,100]
  • 批量给arr数组赋值,其值为3到200连续数值,步长为1

    arr:=[3:1:200]
  • 批量给arr数组赋值,其值为100到-100连续数值,步长为-10

    arr:=[100:-10:-100]
  • 对两个数组合并操作
   arr1:=[1,2,3]
arr2:=[2,3,4]
tuple_union(arr1,arr2,arr3)[去掉数组重复的元素]
arr3:=[1,2,3,4]
  • 对两个数组进行交集操作
   arr1:=[1,2,3]
arr2:=[2,3,4]
tuple_union(arr1,arr2,arr3)[取两数组交集]
arr3:=[2,3]
  • 对数组元素进行替换
  arr:=[0,1,2,3]
tuple_replace(arr,[0,1],['x','y'],Replaced)
  • 向数组插入数值
  arr:=[0,1,2,3,4]
tuple_insert(arr,3,'x',InsertSingVaueA)

3.字符数组的格式化

语法 描述
$'#0' 8进制,0为前缀
$'#x' 16进制,0x为前缀,7b为赋值
$'#X' 16进制,0x为前缀,7B为赋值,7b与7B是一样的
$'#f' double型,默认保留小数点后六位
$'#g' 使数字始终保持六位,不足补零
$'#G' 使数字始终保持六位,不足补零
$'#e' 转换成科学计数
$'#E' 转换成科学计数
$'10' 文本右对齐
$'-10' 文本左对齐

4.整数

语法 描述
$'6' 小于六位时,文本右对齐,大于不影响
$'-6' 小于六位时,文本左对齐,大于不影响
$'-6' 小于六位时,文本左对齐,大于不影响
$'.6' 小于六位时,在左补零,大于不影响
$'10.6' 小于十位时,文本右对齐;小于五位则在左补零,大于不影响

halcon语法讲解的更多相关文章

  1. Verilog HDL基础语法讲解之模块代码基本结构

    Verilog HDL基础语法讲解之模块代码基本结构   本章主要讲解Verilog基础语法的内容,文章以一个最简单的例子"二选一多路器"来引入一个最简单的Verilog设计文件的 ...

  2. PID控制器的数字实现及C语法讲解

    PID控制器的数字实现及C语法讲解 概述 为方便学习与交流,根据自己的理解与经验写了这份教程,有错误之处请各位读者予以指出,具体包含以下三部分内容: (1)  PID数字化的推导过程(实质:微积分的近 ...

  3. Markdown语法讲解及MWeb使用教程

    写了一个月的博客,忽然感觉Markdown编辑器比较好用,于是就下载了一个本地的Markdown编辑软件学习了一下,刚好软件里自带了一篇英文的指示文档,顺便翻译了一下,通过这个过程也大致熟悉了Mark ...

  4. innobackupex 相关语法讲解【转】

    innobackupex 相关语法讲解 连接服务器 The database user used to connect to the server and its password are speci ...

  5. Elasticsearch基本CURD操作语法讲解

    当我们的ES集群搭建完成以后,我怎么能看到集群中各个节点状态以及主节点和健康情况呢,如下讲解使用curl命令来与ES集群进行交互.分别有查询主节点情况.集群状态.以及创建索引查看索引.查看分片以及对E ...

  6. Lua基础语法讲解

    Lua 是什么? Lua 是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放, 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能. Lua 是巴西里约热内卢天主教大学( ...

  7. mvc 4 razor语法讲解和使用

    1.这里的  @{Layout="文件路径";}  代码块指定了整个项目默认所使用的布局文件(如图:) @RenderBody()对于所有的页面默认的情况下都会使用这个布局(Web ...

  8. C#核心语法讲解-泛型(详细讲解泛型方法、泛型类、泛型接口、泛型约束,了解协变逆变)

    泛型(generic)是C#语言2.0和通用语言运行时(CLR)的一个新特性.泛型为.NET框架引入了类型参数(type parameters)的概念.类型参数使得设计类和方法时,不必确定一个或多个具 ...

  9. CSS3之 :nth-child(n)语法讲解

    语法: E:nth-child(n){ sRules } * 匹配父元素索引为n的子元素E :nth-child(n) 让你匹配到父元素的任一子元素: Figure 1:<section id= ...

随机推荐

  1. 通过Git在本地局域网中的两台电脑间同步代码

    0.前言 一般情况下同步代码可以通过在GitHub/GitLab等网站新建远程仓库,所有机器都向仓库推送或者从仓库下拉更新. 上述过程步骤也不算复杂,不过有时候我们考虑到仓库的安全性等因素,只想在局域 ...

  2. Fortran学习笔记:01 基本格式与变量声明

    Fortran学习笔记目录 01 基本格式与变量声明 格式 固定格式(Fixed Format):Fortran77 程序需要满足一种特定的格式要求,具体形式参考教材 自由格式(Free Format ...

  3. 测试rac数据文件建本地及处理

    模拟用户zytuser的表空间ZYTUSER_TBS表空间添加数据文件到本地.--环境准备1.创建一个表空间--创建表空间create tablespace ZYTUSER_TBS datafile ...

  4. MYSQL小版本升级(5.7.21至5.7.25)

    1.环境确认 [root@mysql ~]# ps -ef |grep -i mysql root 9173 1 0 2020 ? 00:00:00 /bin/sh /mysql/data/mysql ...

  5. JVM学习笔记——类加载器与类加载过程

    类加载器与类加载过程 类加载器ClassLoader 类加载器 ClassLoader 用于把 class 文件装载进内存. 启动类加载器(Bootstrap ClassLoader): 这个类加载使 ...

  6. C#开发BIMFACE系列43 服务端API之图纸拆分

    BIMFACE二次开发系列目录     [已更新最新开发文章,点击查看详细] 在上一篇博客<C#开发BIMFACE系列42 服务端API之图纸对比>的最后留了一个问题,在常规业务场景下,一 ...

  7. 学习笔记——不带修序列莫队 (luogu2079)小B的询问

    莫队是一种对于询问的离线算法 时间复杂度:O(\(n \sqrt n\)) 大致思想就是 首先将询问离线,然后对原序列分块,使得每一个\(l和r\)都在一个块里 然后按照左节点排序,若所在的块相等,就 ...

  8. 多项式(polynomial)

    多项式(polynomial) 题目大意: 给出一个 n 次多项式 \(f(x)=\sum_{i=0}^na_ix^i\) 对于\(k ≤ x ≤ k + l − 1\) 的\(l\) 个\(x\), ...

  9. 2021年3月-第02阶段-前端基础-HTML+CSS阶段-Day02

    HTML5 第二天 一.rotate 2d旋转指的是让元素在2维平面内顺时针旋转或者逆时针旋转 使用步骤: 给元素添加转换属性 transform 属性值为 rotate(角度) 如 transfor ...

  10. HCNP Routing&Switching之BGP邻居建立条件、优化和认证

    前文我们了解了BGP相关概念.AS相关概念以及BGP邻居类型.基础配置等,相关回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15370838.html:今天我们 ...