目录
1. 注释
2. 数据类型
1. 图像变量
2. 控制变量
3. 变量的使用
1. 在halcon
2. 在c#
4. 运算符
1. 算数运算符
2. 关系运算符
3. 逻辑运算符
5. 选择结构
6. 快捷键
7. 循环结构
8. 数组(集合)
9. 数组集合运算
10. 字符串算子
11. 文件
12.冒泡排序
1. 符号*
2. F4 批量注释 F3取消注释
3. if(false)
1. 图像 image
2. 区域 region
3. 轮廓 xld
1. 基础数据类型
2. 字符串 ''
1. 不需要定义
2. 没有数据类型, 自动判断该数据的类型
3. 不需要分号结束
4. 赋值 :=
data1 := 10
data2 := 3.14
data3 := 'hello world'
data4 := false
1. 区别
+ - * / %
data1 := 10
data2 := 20
data3 := data1 + data2
data4 := data1 - data2
data5 := data1 * data2
data6 := data1 / data2
data7 := data1 % data2
1.> >= < <= = !=(#)
2. 逻辑真(true/1)假(false/0)
data1 := 10
data2 := 10
data3 := data1 > data2//data1大于data2是假,所以data3等于0
data4 := data1 >= data2
data5 := data1 < data2
data6 := data1 <= data2
data7 := data1 = data2//data1等于data2是真,所以data7等于1
data8 := data1 != data2
data9 := data1 # data2
1. and
2. or
3. not
data1 := 1
data2 := 0
data3 := data1 and data2//逻辑与(两个为真才为真)
data4 := data1 or data2 //逻辑或(有一个真就是真)
data5 := not data1//逻辑非(真转假)
1. if
2. if else
3. if elseif elseif
4. switch case
data1 := 1
data2 := 0
if (data1)
endif
if (data1)
else
endif
if (data1)
elseif(data2)
endif
switch (data1)
case 1:
break
case 2:
break
case 3:
break
default:
break
endswitch
tab tab enter
1. while
2. for
data1 := 0
while (data1 < 100)
data1 := data1 + 10
endwhile
data2 := 1
rst := 0
for Index := 1 to 5 by 1//to是小于等于,前面是i=1,从1 开始,后面是1++
rst := data2 * Index
endfor
for Index1 := 1 to 5 by 1
if (Index1 = 2)
continue//结束本次循环
break//结束本次循环
endif
endfor
for Index2 := 1 to 5 by 1
for Index3 := 1 to 5 by 1
for Index4 := 1 to 5 by 1
endfor
endfor
endfor
*数组
arry := []//定义一个数组
arry1 := [1,2,3]//数组有三个数据
arry2 := ['hello','hi','ok']
data1 := arry1[0]//下标法,取第0个数据,data1=1
*集合
arry1 := [arry1,10]//在arry1的后面加10
arry1 := [20,arry1]//在arry1的前面面加20
rows := []
cols := []
for Index := 1 to 5 by 1
a := arry1[Index-1] //五个数据,下标应该是四
rows := [rows, Index]//往rows里面循环添加数据
cols := [cols, Index*2]//往cols里面循环添加数据
endfor
1. tuple_
Arry := [1,3,5,7,9,2,4,6,8,10,8,4,2,1]//数组里面存的
tuple_min (Arry, Min)//从Arry里面查找并且输出最小值
tuple_max (Arry, Max)//从Arry里面查找并且输出最大值
tuple_mean (Arry, Mean)//从Arry里面计算并且输出平均值
tuple_median (Arry, Median)//从Arry里面查找并且输出中间值
tuple_sort (Arry, Sorted)//从Arry里面查找并且输出排序(从小到大)
tuple_uniq (Sorted, Uniq)//从Arry里面查找并且删除掉重复的
*查询
tuple_find (Arry, 5, Indices)//从Arry里面查找5,如果找到,Indices会显示5的下标,如果没有会显示-1
tuple_find (Arry, 1, Indices1)//如果查出两个同样的数字,会显示两个下标
tuple_find_first (Arry, 1, Index)//查找第一个1的下标(从前往后找)
tuple_find_last (Arry, 1, Index1)//查找第一个1的下标(从后往前找)
tuple_length (Arry, Length)//查找数组有多少个下标 (第一种方法)
for Index2 := 1 to Length by 1
endfor
Len := |Arry|//查找数组有多少个下标,|Arry|是数组的长度 (第二种方法)
for Index3 := 1 to |Arry| by 1
endfor
*插入(增加)
tuple_insert (Arry, 0, 100, Extended)//在Arry的第【0】个位置插入100
tuple_insert (Arry, 1, [100,200], Extended1)//在Arry的第【1】个位置插入100,200
*删除
tuple_remove (Arry, 0, Reduced)//删除Arry的第【0】个数组
*修改
tuple_replace (Arry, 0, 30, Replaced)//在Arry把下标【0】删除,并且替换成30
1. tuple_str_
data1 := 1.2365678
tuple_string (data1, '.2f', String)//把data1保留“.2f”计算保留小数点的后两位
data2 := 'hello world'
tuple_strlen (data2, Length)
tuple_substr (data2, 6, 10, Substring)
tuple_split (data2, ' ', Substrings)
打开文件,写入文本
open_file ('lw.txt', 'append', FileHandle)
fwrite_string (FileHandle, 'hallo1' + '\n')
fwrite_string (FileHandle, '你好1' + '\n')
close_file (FileHandle)
读取文件中内容
open_file ('lw.txt', 'input', FileHandle1)
Lines := []
IsEOF := 0
while (IsEOF != 1)
fread_string (FileHandle1, OutString, IsEOF)
if (IsEOF)
break
endif
Lines := [Lines, OutString]
endwhile
close_file (FileHandle1)
Arry := [1,3,5,7,9,2,4,6,8,10]
MaxData := Arry[0]
for Index := 1 to |Arry| by 1
if (Arry[Index-1] > MaxData)
MaxData := Arry[Index-1]
endif
endfor
for Index1 := 1 to |Arry|-1 by 1
for Index2 := 1 to |Arry|-1- Index1 by 1
if (Arry[Index2-1] > Arry[Index2 + 1-1])
Temp := Arry[Index2-1]
Arry[Index2-1] := Arry[Index2 + 1 - 1]
Arry[Index2 + 1 - 1] := Temp
endif
endfor
endfor