所有的变量在使用前都需要进行声明,变量的名称由1到16个字母数字、下划线组成,名称的第一个字符只能为希腊字母。变量名称不能使用DMIS预留字,预留字包括DMIS主字、次字、常用函数等等

变量声明

在使用变量存储数据前必须用‘DECL’语句来定义,定义变量可以确定变量的三个属性:适用范围、变量类型、变量名。

DECL语句

这个语句用定义方式声明一个新的变量,包括变量的长度、范围、类型以及长度,格式如下:

DECL/[范围],变量类型,变量名称

变量范围:变量范围决定变量多久将要使用,或者数据需要保留的时间,在此期间,可以通过各种DMIS语句调用或修改变量里的数据。

LOCAL变量只能被已定义的程序、宏访问,程序结束变量就被删除了。

GLOBAL变量可以被已定义的程序及其模块所访问;

COMMON变量可以被所有的程序、模块及宏访问,而且会永久存在;

数据类型:变量的数据类型用来确定变量存储数据的格式,不同的数据格式需要不同的内存空间。每种类型的存储空间上下限值取决于操作系统。

DECL/COMMON,DOUBLE,XX,NUM[3,30]

DECL/COMMON,INTGR,I

DECL/COMMON,CHAR,20,TEMPSTR

DECL 为变量定义的关键字

COMMON 变量的作用范围,这里是公共变量

DOUBLE 变量的数据类型,这个是双精度数字型变量

XX 变量名称

NUM[3,30] 定义的变量为一个3*30的变量数组

INTGR 变量的数据类型为整数型

CHAR 变量的数据类型为字符型变量

20 字符变量的长度最多为20个字符,中文算两个字符。

DECL变量定义

DECL/CHAR,80,TCDIRS
DECL/INTGR,TCNSLT
DECL/DOUBLE,TCDIFX,TCDIFY,TCDIFZ
DECL/CHAR,80,RESULTS[10]
DECL/CHAR,80,RESULTS[10,5]
通过“DECL”指令,可以定义各种变量
DECL/INTGR,IND
DECL/CHAR,80,RESULTS[10]
DO/IND,1,10,1
RESULTS[IND]=ASSIGN/''
ENDDO
可以定义以下类型的变量:
BOOL
CHAR
INTGR
REAL
VECTOR
LONG
这些变量的有效范围可以是:
COMMON
GLOBAL
LOCAL

变量名称:当需要访问变量里的数据时需要名称来识别变量。变量名称由1到16个字母、数字或下划线构成,首字母必须是英文字母。变量名称中不能包含DMIS保留字(主次关键字、定义的标签名和函数名)。

DECL语句例子

  1. 定义一个REAL或DOUBLE型变量,用于存储圆的直径。

DECL/LOCAL,REAL,CircleDiameter

在DMIS编辑区输入“DECL”再输入“/”后软件会自动提示备选的关键字:

  1. 定义INTEGR或DOUBLE型变量用来记录已测工件数量。

DECL/LOCAL,INTGR,PartsNum

  1. 定义CHAR型变量来储存操作者的姓名。

DECL/LOCAL,CHAR,50,OperatorName

50在这里限制字符串的长度。

变量声明的函数为
DECL/var_1 var_2 var_3
定义变量的作用范围
其中 Var_1 为COMMON 普通
或者GLOBAL 全局变量
或者LOCAL 局部变量
或者不存在
定义变量的类型
Var_2 为BOOL 布尔型
或者INTGR 整数型
或者LONG 长整型
或者REAL 实数型
或者DOUBLE 双精度型
或者CHAR,n 字符型
或者VECTOR 向量型

Var_3 为Varname 变量名称
相同类型的变量可以在同一个DECL语句中声明。
比如: DECL/COMMON,INTGR,I
这个语句就表示声明了一个整数型变量,名称为I.后面程序中表达式所需要整数的就可以用I来替代.
再或者DECL/COMMON,CHAR,20,TEMPSTR
这个语句声明一个字符串变量,名称为TEMPSTR,长度为20,表示这个变量所存储的字符长度最大为20,如果超过20,后面的字符将不读入变量.
变量的名称由1到16个字母数字、下划线组成,名称的第一个字符只能为希腊字母。变量名称不能使用DMIS预留字,预留字包括DMIS主字、次字、常用函数等等。如果这里不指定Var_1,DMISMN声明的程序块用GLOBAL为默认值,在MACRO声明的程序块中用LOCAL为默认值。
变量数组的声明例子为:
DECL/COMMON,DOUBLE,RAPLUS[3,3]
这个语句表示声明了一个2维的数组RPLUS[3,3],此次一共声明了9个变量,分别为
RAPLUS[1,1] RAPLUS[1,2] RAPLUS[1,3]
RAPLUS[2,1] RAPLUS[2,2] RAPLUS[2,3]
RAPLUS[3,1] RAPLUS[3,2] RAPLUS[3,3]
DMIS中变量数组的起始从1开始,而其它常用的高级编程语言如C从0开始。

RationalDMIS 2020高级编程之变量定义_c#