halcon(二)控制语句
1.学习了halcon相关控制语句的代码
,有for-endfor,while, repeat, assign, assign_at, insert, :=, if-elseif-else-endif,try-catch-throw-end,注释等,涵盖了目前大部分控制语句。
dev_open_window(0, 0, 512, 512, 'black', WindowHandle)*** par_join, global, executable_expression,export_def,import 尚未学习***
Area:=[1,2,3,4]
Value:=4
insert(Area,Value,1,Result) //用Value值替换第2个位置的值
assign_at(0,Value,Area) //用Value值替换第0个位置的值count:= 0
assign(1,count)if(count >= 1)disp_message(WindowHandle,count + 'werw','window',100,100,'red','true')
elseif (count <1)disp_message(WindowHandle,count +'weds','window',150,100,'red','true')
elsecount := 0
endifArray1 := []
for Index:= 1 to 5 by 1disp_message(WindowHandle,Index + 'ddddddd','window',180 + Index * 20,100,'red','true')Array1 := [Array1,1]
endfor*我是注释,相当于是打了个断点
stop() //我是注释,相当于是打了个断点w:= 9
while(w >0)if( w != 5)w:= w -1continueendifdisp_message(WindowHandle,Index + 'werw','window',10 + w * 20,100,'red','true')w:= w -1if(w == 1)breakendif
endwhileiter := 1
repeat iter := iter+1disp_message(WindowHandle,Index,'window',220 + iter * 20,100,'red','true')
until (iter == 5)valt:=0
switch(valt)
case 1:disp_message(WindowHandle,'我是1','window',320 + iter * 20,100,'red','true')
case 2:disp_message(WindowHandle,'我是2','window',320 + iter * 20,100,'red','true')
default:disp_message(WindowHandle,'我是其他','window',320 + iter * 20,100,'red','true')
endswitchtryread_image(img,'D:/Snapshot0011.jpg')
catch (Exception)if(Exception[0] == 5200)dev_get_exception_data(Exception,'error_message',ErrMsg)set_tposition(WindowHandle,24,12)write_string(WindowHandle,ErrMsg)return ()elsethrow([Exception,'unknown exception in myproc'])endif
endtryexit() //退出程序
2.结果显示:

