HDevelop数据类型


*图形类型
*图像
Hwnd:=3600
read_image(Image, 'fabrik')
disp_obj(Image, Hwnd)
*region 区域
gen_rectangle1(Rectangle, 30, 20, 100, 200)
*xld 轮廓
gen_contour_region_xld(Rectangle, Contours, 'border')


*控制类型
*字符串
str:='ihalcon'
*整型
Num:=1000
*实型
Cont:=10.05
*数组
array:=[1,2,3,4,5]

*句柄
reduce_domain(Image, Rectangle, ImageReduced)
create_shape_model(ImageReduced, 'auto', -0.39, 0.79, 'auto', 'auto', 'use_polarity', 'auto', 'auto', ModelID)
clear_shape_model(ModelID)

*运算符
*赋值
Cont:=10.05

* 比较操作符:
A:=20
* t < t less than
if(A<10)
stop()
else
stop()
endif
* t > t greater than
if(A>10)
stop()
else
stop()
endif
* t <= t less or equal
if(A<=10)
stop()
else
stop()
endif
* t >= t greater or equal
if(A>=10)
stop()
else
stop()
endif
* t = t equal
if(A=10)
stop()
else
stop()
endif
* t # t not equal
if(A#10)
stop()
else
stop()
endif

*与 and
if(A>1 and A<30)
stop()
else
stop()
endif

*或 or
if(A<=1 or A>=30)
stop()
else
stop()
endif

*求反 not
if(not(A=10))
stop()
else
stop()
endif

*控制流
*for
for i := 1 to 5 by 1
continue
endfor

*if
if(not(A=10))
stop()
else
stop()
endif

*while
j:=0
while(j#10)
j:=j+1
endwhile

*switch
j:=0
while(j#10)
j:=j+1

endwhile

*数组操作
*数组定义方式1
Tuple2 := []
*数组定义方式1
tuple := gen_tuple_const(100,4711) //创建一个具有100个元素的,每个元素都为4711的数组

*赋值: 对数据赋值,对数组的初始化。
Tuple1 := [1,0,3,4,5,6,7,8,9]

*对数组中的某一个值进行赋值。
Tuple1[3]:=2
*显示结果为:[1, 0, 3, 2, 5, 6, 7, 8, 9],即对索引3后面元素,数组Tuple1中第4个元素赋值2.

*基本数组操作极其对应的算子
*t1,t2连接成新的数组 对应算子:tuple_concat
t1:=[1,2,3]
t2:=[4,5,6]
t:= [t1,t2]
tuple_concat(t1, t2, t3)

*得到数组长度 对应算子:tuple_length
i := |t|
tuple_length(t, Length)

*选取第i个元素0<= i < |t| 对应算子:tuple_select
i:=2
v := t[i]
tuple_select(t, i, Selected)

*选取i1到i1的元素 对应算子:tuple_select_range
i1:=3
i2:=5
t2s := t[i1:i2]

tuple_select_range(t,i1,i2,t3)
*选取数组t中的第i个元素 对应算子:tuple_select
i:=2
t2 := subset(t,i)

tuple_select(t,i,t3)

*去除数组t中的第i个元素 对应算子:tuple_remove
Temp:=t
i:=2
t2 := remove(Temp,i)

tuple_remove(Temp, i, t3)

*找到t2数组在t1数组中出现位置索引(如果没有找到,返回 -1) 对应算子:tuple_find
t1:=[3,4]
t2 := find(t,t1)

tuple_find(t, t1, t3)

t1:=[8,4]
t2 := find(t,t1)

tuple_find(t, t1, t3)

原文地址:https://www.cnblogs.com/wenluderen/p/4958077.html