标题: DIESEL的概念及其函数
冷剑无痕
元帅
Rank: 1



UID 43494
精华 0
积分 20403
帖子 17096
威望 0
金币 10065
热心 8
阅读权限 100
注册 2007-2-14
状态 离线
DIESEL的概念及其函数

DIESEL(Direct Interpretively Evaluated String Expression Language)是指“直接解释求值的字符串表达式语言”。使用的DIESEL可以控制AutoCAD系统变量MODEMACRO的值,也可用来编写菜单宏,但只能用来处理字符串。
    DIESEL的宏表达式格式如下:
    $(字符串函数名,函数参数1,函数参数2…)
    其中,根据函数的不同,函数参数的个数可以为零或者多个,但最多为9个。在宏表达式的不同元素之间,不可以有任何空格。所有的宏表达式都必须以“$”符号开头。
    可以在DIESEL中使用的函数如表35-1所示。
表35-1 DIESEL函数一览表
   




函数名   

格式      

说明      


     

$( ,val1,val2,…)   

返回字符串为全部数字之和      


-      

$(-,val1,val2,…)      

返回字符串为val1减去其他所有数字之差   


*   

$(*,val1,val2,…)      

返回字符串为全部数字之积   


/   

$(/,val1,val2,…)      

返回字符串为val1除以其他所有数字之商

   


=      

$(=,val1,val2)   

如果两个数字val1和val2相等,则返回字符串为1,否则为0   


<  

   

$(<,val1,val2)   

如果数字val1小于数字val2,则返回字符串为1,否则为0   


>      

$(>,val1,val2)      

如果数字val1大于数字val2,则返回字符串为1,否则为0   


!=   

$(!=,val1,val2)   

如果两个数字val1和val2不相等,则返回字符串为1,否则为0

   


<=   

$(<=,val1,val2)   

如果数字val1小于等于数字val2,则返回字符串为1,否则为0   


>=

   

$(>=,val1,val2)

   

如果数字val1大于等于数字val2,则返回字符串为1,否则为0

   


and

   

$(and,val1[,val2,..., val9])   

返回整数val1~val9的按位逻辑与      


angtos      

$(angtos,value[,mode,precision])

   

按指定的格式和精度返回角度值(注1)

   
表35-1 DIESEL函数一览表

   




edtime

   

$(edtime,time,picture)

   

返回基于指定图片的格式化的日期和时间(注2)

   


eq   

$(eq,str1,str2)

   

如果两个字符串str1和str2相同,则字符串返回1;否则返回0

   


eval

   

$(eval,str)      

将一个字符串传给DIESEL计算器,并返回计算结果

   


fix

   

$(fix,value)   

返回一个实数数字的整数部分      


getenv   

$(getenv,varname)   

返回环境变量varname的当前值;对于未定义的环境变量,则返回空字符串   


getvar   

$(getvar,varname)   

返回系统变量varname的值   


if      

$(if,expr,dotrue[,dofalse])      

如果expr非零,则计算并返回dotrue的值;否则,计算并返回dofalse的值   


index      

$(index,which,string)   

返回由which选定的、以逗号分隔的字符串中指定的成员,其中第一项编号为0   


linelen      

$(linelen)

   

返回用户所能见到的最长状态栏的字符长度。

   


nth      

$(nth,which,arg0[,arg1,...,arg7])   

计算并返回由which选定的参数的值,其中第一项编号为0   


or      

$(or,val1[,val2,...,val9])

   

返回整数val1~val9的按位逻辑或

   


rtos      

$(rtos,value [,mode,precision])

   

按指定的格式和精度返回实数值   


strlen   

     

返回字符串的字符长度   


substr

   

$(substr,string, tart[,length])

   

返回字符串string的子串,该子串从字符start开始,长度为length。      
字符串中的字符从1开始编号;如果length被省略,则返回从字符start开始、到string末尾为止的子串      


upper

   

$(upper,string)

   

返回字符串string的大写   


xor   

$(xor,val1[,val2,...,val9])      

返回整数val1~val9的按位逻辑异或

   
    注1 该函数根据参数“mode”和“precision”指定的格式,给定的参数“value”作为角度值进行编辑,如果参数“mode”和“precision”被省略,则使用由“unites”命令指定的当前值。参数“mode”的取值及其含义见表35-2。
表35-2 “mode”的取值及其含义

   




Mode值

   

字符串格式

   


0      

度   


1   

度/分/秒

   


2   

百分度      


3

   

弧度

   


4      

勘测单位      
    注2 该函数返回基于指定图片的格式化的日期和时间。
    其中,“time”参数为给定的AutoCAD日期,通常使用函数“$(getvar,date)”来获取;
    “picture”参数由日期和时间的特定表示法替代的格式短语组成。格式短语的定义如表35-3所示。所有不能解释为格式短语的字符将被完整地复制到函数返回结果中。
表35-3 “edtime”函数格式短语定义      




格式   

输出示例

   

格式      

输出示例

   


D

   

9   

H

   

5

   


DD   

09      

HH      

05   


DDD   

Tue   

MM      

47   


DDDD      

Tuesday      

SS

   

17   


^M   

6      

MSEC      

506   


MO      

06   

AM/PM

   

AM   


MON   

Jun   

am/pm   

pm   


MONTH      

June   

A/P   

P

   


YY

   

01      

a/p   

p   


YYYY      

2001   

     

     
    例如以如下格式使用该函数:下例使用上表中的日期和时间。
    $(edtime,$(getvar,date),DDD"," DD MON YYYY - H:MMam/pm)
    它可能的返回结果为:
    Tue, 9 Jun 2001 - 5:47pm
    注意 “picture”参数中逗号必须放在引号中,否则它将被当作参数分隔符。

顶部
[广告] 免费域名(Free Subdomain) 免费空间(Free hosting) PR查询(Google Pagerank)



当前时区 GMT+8, 现在时间是 2008-10-12 13:26
信产部ICP备案:京ICP备05066424号 北京市公安局网监备案:1101050648号

Powered by Discuz! 5.5.0
清除 Cookies - 联系我们 - 网友俱乐部 - Archiver - WAP