DIESEL地概念及其函数

  • 来源: 互联网 作者: somesun   2008-03-21/17:09
  • 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)#p#分页标题#e#
        它可能的返回结果为:
        Tue, 9 Jun 2001 - 5:47pm
        注意 “picture”参数中逗号必须放在引号中,否则它将被当作参数分隔符。


    评论 {{userinfo.comments}}

    {{money}}

    {{question.question}}

    A {{question.A}}
    B {{question.B}}
    C {{question.C}}
    D {{question.D}}
    提交

    驱动号 更多