输入控制参数可以是表达式,但图形参数、输出参数均应为变量;
String 类型变量由单引号 ’ 括起来;此外还有一些特殊字符;
Boolean 型变量包括 true ( = 1 )、 false ( = 0 ) ;不为零的整数将被认为 true;但绝
大多数的 Halcon 函数接受字符串型的表达:’true’ ‘false’,而非逻辑型表达;
函数返回常量用于标识错误:
Ø H_MSG_TRUE no error 2
Ø H_MSG_FALSE logical false % 3
Ø H_MSG_FAIL operator did not succeed 5
可以放在 try…catch…endtry 块中,也可以用 dev_error_var() 与 dev_set_check()
来捕获;
控制语句结构:(与一般语言略有不同,它们也有输入输出变量)
Ø if %... %endif / if ... else %... endif / if ... elseif ... else ... endif%
Ø for %... %endfor
Ø while %... %endwhile
Ø repeat ... until
此外,也有关键字 break、continue、return、exit、stop 用来控制语句的执行;
赋值语句在 Halcon 中也被当作函数来使用:
标准赋值
Ø assign(Expression, ResultVariable) //编辑形式,永远都是输入在前,输出在后
Ø ResultVariable := Expression //代码形式
元组插入赋值
Ø insert(Tuple, NewValue, Index, Tuple) //编辑形式
Ø Tuple[Index] := NewValue //代码形式
控制变量元组操作
Ø [t,t] concatenation of tuples
Ø |t| number of elements
Ø tselection of an element
Ø t[i:j] selection of a part of a tuple
Ø subset(t1,t2) selection from t1 by indices in t2
图形元组操作对应函数
Ø [] gen_empty_obj ()
Ø |t| count_obj (p, num)
Ø [t1,t2] concat_obj (p1, p2, q)
Ø tselect_obj (p, q, i+1)
Ø t[i:j] copy_obj (p, q, i+1, j-i+1)
Ø subset(t1,t2) select_obj (p, q, t2+1)
元组的数学运算,如:
A * B
,令
m = |A|, n = |B|
;
若
m
、
n
不相等,且都大于
1
,则错误;否则返回三种情况:
Ø m=n=1
,返回一个值;
Ø m=n>1
,返回一个包含
m
个数的元组,值为两元组各对于值的操作结果;
Ø m>1,n=1
,返回一个包含
m
个数的元组,值为第二个数与第一元组各值的操作结果;
Halcon
的数学运算
算术运算
Ø a / a division