用 StrTo[…] 类型的函数可以将字符串变量转换为另一个数据类型,下表列出系统自带的字符串转换为其他数据类型的函数:
| 函数 | 返回值 | 说明 |
| StrToAXIS (CHAR strValue[256], AXIS value) | BOOL | 字符串转AXIS类型数据 |
| StrToBOOL (CHAR strValue[256], BOOL value) | BOOL | 字符串转布尔类型数据 |
| StrToE3AXIS (CHAR strValue[256], E3AXIS value) | BOOL | 字符串转E3AXIS类型数据 |
| StrToE6AXIS (CHAR strValue[256], E6AXIS value) | BOOL | 字符串转E6AXIS类型数据 |
| StrToE3POS (CHAR strValue[256], E3POS value) | BOOL | 字符串转E3POS类型数据 |
| StrToE6POS (CHAR strValue[256], E6POS value) | BOOL | 字符串转E6POS类型数据 |
| StrToFRAME (CHAR strValue[256], FRAME value) | BOOL | 字符串转FRAME类型数据 |
| StrToINT (CHAR strValue[256], INT value) | BOOL | 字符串转整数类型数据 |
| StrToPOS (CHAR strValue[256], POS value) | BOOL | 字符串转POS类型数据 |
| StrToREAL (CHAR strValue[256], REAL value) | BOOL | 字符串转实数类型数据 |
具体语法( 以StrToAxis函数为例):
| success = StrToAXIS(string, value) |
| 元素 | 说明 |
|
success |
-TRUE:转换成功 |
|
String |
2.要将其转换为另一个数据类型的字符串变量. |
|
Value |
1.输出变量的类型:AXIS |
比如:
DECL BOOL success, valuesuccess=StrToBOOL("TRUE", value) ;Value=TRUE
二.字符串变量声明时的长度
函数StrDeclLen() 根据其在程序声明部分中的声明确定字符串变量的长度。
语法:
| Length = StrDeclLen(StrVar[]) |
| 元素 | 说明 |
|
Length |
1.返回值类型:INT |
|
StrVar[] |
1.变量类型:CHAR[] |
比如:
CHAR ProName[24]INT StrLength= StrDeclLen(ProName[]) ;strLength=24
三.字符串变量初始化后的长度
与已在程序初始化部分确定的一样,函数 StrLen() 确定字符串变量的字符串长度。
语法:
| Length = StrLen(StrVar[]) |
| 元素 | 说明 |
|
Length |
1.返回值类型:INT |
|
StrVar[] |
1.变量类型:CHAR[] |
比如:
CHAR ProName[24]INT StrLength="Pick_Part"= StrLen(ProName[]) ;StrLength=9
四.删除字符串变量的内容
函数 StrClear() 用于删除字符串变量的内容。
语法:
| Result = StrClear(StrVar[]) |
| 元素 | 说明 |
|
Result |
1.返回值类型:BOOL -没有删除字符串变量的内容:FALSE |
|
StrVar[] |
1.变量类型:CHAR[] |
比如:
IF (NOT StrClear($Loop_Msg[])) THENHALTENDIF
五.扩展字符串变量
用函数StrAdd() 可以给字符串变量扩展其他字符串变量的内容。
语法:
| Sum = StrAdd(StrDest[],StrToAdd[]) |
| 元素 | 说明 |
|
Sum |
1.返回值类型:INT |
|
StrDest[] |
1.变量类型:CHAR[] |
|
StrToAdd[] |
1.变量类型:CHAR 框 |
比如:
DECL CHAR A[50], B[50]DECL INT AB= "This is an "= "example"= StrAdd(A[],B[])="This is an example"=18
六.搜索字符串变量
用函数StrFind() 可以搜索字符串变量的字符串。
语法:
| Result = StrFind(StartAt, StrVar[], StrFind[], CaseSens) |
| 元素 | 说明 |
|
Result |
1.返回值类型:INT |
|
StartAt |
1.变量类型:INT |
| StrVar[] |
1.变量类型:CHAR 框 |
| StrFind[] |
1.变量类型:CHAR 框 |
| CaseSens |
#CASE_SENS:要区分大小写。 |
比如:
DECL CHAR A[5]DECL INT BA[]="ABCDE"B = StrFind(1, A[], "AC", #CASE_SENS) ;B=0B = StrFind(1, A[], "a", #NOT_CASE_SENS) ;B=1B = StrFind(1, A[], "BC", #Case_Sens) ;B=2B = StrFind(1, A[], "bc", #NOT_CASE_SENS) ;B=2
七.比较字符串变量
用函数StrComp() 可以比较两个字符串变量。
语法:
| Result= StrComp(StrComp1[], StrComp2[], CaseSens) |
| 元素 | 说明 |
|
|
|
|
StrComp1[] |
1.变量类型:CHAR[] |
|
StrComp2[] |
1.变量类型:CHAR 框 |
| CaseSens |
#CASE_SENS:要区分大小写。 |
比如:
DECL CHAR A[5]DECL BOOL BA[]="ABCDE"B = StrComp(A[], "ABCDE", #CASE_SENS) ;B=TRUEB = StrComp(A[], "abcde", #NOT_CASE_SENS) ;B=TRUEB = StrComp(A[], "abcd", #NOT_CASE_SENS) ;B=FALSEB = StrComp(A[], "acbde", #NOT_CASE_SENS) ;B=FALSE
八.复制字符串变量
用函数StrCopy() 可以将字符串变量的内容复制到另一个字符串变量。
语法:
| Result = StrCopy(StrDest[],StrSource[]) |
| 元素 | 说明 |
|
|
|
|
StrDest[] |
1.变量类型:CHAR[] |
|
StrSource[] |
1.变量类型:CHAR 框 |
比如:
DECL CHAR A[25], B[25]DECL BOOL C= ""= "Example"= StrCopy(A[], B[])="Example"=TRUE
九.小结:





