Halcon 基础语法(了解以后再看文档 )

*赋值符号   :=
*字符串用单引号包起来
int1 := 456
db1 := 456.456
str1 := 'fdsfdsa'


*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

* 赋值  算子方式
assign(sin(int1) + 789, m1)

* 相加 算子方式
tuple_add (m1, 13, sum1)

* 但使用最多的是 代码形式
m1 := sin(int1) + 789
sum1 := m1 + 13

t1 := [1,2,3]  // 数组
t1[1] := 9   // 将索引为1的数据 替换为 9  --> [1,9,3] 


* tupel 是一个灵活的数据类型  可以使 string integer real boolean handle, 也可以是他们的数组
tepel1 := []
tepel1 := 4556
tepel1 := 0.154
tepel1 := 'Text'
tepel1 := [16]
tepel1 := [100.0,100.0,200.0,200.0]
tepel1 := ['FileName','Extension']
tepel1 := [4711,0.85,'Hugo']


* Tupel 基础操作 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

t2 := 1
t3 := 9
i1 := 1
i2 := 3
i3 := 3

t := [1,2,3,4,5,6,7]     // 创建数组  tuple_concat
i := |t|     // 数组里元素个数 tuple_length
v := t[t2]   // 选择 t 数组中,索引为 t2 的元素  tuple_select
t := t[i1:i2]  // 选择 t 数组中的一部分  tuple_select_range

t := [1,2,3,4,5,6,7]
t := remove(t,2)   // 删除 t 数组中, index 为2的元素  tuple_remove

t := [1,2,3,4,5,6,7]
i := find(t,7)        // 在 t  中查找7的位置 tuple_find
i := replace(t,1,999)   // 替换指定元素 tuple_replace


*控制语法 操作~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

* 判断执行~~~~~~~
if (2>3)
    *...
elseif (4>5)
     *...
else
     *...
endif

* 循环执行~~~~~~~
Tuple1 := []
for i := 0 to 2 by 1   // 从0到2,递增1
    Tuple1[i] := sqrt(i)
endfor

* 循环执行~~~~~~~
m := 0
while (m<3)
    m := m+1
endwhile


* continue 跳过剩余代码,执行进入下一循环 与高级语言的功能一致~~~~~~~~~~~
Tuple1 := []
for i := 0 to 5 by 1
    if(i>0)
        continue
    endif
    Tuple1[i] := sqrt(i)
endfor

* break 跳过剩余代码,退出当前循环 与高级语言的功能一致~~~~~~~~~~~
Tuple1 := []
for i := 1 to 5 by 1
    break
    Tuple1[i] := sqrt(i)
endfor

* switch ~~~~~~~~~~~~~~~~
a := 3
switch(a)
case 1:
    Result := 'excellent'
    break
case 2:
    Result := 'good'
    break
default:
    Result := 'undefined'
endswitch



* try 错误处理~~~~~~~~~~~~~~~
try
    read_image (Image, '111111111111111111111')
catch (Exception)
    *return()    // 结束返回
     if (Exception[0] == 5200)
         dev_get_exception_data(Exception,'error_message',ErrMsg)
     else
         *rethrow the exception
         throw([Exception,'unknown exception in myproc'])
     endif
    
endtry

猜你喜欢

转载自blog.csdn.net/dashuu/article/details/114532812