当前位置:文档之家› lisp对话框

lisp对话框

lisp对话框
lisp对话框

目录

第一篇.基本知识 (2)

第1节基本知识 (2)

第2节定义档 (2)

第3节批注 (3)

第4节对话框定义文件的内容模式 (3)

第5节练习 (4)

第二篇开启对话框 (5)

第1节AutoLISP函数加载DCL定义文件函数 (5)

第2节对话框开启方式 (6)

第3节编辑框组件(edit_box) (6)

第4节练习 (7)

第三篇设定及取得对话框组件内的值 (8)

第1节AutoLISP函数设定组件的值 (8)

第2节练习 (9)

第3节练习 (9)

第4节AutoLISP函数组件指定动作 (10)

第四篇按钮及核取框(切换钮) (11)

第1节按钮组件(button) (11)

第2节核取框(切换钮)组件(toggle) (12)

第3节练习 (12)

第五篇横列、直行、空白及文字组件 (15)

第1节横列(row)及直行(column)组件 (15)

第2节空白(spacer)组件 (15)

第3节字符串组件(text) (17)

第4节文字段落组件(paragraph) (17)

第六篇滑杆(滚动条)组件 (18)

第1节滑杆(滚动条)组件(slider) (18)

第2节练习 (19)

第七篇按钮及影像按钮组件 (21)

第1节自订按钮 (21)

第2节练习 (22)

第八篇清单选框 (25)

第1节清单选框组件(list_box) (25)

第2节AutoLISP函数开始处理清单选框或弹出式选框 (25)

第3节练习 (26)

第九篇下拉(弹出)式清单选框 (29)

第1节下拉式(弹出式)清单选框组件(popup_list) (29)

第2节练习 (30)

第十篇选台钮组件 (32)

第1节选台钮组件(radio_button) (32)

第2节练习 (33)

第十一篇影像及影像框(影像区块)组件 (35)

第1节影像(image)及影像框(影像区块,image_block)组件 (35)

第2节AutoLISP函数 (35)

第3节建立新的对话框IMG1.DCL,存于C盘的根目录中,在对话框中只会显示两个影像及一个确定钮,其定义如下: (36)

第十一篇影像及影像框(影像区块)组件 (38)

第1节影像(image)及影像框(影像区块,image_block)组件 (38)

第2节AutoLISP函数 (38)

第3节练习 (39)

第一篇.基本知识

第1节基本知识

对话框是现今最流行的人机互动面接口;在早期的AutoCAD版本中巳经使用,但只有在R12版本开始,才提供给使用者自行编程的对话框开发功能。

对话框的描述定义在一纯文字文件(扩展名为DCL)内,无须特别的开发环境。

定义文件中的对话框描述,均以对话控制语言(Dialog Control Language,简称DCL语言)所建立。

在AutoLISP程序中,配合可编程对话框(Porgrammable Dialog Box,简称PDB)函数,激活及操控对话框。

可以在一个定义档(扩展名DCL)中定义多个对话框。

对话框由方块本身,及包含于其内的组件(或称为控件、构件)所组成。

每个组件的属性定义均包含在一对大括号{ }中。

在定义文件中,各组件及其属性均为小写,只有在赋值给属性,或设定对话框名称时才可使用大写字母。

属性以等号=赋值,并以分号;结束(注意:在AutoLISP程序中,分号是作为批注)。

一般要在组件名称前加上一个冒号:,但若组件并不设定属性,则不需要在组件名称前加冒号,但却要以分号结束。

空行会被忽略。

若定义档发生严重的错误,会在当前的目录下,产生ACAD.DCE文件,以指明所发生的错误。

第2节定义档

BASE.DCL 预设在SUPPORT的目录中,它包含了各组件的原型定义及各类型巳定义的其它基本组件。而所有自行开发的对话框定义文件,都可以使用在BASE.DCL定义文件中的各个组件。

ACAD.DCL 预设在SUPPORT的目录中,它包含了AutoCAD中所有标准对话框的定义参考定义档

可在自行开发的对话框定义文件中,经由include指令,取得指定DCL文件中所定义的组件,其语法如下:

@include "对话框定义档"

例如@include "david.dcl"

定义档名称要包含在双引号"中,可以在档名前加上指定的目录路径。

先在当前的目录中搜寻该定义文件,然后是定义文件所在的目录,若指定档案的路径,则只会在指定的目录内寻找。

不可以参考ACAD.DCL所定义的对话框,即不可以使用@include "acad.dcl"

预视对话框

若在Visual LISP中开启一对话框定义文件,即可使用:

工具-- 接口工具-- 预览编辑器DCL

在下拉式列示框中,选取该定义文件中所设定的对话框名称,即可预视对话框

亦可直接输入该对话框的名称(要注意大小写)

第3节批注

// 表示其右边(至该行末端)的文字被视为注释。

/* */ 包括在两个批注符号中间的所有文字(可跨越多行)均视为注释。

语义检核

提供4个等级的检核,该些检核会在对话框载入时完成。可以将下列语句放在定义文件中的任何位置,但不能在任何对话框的属性定义内。

dcl_settings : default_dcl_settings {audit_level = 3;}

等级0 不检查:只有在该定义档巳被检核,且不再作修改时使用。

等级1 错误:找出可能造成AutoCAD终止的错误,此等级为默认值。

等级2 警告:找出配置或行为模式的错误,所有定义在修改后,最少应执行此等级的检查一次。

等级3 提示:找出多余的属性定义。

对话框的设计

美观性颜色配比,组件整齐排列等。

方便性相同功能的项目要编排在一起,或使用线框包围。

使用频繁的项目应设置在最显眼及方便的位置。

适当设置快速键及默认值(缺省值)。

除非对话框中的项目过多,否则应避免使用巢状(嵌套)式对话框。

互锁或互换项目选取(或不选取)时,是否会导致其它项目功能的改变(enable或disable...等)

第4节对话框定义文件的内容模式

对话框名称:dialog

{ label="对话框标题" ;

:组件名称

{ 属性名称=属性值;

} //组件定义结束

} //对话框结束

定义说明:

1 对话框名称就是由AutoLISP程序启动对话框时所呼叫的名称。可以自行设定,要区分

大小写字母。dialog为对话框中最外层的组件(即整个对话框),其它的组件均包含在其中。一般组件要以冒号:开始,并为小写字母,因为不是属性,所以不须使用分号;结束。

2 开大括号{紧随组件名称之后,以包含该组件的属性或其它组件。label为属性名称,并以等号=赋以其右边的属性值,最后以分号;结束该行叙述。

3 包含在对话框中的其它组件。

组件要以冒号:开始,并为小写字母,因为不是属性,所以不须使用分号;结束。

4 开大括号{紧随组件名称之后,以包含组件的属性或其它组件。

包含在组件中的属性,要以等号=赋以其右边的属性值,最后以分号;结束该行叙述。

5 关大括号}与第4行的开大括号}对应,以结束该组件(第3行)之定义。

双除号//右边的文字即为批注。

6 关大括号}与第2行的开大括号}对应,以结束该组件之定义(在本例中为整个对话框的定义,即第1行的dialog组件)。

注意:

上例中,缩排只为方便观察及维护,不作缩排亦可。

包含在对话框中的组件及组件中的属性可以不只一个。

第5节练习

请输入以下的对话框定义,并命名为RECT.DCL(纯文字格式),存于C盘的根目录中。RECT:dialog

{ label="Rectangle" ;

:text //文字组件

{ label="Rectangle width :" ; //组件的属性

}

ok_only;

}

定义说明:

1 设定对话框的名称为RECT,紧接一个以冒号开始的组件dialog

2 最左边为dialog组件的开大括号,接着是其属性label,并以等号设定其属性值为"Rectangle",以分号结束此行叙述。

3 text为字符串组件,其作用是在对话框中显示文字,组件名称前要加冒号。

4 最左边为text组件的开大括号,接着是其属性label,并以等号设定其属性值为"Rectangle width",最后以分号结束此行叙述。

5 关大括号是对应第4行的开大括号,这对大括号同属于第3行的text组件。

6 ok_only为一“按钮组件”,它的作用是在对话框中显示一个“确定(OK)”按钮。在一个对话框中,最少必需提供一个“确定”按钮,或一个“取消”按钮(组件名称为cancel_button),以作为结束对话框之用。本例中不设定按钮之属性,固不需以冒号放在组件名称的前面,但却需要以分号结束。

7 关大括号是对应第2行的开大括号,这对大括号同属于第1行的dialog组件。

注意:

虽然定义档巳经完成,但仍要待学习完第2篇的课程后,才能开启及显示该对话框。

第二篇开启对话框

第1节AutoLISP函数加载DCL定义文件函数

(LOAD_DIALOG "对话框定义档名称")

例如(LOAD_DIALOG "C:/RECT.DCL")

自变量是要加载的对话框定义文件名称字符串(所以要在前后加双引号);若不设定扩展名则预设为.DCL

函数会依支持文件搜索路径找寻该定义档,不在搜索路径中的定义档,要在文件名称前加上指定的路径。

函数若成功加载该定义档,会返回一正整数值的档案处理码,供其它函数呼叫使用,无法加载时则返回负整数值。

一般会将返回的档案处理码以SETQ函数存入变量中。

例如(SETQ DCL_ID (LOAD_DIALOG "C:/RECT.DCL"))

开启并显示对话框

(NEW_DIALOG "对话框名称" 档案处理码["预设动作" [对话框位置]])

例如(NEW_DIALOG "RECT" DCL_ID)

对话框名称为字符串,要在前后加双引号。注意,在一个定义档中,可包含多个对话框名称及其定义。

档案处理码是经由LOAD_DIALOG函数取得。

预设动作为字符串表示式。函数可以不加预设动作,或以空字符串""表示。

如果要设定对话框显示时的位置,则必须同时设定预设动作。

对话框位置为2D的点串行,指定对话框左上角的X,Y坐标。

如果以'(-1 -1)为对话框位置,则会在绘图屏幕的中心点开启对话框。

如果成功开启对话框,函数会返回T,否则返回NIL。

开始接受使用者输入

(START_DIALOG)

函数不须提供任何自变量。

使前一个用NEW_DIALOG函数开启的对话框开始作用,直至动作表示式或回复函数呼叫DONE_DIALOG函数为止。

一般DONE_DIALOG与关键词accept(一般是按下确定按钮)或关键词cancel(一般是按下取消按钮)相关。

若返回值为1,表示使用者按下确定钮结束对话框;0表示按下取消钮;-1表示全部对话框都以TERM_DIALOG函数终止;大于1的整数,其意义由应用程序决定。

释放(卸载)对话框

(UNLOAD_DIALOG "档案处理码")

例如(UNLOAD_DIALOG DCL_ID)

从内存释放档案处理码(经由LOAD_DIALOG函数取得)指定的对话框定义档。

函数返回值一定是NIL。

第2节对话框开启方式

(DEFUN C:函数名称( ) (SETQ 变量(LOAD_DIALOG "对话框定义档"))

(NEW_DIALOG "对话框名称" 变量)

(START_DIALOG) (UNLOAD_DIALOG 变数)

)

程序说明:

1 以DEFUN函数定义程序的名称,使用LOAD_DIALOG函数加载指定的对话框定义档,使用SETQ函数,将LOAD_DIALOG返回的档案处理码存入变量中,以方便其它函数使用。

2 使用NEW_DIALOG,开启及显示定义文件中(档案处理码)指定的对话框。

3 使用START_DIALOG函数,使对话框开始作用并接受使用者输入。

使用UNLOAD_DIALOG函数以结束对话框。

4 关括号是对应第1行DEFUN函数左边的开括号,结束整个程序。

练习

编写一AutoLISP程序,以开启上一课所定义的对话框,并将该程序命名为RECT.LSP,存于C盘的根目录中,程序代码如下:

(DEFUN C:RECT() (SETQ DCL_ID (LOAD_DIALOG "C:/RECT.DCL"))

(NEW_DIALOG "RECT" DCL_ID)

(START_DIALOG) (UNLOAD_DIALOG DCL_ID)

)

程序说明:

1 以DEFUN函数定义程序的名称为RECT,使用LOAD_DIALOG函数将对话框定义文件RECT.DCL载入,使用SETQ函数,将LOAD_DIALOG返回的档案处理码存入变量DCL_ID 中,以方便其它函数使用。

2 使用NEW_DIALOG,开启及显示定义文件中(档案处理码)名称为RECT的对话框。

3 使用START_DIALOG函数,使对话框开始作用并接受使用者输入(在本例中只有确定钮可按),使用UNLOAD_DIALOG函数以结束对话框。

4 关括号是对应第1行DEFUN函数左边的开括号,结束整个程序。

第3节编辑框组件(edit_box)

供使用者直接输入字符串的矩形方框。注意,在编辑框中所显示及输入的数据均为字符串型态,而数字则要在取得编辑框的字符串内容后(在下一篇中介绍),使用AutoLISP函数将其转为数值型数据。

:edit_box //组件名称

{ 属性="属性值" ;

}

属性label 显示在编辑框前面(左边)的提示文字。

key 其属性值即为使用该组件的关键词,以便在AutoLISP程序中操控此组件。在同一个对话框定义中,不能有相同名称的关键词定义。

edit_limit 指定在编辑框中可输入字符串的最大字符长度。

edit_width 指定编辑框显示时的宽度(通常与fixed_width属性一拼使用)。

value 指定编辑框显示时的默认值(注意,显示数值数据时,要先用AutoLISP函数将数据转为字符型)。

fixed_width 通常与width属性一拼使用,以固定编辑框显示时的宽度(其属性值可设定为true或false)。

is_enable 可设定编辑框是否可以使用(其属性值可设定为true或false,默认值为true)。

alignment 如果组件成水平方向排列,属性值可设定为left,right或centered;如果组件成垂直方向排列,属性值可设定为top,bottom或centered(水平方向的默认值为left,垂直方向则为centered)。

其它属性

action allow_accept fixed_height height

is_tab_stop mnemonic width

第4节练习

将上一课的RECT.DCL对话框定义档复制至RECT1.DCL,开启新的定义档并作如下的修改,使其可以输入四边形的宽度及高度。将AutoLISP程序文件RECT.LSP复制至RECT1.LSP,开启新的程序文件,并将要加载的对话框定义档改为RECT1(程序第1行);完成后即可加载及执行新的程序文件

RECT:dialog

label="Rectangle" ;

:edit_box //编辑框组件

{ label="Rectangle width : " ;

key="RECT_W" ;

edit_limit=16;

edit_width=10;

fixed_width=true;

}

:edit_box //编辑框组件

{ label="Rectangle heigth :" ;

key="RECT_H" ;

edit_limit=16;

edit_width=10;

fixed_width=true;

}

ok_only;

}

定义说明:

1 设定对话框的名称为RECT,紧接一个以冒号开始的组件dialog。

2 最左边为dialog组件的开大括号,接着是其属性label,并以等号设定其属性值为"Rectangle",以分号结束此行叙述。

3 edit_box为"编辑框"组件,组件名称前要加冒号。

4 最左边为edit_box组件的开大括号,接着是其属性label,并以等号设定其属性值为"Rectangle width : ",最后以分号结束此行叙述。

5 设定属性key的属性值为RECT_W(即设定此编辑框的名称)。

6 设定属性edit_limit的属性值为16(即最多可以在编辑框中输入16个字符)。

7 设定属性edit_width的属性值为10(编辑框只会显示10个字附的长度)。

8 设定属性fixed_width的属性值为true,表示表将编辑框以固定的宽度显示。

9 关大括号是对应第4行的开大括号,这一对大括号同属于第3行的edit_box组件。

10至16 与3至9行相似,设定另一个编辑框以输入高度的数据。只有属性label及key 的属性值不同。

17 以ok_only组件,在对话框中显示一个确定(OK)按钮,作为结束对话框之用。

18 关大括号是对应第2行的开大括号,这一对大括号同属于第1行的dialog组件。

注意:

1 在第一个编辑框(输入四边形的宽度)的label属性值中,在字符串最后的冒号后面,加多了一个空格,目的是方更与下一个编辑框对齐。

第三篇设定及取得对话框组件内的值

第1节AutoLISP函数设定组件的值

(SET_TILE "组件关键词" 设定值)

例如(SET_TILE "RECT_W" "50.0")

组件的初始值可在定义文件中以属性value设定,但在程序文件中则以此函数设定。

组件关键词即是在对话框定义文件中,以组件属性key所定义的属性值,以赋予该组件一个操作名称。

组件关键词是区分大小写的。

此函数要在START_DIALOG函数之后才能使用。

取得组件的值

(GET_TILE "组件关键词")

例如(GET_TILE "RECT_W")

作用是在AutoLISP程序文件中取得组件(以关键词指定)的设定值。

组件关键词的说明与SET_TILE函数相同。

此函数要在DONE_DIALOG函数之前使用(即要在对话框结束前使用)。

设定组件的状态

(MODE_TILE "组件关键词" 状态模式)

例如(MODE_TILE "RECT_W" 0)

作用是在AutoLISP程序文件中设定组件(以关键词指定)的使用状态,其状态模式可以设定为下列任一整数值:

0 使指定的组件成为使用状态。

1 使指定的组件成为禁用状态(组件以灰色显示)。

2 使指定的组件成为焦点。

3 选取指定编辑框组件的内容。

4 图像高亮度显示的开关。

组件关键词的说明与SET_TILE函数相同。

第2节练习

修改对话框定义档的方式,设定输入宽度的编辑框其初始值为50,输入高度的编辑框其初始值为25。

定义档将RECT1.DCL复制至RECT2.DCL,在关键词为RECT_W的组件中,加入value 属性并设定其初始值为50;在关键词为RECT_H的组件中,加入value属性并设定其初始值为25。

程序文件将RECT1.LSP复制至RECT2.LSP,只须修改其加载的定义档名称为RECT2.DCL即可,完成后存盘,进入AutoCAD并载入RECT2.LSP程序文件,执行RECT2程序

RECT:dialog

{ label="Rectangle" ;

:edit_box

{ label="Rectangle width : " ;

key="RECT_W" ;

edit_limit=16;

edit_width=10;

fixed_width=true;

value="50.0"; //注意设定值为字符串型态,要在前后加双引号

}

:edit_box

{ label="Rectangle height :" ;

key="RECT_H" ;

edit_limit=16;

edit_width=10;

fixed_width=true;

value="25.0"; //注意设定值为字符串型态,要在前后加双引号

}

ok_only;

}

第3节练习

以修改AutoLISP程序文件的方式,使输入宽度的编辑框其初始值为50,输入高度的编辑框其初始值为25。

定义档将RECT1.DCL(不是RECT2.DCL)复制至RECT3.DCL,不作任何修改。

程序文件将RECT1.LSP复制至RECT3.LSP,程序代码如下:

(DEFUN C:RECT() (SETQ DCL_ID (LOAD_DIALOG "C:/RECT3.DCL"))

(NEW_DIALOG "RECT" DCL_ID)

(SET_TILE "RECT_W" "50.0")

(SET_TILE "RECT_H" "25.0")

(START_DIALOG)(UNLOAD_DIALOG DCL_ID)

)

程序说明::

1 以DEFUN函数定义程序的名称RECT,使用LOAD_DIALOG函数将对话框定义文件RECT3.DCL载入。使用SETQ函数,将LOAD_DIALOG返回的档案处理码存入变量DCL_ID中,以方便其它函数使用。

2 使用NEW_DIALOG,开启及显示定义文件中(档案处理码)名称为RECT的对话框。3,4 使用SET_TILE函数,设定输入宽度的编辑框组件RECT_W(组件关键词,在定义文件中key设定的属性值)为50,设定输入高度的编辑框组件RECT_H为25。

5 使用START_DIALOG函数,使对话框开始作用并接受使用者输入(在本例中只有确定钮可按)。使用UNLOAD_DIALOG函数以结束对话框。

6 关括号是对应第1行DEFUN函数左边的开括号,结束整个程序。

第4节AutoLISP函数组件指定动作

(ACTION_TILE "组件关键词" "指定动作")

例如(ACTION_TILE "RECT_W" "(SETQ TEMP 1)")

当焦点在指定的组件(关键词)上并按下接受键时,即会执行函数所指定的动作。

指定动作会取代定义文件中,该组件的action属性之预设动作。

组件关键词accept 在预设情况下是与确定按钮组件关连(即是确定按钮的预设关键词),cancel 则与取消按钮组件关连(即是取消按钮的预设关键词)。

终止对话框

(DONE_DIALOG [指定返回值]) 例如(DONE_DIALOG)

此函数的返回值为一个2D点串行坐标,为结束对话框时,对话框的所在位置可作为下次启动同一个对话框的位置自变量,使对话框在之前结束时的位置再次显现。

练习

将定义档RECT3.DCL复制至RECT4.DCL,但不作任何修改。将程序文件RECT3.LSP 复制至RECT4.LSP,并修改为:使用ACTION_TILE函数,指定在按下确定钮时,执行一辅助程序。在该辅助程序中,使用GET_TILE函数最得对话框中四边形的宽度及高度,并在使用者选取的位置上绘画出四边形。

(DEFUN C:RECT() (SETQ DCL_ID (LOAD_DIALOG "C:/RECT4.DCL"))

(NEW_DIALOG "RECT" DCL_ID)

(SET_TILE "RECT_W" "50.0")

(SET_TILE "RECT_H" "25.0")

(ACTION_TILE "accept" "(S_RECT)(DONE_DIALOG)")

(START_DIALOG)(UNLOAD_DIALOG DCL_ID)

(SETQ PT_0 (GETPOINT "\nSelect rectangle lower left point : "))

(SETQ PT_1 (POLAR PT_0 0 TMP_W)

PT_2 (POLAR PT_1 (/ PI 2) TMP_H)

PT_3 (POLAR PT_2 PI TMP_W))

(COMMAND "PLINE" PT_0 PT_1 PT_2 PT_3 "C")

(PRINC))

(DEFUN S_RECT() (SETQ TMP_W (ABS (ATOF (GET_TILE "RECT_W")))

TMP_H (ABS (ATOF (GET_TILE "RECT_H"))))

)

主程序(RECT)说明:

1 注意将LOAD_DIALOG函数所加载的对话框定义档改为RECT4.DCL。

2- 4 参阅RECT3程序的说明。

5 使用ACTION_TILE函数设定关键词为accept的组件(预设为确定按钮)的指定动作。先执行辅助程序S_RECT,取得输入的数据,再使用DONE_DIALOG函数结束对话框。

6 参阅RECT3程序,第5行的说明。

7 使用GETPOINT函数让使用者选取四边形的左下角位置坐标,存入变量PT_0。

8 使用POLAR函数取得新坐标点:从选取点PT_0开始,向右(角度为0),距离为四边形的宽度(变量TMP_W,在辅助程序中取得),存入变量PT_1。

9 使用POLAR函数取得新坐标点:从上一点PT_1开始,向上(角度90,等于PI除2),距离为四边形的高度(变量TMP_H,在辅助程序中取得),存入变量PT_2。

10 使用POLAR函数取得新坐标点:从上一点PT_2开始,向左(角度180,等于PI),距离为四边形的宽度(变量TMP_W,在辅助程序中取得),存入变量PT_3。注意最右边的关括号,是对应第8行SETQ函数左边的开括号。

11 使用COMMAND函数执行PLINE指令,并分别设定四个坐标变量,最后以"C"选项封闭多段线。

12 以一个不带参数的PRINC函数,抑制多余的显示及返回值。最右边的关括号是对应第1行DEFUN函数左边的开括号。

辅助程序(S_RECT)说明:

1 设定函数名称;使用GET_TILE函数取得指定关键词(RECT_W,代表输入宽度的编辑框组件)的值,并将该值使用ATOF函数由字符串型转为实数型(有小数),再使用ABS 函数取得实数的绝对值,以防止使用者输入负数,最后将数据存入变量TMP_W。

2 使用GET_TILE函数取得指定关键词(RECT_H,代表输入高度的编辑框组件)的值,转型及取得绝对值后,存入变量TMP_H。

3 最后的一个关括号,对应第1行DEFUN函数左边的开括号。

第四篇按钮及核取框(切换钮)

第1节按钮组件(button)

一个矩形的按钮,可在按钮上显示指定的讯息。

:button //组件名称

{ 属性="属性值" ;

}

属性label 显示在按钮中的提示文字。

key 其属性值即为使用该按钮组件的关键词。

width 指定按钮的显示宽度。

height 指定按钮的显示高度。

fixed_width 通常与width属性一并使用,以固定按钮的显示宽度。

fixed_height 通常与height属性一并使用,以固定按钮的显示高度。

is_enable 可设定按钮是否可以使用,其属性值可设定为true(可使用)或false(禁用,按钮中的消息正文变为灰色显示),默认值为true。

is_default 属性值可设定为true或false。当使用者按下接受键(大部份的情况,ENTER 被用作接受键)时,本属性设定为true的组件会自动被选取,当使用者在allow_accept属性设为true的编辑框,列表框或图像按钮中按下接受键或双击鼠标键(只对列表框及图像按钮有效)时,本属性设定为true的组件亦会自动被选取。

alignment 如果组件成水平方向排列,属性值可设定为left,right或centered(若不设定则预设为left)。如果组件成垂直方向排列,属性值可设定为top,bottom或centered(若不设定则预设为centered)。

其它属性

action is_cancel is_tab_top mnemonic

第2节核取框(切换钮)组件(toggle)

是一个启用或关闭的切换方框,当方框中没有剔勾符号时,表示该功能为关闭状态,其组件的值为0,当方框中有剔勾符号时,表示该功能为启用状态,其组件的值为1。

:toggle //组件名称

{ 属性="属性值" ;

}

属性label 显示在切换钮后面(右边)的提示文字。

key 其属性值即为使用该按钮组件的关键词。

is_enable 可设定切换钮是否可以使用,其属性值可设定为true(可使用)或false(禁用),默认值为true。

value 方框中没有剔勾符号时,表示该功能为关闭状态,其组件的值为0(亦是默认值),相反则为启用状态,组件的值为1。

alignment 如果组件成水平方向排列,属性值可设定为left,right或centered(若不设定则预设为left)。如果组件成垂直方向排列,属性值可设定为top,bottom或centered(若不设定则预设为centered)。

其它属性

action is_tab_stop width heigth

fixed_width fixed_heigth

第3节练习

在四边形的对话框中,增加一核取框,以确定是否在四边形中加上交叉的对角线。另在对话框的底部增加两个按钮,按下时可使核取框作用或禁用。

定义档将RECT4.DCL复制至RECT5.DCL,在新的定义档中增加核取框及按钮定义。RECT:dialog

{ label="Rectangle" ;

:edit_box

{ label="Rectangle width : " ;

key="RECT_W" ;

edit_limit=16;

edit_width=10;

fixed_width=true;

value="50.0";

}

:edit_box

{ label="Rectangle height :" ;

key="RECT_H" ;

edit_limit=16;

edit_width=10;

fixed_width=true;

value="25.0";

}

:toggle //新增的核取框(切换钮)组件

{ label="X line in rectangle" ;

key="RECT_X" ;

}

:button //新增的按钮组件

{ label="&Enable" ;

key="RECT_E" ;

width=10;

fixed_width=true;

}

:button //新增的按钮组件

{ label="&Disable" ;

key="RECT_D" ;

width=10;

fixed_width=true;

}

ok_only;

}

定义说明:

第1至第18行的定义,与上一课练习RECT4.DCL定义相同,不再叙述。

19 以冒号开始,定义一个切换钮组件。

20 切换钮的开大括号,以label属性定义切换钮右边的消息正文。

21 以key属性设定切换钮的操作关键词。

22 关大括号是对应第20行的开大括号,此对大括号同属于第19行的切换钮组件。

23 以冒号开始,定义一个按钮组件。

24 按钮的开大括号,以label属性定义按钮上显示的消息正文。注意:字符串的&符号,表示设定在该符号右边的一个字母为快捷键。在显示时,&符号不会出现,但&符号右边的一个字符会以加底线显示。

25 以key属性设定按钮的操作关键词。

26 以width属性设定按钮的宽度,否则按钮会自动加长并占用整列的长度。

27 fixed_width属性设定为true,使按钮以固定的宽度显示。

28 关大括号是对应第24行的开大括号,此对大括号同属于第23行的按钮组件。

29至34 与上个按钮的定义类似(23至28行),但其label及key的属性值不同。

35 定义一个确定按钮,以结束对话框。

36 关大括号是对应第2行的开大括号,此对大括号同属于第1行的dialog组件。

程序文件将RECT4.LSP复制至RECT5.LSP,其程序代码如下:

(DEFUN C:RECT() (SETQ DCL_ID (LOAD_DIALOG "C:/RECT5.DCL"))

(NEW_DIALOG "RECT" DCL_ID)

(SET_TILE "RECT_W" "50.0")

(SET_TILE "RECT_H" "25.0")

(ACTION_TILE "accept" "(S_RECT)(DONE_DIALOG)")

(ACTION_TILE "RECT_E" "(MODE_TILE \"RECT_X\" 0)") ;设定使用按钮的动作(ACTION_TILE "RECT_D" "(MODE_TILE \"RECT_X\" 1)") ;设定禁用按钮的动作(START_DIALOG)(UNLOAD_DIALOG DCL_ID)

(SETQ PT_0 (GETPOINT "\nSelect rectangle lower left point : "))

(SETQ PT_1 (POLAR PT_0 0 TMP_W)

PT_2 (POLAR PT_1 (/ PI 2) TMP_H)

PT_3 (POLAR PT_2 PI TMP_W))

(COMMAND "PLINE" PT_0 PT_1 PT_2 PT_3 "C")

(IF (= TMP_X 1) (COMMAND"LINE" PT_0 PT_2 "" "LINE" PT_1 PT_3 "")) (PRINC))

(DEFUN S_RECT() (SETQ TMP_W (ABS (ATOF (GET_TILE "RECT_W")))

TMP_H (ABS (ATOF (GET_TILE "RECT_H")))

TMP_X (ATOI (GET_TILE "RECT_X"))) ;取得切换钮的状态

)

主程序(RECT)说明:

1至5 与程序RECT4.LSP相同,主要是加载及显示对话框,并设定其中的组件。

6 使用ACTION_TILE函数,设定当按下ENABLE按钮(关键词为RECT_E)时,所执行的动作。使用MODE_TILE函数,设定切换钮(关键词为RECT_X)的状态为0,使其处于作用状态。注意指定的动作为字符串型,前后要加上双引号";而包含在字符串中的双引号,则必须以反斜线加双引号\"表示。

7 与第6行相似,设定按下DISABLE按钮(关键词为RECT_D)时,将切换钮的状态设为1,使其处于禁用状态。

8至13 与程序RECT4.LSP相同,主要是用作画出四边形。

14 使用IF函数检查变量TMP_X(在辅助程序中取得,表示切换钮的状态)是否为1,若是则以COMMAND函数,执行两个LINE指令,画出四边形的对角线。

15 以一个不带参数的PRINC函数,抑制多余的显示及返回值。最右边的关括号是对应第1行DEFUN函数左边的开括号。

辅助程序(S_RECT)说明:

1,2 大致与RECT4.LSP的辅助程序相同,都是取得编辑框内的数据并存入变量中。

3 使用GET_TILE函数取得切换钮(关键词为RECT_X)的状态(返回值是字符串,"0"是使用,"1"是禁用),再用ATOI函数将返回的字符串变为整数,存入变量TMP_X,供主程序第14行的IF函数,判断是否需要加上对角线。注意,返回值转型后,结果只会是1或0,因此不须使用ABS函数取其绝对值。

4 关括号与1行DEFUN函数左边的开括号对应。

第五篇横列、直行、空白及文字组件

第1节横列(row)及直行(column)组件

其实这两个都不算是实体的组件,只是用作指定后续的其它组件的排列格式。

指定为横列时,则包含在此组件一对大括号中的所有组件,均作水平左至右排列,直行时则呈垂直上至下排列。

若不指定组件的排列格式时,则预设为直行格式。

若指定其label属性,则会在外围加一矩形线框(包含在大括号中间的其它组件则显示在线框中),其属性值则为该线框左上角的标题文字,若不设定则没有线框及标题。

row :column

{ 其它组件或属性{ 其它组件或属性

} }

属性

alignment fixed_height fixed_width height

width label

框列(boxed_row)及框行(boxed_column)组件

不论是否设定其label属性,均有矩形的线框包含中间的各个组件。若不设定此属性,则没有标题显示在线框的左上角。

:boxed_row :boxed_column

{ 其它组件或属性{ 其它组件或属性

} }

属性与横列及直行相同

第2节空白(spacer)组件

可在对话框中加入空白组件,使其它组件移位,增加空间,美化对话框等作用。空白组件有下列3种:

若不设定属性时,则不需在组件名称前加冒号,亦不需一对大括号,但需要在组件的名称后面加上分号。

组件spacer在不设定其属性时,在垂直方向(直行)为半个字符高度,组件spacer_1则为一个字符高度。

组件spacer_0在不设定其属性时,其高度为0,但夹在其它横向排列的组件中时,会自动扩大并与相邻的组件同高同宽。

:spacer :spacer_0 :spacer_1

{ 属性=属性值; { 属性=属性值; { 属性=属性值;

} } }

属性

alignment fixed_heigh fixed_width height

width

练习

在RECT对话框内,使两个按钮(Enable及Disable)水平排列在同一横列上,并增加空间使两按钮置中如下图:

定义档将RECT5.DCL复制至RECT6.DCL,修改的定义如下:

程序文件将RECT5.LSP复制至RECT6.LSP,程序中只须修改加载的定义档名称。RECT:dialog

{ label="Rectangle" ;

:edit_box

{ label="Rectangle width : " ;

key="RECT_W" ;

edit_limit=16;

edit_width=10;

fixed_width=true;

value="50.0";

}

:edit_box

{ label="Rectangle height :" ;

key="RECT_H" ;

edit_limit=16;

edit_width=10;

fixed_width=true;

value="25.0";

}

:toggle

{ label="X line in rectangle" ;

key="RECT_X" ;

}

:row //新增的横列组件

{ spacer_0; //开大括号及空间组件

:button

{ label="&Enable" ;

key="RECT_E" ;

width=10;

fixed_width=true;

}

spacer_0; //开大括号及空间组件

:button

{ label="&Disable" ;

key="RECT_D" ;

width=10;

fixed_width=true;

}

spacer_0; //开大括号及空间组件

} //横列的关括号

ok_only;

}

定义说明:

1至2 定义对话框名称;定义dialog组件及其属性。

3至10 定义输入宽度的编辑框(关键词RECT_W)及其属性。

11至18 定义输入高度的编辑框(关键词RECT_H)及其属性。

19至22 定义切换钮(关键词RECT_X)及其属性。

23 定义一个不设属性的横列row组件。

24 横列组件的开大括号,以包含其它的组件。设定空间组件spacer_0,使第一个按钮左边的空间自动扩宽。

25至30 设定按钮(关键词RECT_E)组件及其属性。

31 设定空间组件spacer_0,使两个按钮中间的空间自动扩宽。

32至37 设定按钮(关键词RECT_D)组件及其属性。

38 设定空间组件spacer_0,使第二个按钮右边的空间自动扩宽。

39 关大括号是对应第24行的开大括号,该对大括号同属于第23行的横列组件。使包含在中间的两个按钮组件会水平排列显示。

40 显示一个确定按钮。

41 关大括号是对应第2行的开大括号,该对大括号同属于第1行的dialog组件。

第3节字符串组件(text)

在对话框中显示一列文字。在label属性值的字符串中,可以使用以下之特殊符号:\" 显示双引号:

\t 使文字跳至下一个定位点。

\n 使文字符串换行。

\\ 注意这个不是批注符号,它可以在字符串中加上反斜线。

:text

{ 属性="属性值" ;

}

属性

is_bold 若设定其属性值为true则文字以粗体显示;若为false则正常显示

其它属性alignment fixed_width fixed_height width

height key label value

符串组件(text_part)

其组件的字符串形式不同于字符串组件text,在组件中的宇串,其边距(margin)为0。当要将多个组件并合成新字符串时,中间不会有多余的空间。组件亦是组成文字段落组件paragraph及单列字符串组组件concatenation的元素。

:text_part

{ 属性="属性值" ;

}

属性alignment fixed_width fixed_height width

height label

第4节文字段落组件(paragraph)

可由上一课的字符串组件text及字符串组件text_part组合而成,一般用于组合静态(不会动态更改)的文字符串。

:paragraph

{ 属性="属性值" ; //文字段落组件的属性

:字符串组件或字符串组件

{ 属性="属性值" ; //字符串组件或字符串组件的属性

}

}

属性action alignment fixed_width fixed_height

height width is_cancel is_default

is_enabled is_tab_stop key cabel

mnemonic

拼接文字组件(concatenation)

可由上一课的字符串组件text及字符串组件text_part组合而成,一般用于组合随时更新的文字符串。

:concatenation

{ 属性="属性值" ; //拼接文字组件的属性

:字符串组件或字符串组件

{ 属性="属性值" ; //字符串组件或字符串组件的属性

}

}

属性action alignment fixed_width fixed_height

height width is_cancel is_default

is_enabled is_tab_stop key cabel

mnemonic

注意:

在上述“文字段落”组件及“拼接文字”组件中,若设定其label属性,则会以线框包围其中所组成的文字,而label属性的设定值会成为线框标题文字。

第六篇滑杆(滚动条)组件

第1节滑杆(滚动条)组件(slider)

使用者可使用鼠标拖曳滑杆中的方块或点选滑杆左右两边的箭头,选取在指定范围内的值。

滑杆水平放置时,数值自左向右增加。垂直放置时,数值由底向顶增加。

:slider

{ 属性="属性值" ;

}

属性

value 设定滑杆组件的初始值。

big_increment 控制滑杆移动时的增量,默认值为整个范围值(min_value至max_value)

的10份1 。

small_increment 控制滑杆移动时的增量,默认值为整个范围值(min_value至max_value)的100份1 。

max_value 设定滑杆组件范围值的最大值。

min_value 设定滑杆组件范围值的最小值。

layout 设定滑杆组件是水平放置(horizontal)还是垂直放置(vertical),预设为水平放置。

其它属性action alignment key mnemonic

fixed_width fixed_height width heigth

label

第2节练习

建立新的对话框定义文档PGON.DCL,存于C盘的根目录中,在对话框顶部有一编辑框,初始值为10,中间为一滑杆,范围值从1至20,下边有一消息正文显示滑杆的选取值,当移动滑杆时,上边编辑框的内容,及下边的讯息会跟随改变,在更改编辑框的内容后(按ENTER),滑杆及讯息亦会随之改变。

PGON:dialog

{ label="Polygon" ;

:edit_box //编辑框组件

{ label="Polygon edge :" ;

key="PGON_E" ;

edit_limit=2;

edit_width=2;

fixed_width=true;

value=10;

}

spacer; //空间组件

:slider //滑杆组件

{ key="PGON_S" ;

min_value=1;

max_value=20;

big_increment=2;

small_increment=1;

value=10;

width=25;

fixed_width=true;

}

:concatenation //拼接组件

{ :text_part //文字组件

{ label="Drawn a" ;

}

:text_part //文字组件

{ label="10" ;

key="PGON_T" ;

}

:text_part //文字组件

{ label="edge polygon" ;

}

}

ok_only;

}

定义说明:

1 定义对话框名称为PGON,以冒号开始dialog组件。

2 dialog组件的开大括号,设定其label属性(对话框标题)为“Polygon”。

3至10 设定一编辑框,其关键词为PGON_E,并以value属性设定其初始值为10。

11 设定一空间组件spacer,以增加编辑框与下面的滑杆之垂直距离。

12 以冒号开始,设定一滑杆组件slider 。

13 滑杆组件的开大括号,设定滑杆属性key的操作关键词为PGON_S 。

14,15 设定滑杆范围的最小值(属性min_value)为1,最大值(属性max_value)为20。

16,17 设定滑杆的增量,大幅移动(属性big_increment)时为2,小量移动(属性small_increment)时为1。

18 用属性value设定滑杆显示的初始值为10。

19,20 设定滑杆的宽度(属性width),并以固定的宽度(属性fixed_width)显示。

21 关大括号是对应第13行的开大括号,这对大括号同属于第12行的滑杆组件。

22 以冒号开始,设定一拼接文字concatenation组件。

23 属于拼接组件的开大括号,以冒号开始,设定第一个文字组件text_part 。

24 属于第一个文字组件的开大括号,并以label属性设定组件所显示的文字讯息。

25 关大括号是对应上一行的开大括号,这对大括号同属于第23行的文字组件。

26 以冒号开始,设定第二个文字组件text_part 。

27 属于第二个文字组件的开大括号,并以label属性设定组件所显示的初始文字讯息。

28 用key属性设定此文字组件的操作关键词为PGON_T。注意:上一个及下一个文字组件,因为不需在程序中动态修改其内容,固不需设定其关键词。

29 关大括号是对应第27行的开大括号,这对大括号同属于第26行的文字组件。

30 以冒号开始,设定第三个文字组件text_part 。

31 属于第三个文字组件的开大括号,并以label属性设定组件所显示的文字讯息。

32 关大括号是对应上一行的开大括号,这对大括号同属于第30行的文字组件。

33 关大括号是对应第23行的开大括号,这对大括号同属于第22行的拼接文字concatenation组件。

34 定义一个确定钮。

35 最后一行的关大括号是对应第2行的开大括号,这对大括号同属于第1行的dialog组件。

建立新的程序文件PGON.LSP,存于C盘的根目录。程序代码如下:

(DEFUN C:PGON() (SETQ DCL_ID (LOAD_DIALOG "C:/PGON.DCL"))

AutoLisp极速入门视频教程笔录

大家好,您现在看到的是CAD高手网为大家奉献的CAD二次开发视频教程,尽管网站已经上传了一些lisp的视频教程,但是有很多新手朋友还是不得要领,这主要原因是因为我们的专业是设计而不是计算机编程。很荣幸,今天再次受CAD高手网站长剑王之邀,为大家制作本节lisp极速入门教程。 这节课的主要内容有: 一、认识CAD二次开发(lisp程序)及其作用 因为我们的专业是设计,为了真正达到极速入门的目的,这里我们不讲编辑语言的理论知识,理论知识可以到我们网站(https://www.doczj.com/doc/8c244694.html,)的二次开发扫盲专题去详细了解,下面我们直接通过一个演示来对二次开发的作用做一个感性的认识。 二、lisp程序框架基本格式 (defun函数名称(变量声明)(……程序内容……)) 我们看到该框架以括号开始并以括号结束,这就是lisp语言最基本的语法规则之一,lisp程序的所有表达式都必须包括的括号以内,且左、右括号必须一一对称,成双成对。其中各部分的意义如下: defun内置功能函数,用于定义新的指令或新的功能函数。(我们甚至也可以将其看作是lisp语言的一个固定格式,因为这个函数比较特殊,我们无论是定义一个函数或是开发一个程序命令都将要用到它。) 函数名称新定义的函数名称,这完全取决于你的个人意愿可以是任何字符,如果该名称被定义为“c:”开头,则此函数即可做为CAD的一条新命令,反之则为一个功能函数,待下面实例详细讲解。 变量声明变量的声明分为全局变量或局部变量,可以省略但必须保留其在框架格式中的位置,即保留其位置的括号“()”,关于全局变量或局部变量将会在以后的课程中一一详解。 程序内容定义程序的所有表达式的集合,即该括号内可以嵌套任一多个括号(表达式) 三、lisp程序实例探密 1、利用lisp程序定义“左手键”(快捷键)

LISP 语言在CAD 道路设计中的各种应用

第三章LISP语言在CAD道路设计中的各种应用 3.1绘制平面任意函数曲线的AutoLISP程序设计 在各个工程设计领域中,经常要绘制一些曲线,特别是平面曲线,如水工结构的溢流曲线、机械设计的齿轮渐开曲线等。在AutoCAD绘图软件中,可以将曲线上的点先计算好,再用线、多义线、样条曲线等方法绘制,这种方法需要进行大量计算,工作量较大,如果用EXCEL软件来辅助计算,可以减轻工作量;另外,可以针对具体的曲线类型,用AutoCAD 内嵌的AutoLISP语言,实现边计算边绘制的功能。用这种方法绘制虽然快捷,但对于不同的曲线,则需编写同的AutoLISP程序,检查无误后才能运行,仍显繁琐。能否用统一的程序,来实现各种平面函数曲线的绘制,我们尝试利用AutoCAD中强大的表达式计算功能来实现这一目的。 3.1.1平面函数曲线的类型和绘制方法 平面函数曲线即是有简单函数表达式的曲线类型,可考虑经常遇到的4类: (1)直角坐标下形如y=f(x)的曲线; (2)直角坐标下的参数方程曲线; (3)极坐标下形如r=f(θ)的曲线; (4)极坐标下的参数方程曲线。 其中,只需增加一个平凡方程x=x,参数方程(2)就可以包括相应的直接表达形式(1),同样(4)可以包括(3)。同时,极坐标形式可以通过: x=rcosθ y=rsinθ 转换为直角坐标表达。因此从本质上说,4种类型都可以互相转换,把它们分类的目的是尽量采用函数的通常表达形式,以便于使用。绘制时,参照曲线的手工绘制方法,需要给出曲线上的多个点,然后将它们连接起来。若给出的点间隔很小,直接用折线段相连就可很好模拟该曲线,如果间隔较大,可以用样条曲线连接,使之比较光滑。假设我们计算出足够多的点,简单用折线连接即可,为使该曲线成为一个整体,可用多义线的方式连接。 关键的问题是,如何计算出曲线上点的坐标。由于曲线的函数表达式各种各样,不可能用统一的式子来表示。可以考虑从外部输入表达式,然后针对该表达式进行计算,给出相应结果,就能够解决点坐标的计算问题。但这个功能的实现比较困难,幸好AutoCAD为我们提供了CAL命令,可以对任意的表达式进行计算。该命令由函数库文件geomcal.arx提供,支持科学/工程计算器上的大多数标准函数,如三角函数、指数、对数等。若表达式中有变量,而该变量在程序中已设定了值,则按该值进行计算。由于该函数不是LISP内部函数,为使之可用,需要用ARXLOAD命令载入文件geomcal.arx,或者在命令行先输入CAL命令,由系统自动载入,这样,程序中就可以使用该函数了。总的程序定义为c:curve(),以便在AutoCAD命令行中与通常的命令一样使用。程序的总调用部分为: (arxload "geomcal.arx");载入提供表达式计算功能的ARX文件 (vl- arx- import 'c:cal);让命令c:cal能够使用 (princ "(1)直角坐标下曲线y=f(x).\n") (princ "(2)直角坐标下参数曲线x=f(i),y=g(i).\n") (princ "(3)极坐标下曲线r=f(theta).\n") (princ "(4)极坐标下参数曲线theta=f(i),r=g(i).\n") (setq ichoice (getint " 选择绘制曲线类型:"));选择曲线类型 (if (= ichoice 1) (curve1));调用曲线绘制类型1 (if (= ichoice 2) (curve2));调用曲线绘制类型2

lisp经典语句数值

设置默认数值 (if (= (setq th (getreal "输入墙厚度:(默认为0.25):")) nil) (setq th 0.25) ) 设置当前环境 (setvar "cmdecho" 0) ;不显示提示文字 (setvar "plinewid" 0.2 ) ;设置绘图线宽为0.2 (setvar "osmode" 0) ;设置当前捕捉为关闭状态 (command "undo" "be" "")恢复上一个命令 (command "text" "c" pt3 hgt ang1 txt1) 添加文字信息在意图面(command "text" "c" pt3 hgt ang1 txt1) (DEFUN C:szzt() (command "style" "细等线体" "方正细等线简体" "0" "1" "0" "n" "n" ) ;标注文字样式(command "style" "中等线体" "方正中等线简体" "0" "1" "0" "n" "n" ) ;文字样式(command "style" "宋体" "方正书宋_GBK" "0" "1" "0" "n" "n" ) ;标注文字样式(command "style" "黑体" "黑体" "0" "1" "0" "n" "n" ) ;标注文字样式 (command "style" "HZ" "txt,hztxt" "0" "0.8" "0" "n" "n" "n") (princ "\n文字样式已设定!")) (DEFUN C:tdc() (COMMAND "LAYER" "M" "HX" "C" "1" "" "") (COMMAND "LAYER" "M" "LH" "C" "3" "" "") (COMMAND "LAYER" "M" "ZX" "C" "2" "" "") (COMMAND "LAYER" "M" "绿化占地" "C" "3" "" "") (COMMAND "LAYER" "M" "道路占地" "C" "1" "" "") (COMMAND "LAYER" "M" "建设用地" "C" "7" "" "") (COMMAND "LAYER" "M" "解算" "C" "4" "" "") (COMMAND "LAYER" "M" "用地范围线" "C" "7" "" "") (COMMAND "LAYER" "M" "边界线" "C" "4" "" "") (COMMAND "LAYER" "M" "勘界线" "C" "6" "" "") (COMMAND "LAYER" "M" "利用" "C" "16" "" "") (COMMAND "LAYER" "M" "外业" "C" "5" "" "") (COMMAND "LAYER" "M" "图框" "C" "7" "" "") (COMMAND "LAYER" "M" "现状地形" "C" "5" "" "") (COMMAND "CLAYER" "解算"))

《HTML基础试题》

《HTML基础试题》 一、单项选择题: 1、下面哪一个属性不就是文本的标签属性?( ) A.  B.size C.color D.face 2、当链接指向下列哪一种文件时,不打开该文件,而就是提供给浏览器下载。( ) A.ASP B.HTML C.ZIP D.CGI 3、关于文本水平对齐,源代码设置不正确的一项就是:( ) A.居中对齐:

B.居右对齐:
C.居左对齐:
D.两端对齐:
4、下面哪一项就是换行符标签?( ) A. B. C.
D. 5、下列哪一项就是在新窗口中打开网页文档。( ) A._self B._blank C._top D._parent 6、下面对JPEG格式描述不正确的一项就是。( ) A.照片、油画与一些细腻、讲求色彩浓淡的图片常采用JPEG格式 B.JPEG支持很高的压缩率,因此其图像的下载速度非常快 C.最高只能以256色显示的用户可能无法观瞧JPEG图像 D.采用JPEG格式对图片进行压缩后,还能再打开图片,然后对它重新整饰、编辑、压缩 7、常用的网页图像格式有____与_____( ) A、gif,tiff B.tiff,jpg C.gif,jpg D.bmp,png 8、下面说法错误的就是( ) A、CSS样式表可以将格式与结构分离 B.CSS样式表可以控制页面的布局 C、CSS样式表可以使许多网页同时更新 D.CSS样式表不能制作体积更小下载更快的网页 9、CSS样式表不可能实现( )功能。 A将格式与结构分离 B.一个CSS文件控制多个网页 C、控制图片的精确位置 D.兼容所有的浏览器 10、在HTML中,( )不就是链接的目标属性。 A、self B.new C.blank D.top 11、在网页设计中,( )就是所有页面中的重中之重,就是一个网站的灵魂所在。 A.标题栏 B.脚本页面 C、导航栏 D.页面内容 12、为了标识一个HTML文件应该使用的HTML标记就是( )。 A. B. C. D.
13、在客户端网页脚本语言中最为通用的就是( ) A、JavaScript B、VB C.Perl D、ASP 14、在HTML中,标记的属性:“Size”所能取的最大取值就是( ) A、6 B.7 C.8 D.9 15、下面不属于CSS插入形式的就是( ) A、索引式 B.内联式 C.嵌入式 D.外部式 16、如果站点服务器支持安全套接层(SSL),那么连接到安全站点上的所有URL开头就是( ) A.http:// B.https:// C.shttp:// D.SSL://

LISP函数大全

AutoLisp函数 一、数学运算功能函数 1.l(十数值数值…)返回:累计实数或整数数值 1.2(一数值数值…)返回:差值 1.3(* 数值数值…)返回:所有数值乘积 1.4(/ 数值数值…)返回:第一个数值除以第二个以后数值的商 1.5(l十数值)返回:数值十l l、 6(1—数值)返回:数值一l l.7(abs 数值)返回:数值的绝对值 1.8(atan 数值)返回:反正切值 1.9(cos 角度)返回:角度的余弦值,角度值为弧度 1.10(exp 数值)返回:数值的指数 1.11(expt 底数指数)返回:底数的指数值 1.12(fix 数值)返回:将数值转换为整数值 1.14(gcd 数值1 数值2)返回:两数值的最大公因数 1.15(log 数值)返回:数值的自然对数值 1.16(max 数值数值…)返回:数值中的最大值 1.17(min 数值数值…)返回:数值中的最小值 1.18 pi 常数∏,其值约为3.1415926 1.19(rem 数值 1数值 2)返回:M数值的相除的余数 l.20(sin 角度)返回:角度的正旋值,角度值为弧度 1.21(sqrt 数值)返回:数值的平方根 二、检验与逻辑运算功能函数 2.l(= 表达式1 表达式2)比较表达式1就是否等于式2,适用数值及字符串 2.2 (/= 表达式1 表达式2)比较表达式1就是否大于等于表达式2 2.3(<表达式1 表达式2) 比较表达式1就是否<小于表达式2 2.4(<= 表达式1 表达式2)比较表达式1就是否<一小于等于表达式2 2.5(>表达式1 表达式2) 比较表达式1就是否>大于表达式2 2.6(>= 表达式1 表达式2) 比较表达式1就是否大于等于表达式2 2.7 (~数值)返回:数值的位 not值,(1的补码) 2.8 (and 表达式1 表达式2…)返回:逻辑and的结果 2.9(boole 函数整数整数…)返回:位式布尔运算AutoLisp函数2/8 2.10(eq 表达式1 表达式2)比较表达式1与表达式2就是否相同,适用列表比较(实际 相同) 2.11(equal 表达式 1表达式 2[差量])比较表达式 1与表达式 2就是否相同,差量可省 略(内容相同) 三、转换运算功能函数 3.l(angtof 字符串[模式])返回:角度值的字符串转成实数 3.2(angtos 角度[模式[精度]])返回:角度转成的字符串值 3.3(atof 字符串)返回:字符串转成实数值 3.4 (atoi 字符串)返回:字符串转成整数值

第2讲 利用AutoLisp语言绘图

第2讲利用AutoLisp语言绘图 在AuotCAD绘制简单图形时,有三种主要方式:(1)图标菜单(2)下拉式菜单(3)命令行。事实上还有另外一种绘图方式,即通过lisp语言实现绘制图形。利用Lisp语言绘图的最大优点是可以实现批处理,降低劳动强度。 小知识: Lisp语言最大优势是和AutoCAD绘图结合的很好,这也 是该语言至今仍未被淘汰的最主要原因。 1、简单的绘图语句 几乎AuotCAD中所有的绘图及环境设置命令都可以通过程序调用!,利用Lisp语言编写绘图命令的窍门是首先在命令行下把绘图命令和对应的参数记住,然后用Lisp语言的格式书写出即可。 1.1 绘制直线 (command "line" "0,0" "1,1" "") 1.2 绘制圆 (command "circle" "0,0" 5) 1.3 绘制正多边形 (command "polygon" 5 "0,0" "i" 5) (command "polygon" "5" "0,0" "i" "5")都正确 1.4 新建图层 (command "la yer" "m" "道路" "c" 2 "" "") 请同学自己编写高度为2,起点位置在“0,0”,文字内容是“理工大”的程序2、用多条绘图语句表示复杂图形 正常情况下图形都比较复杂,需要用多条语句编写,例如测绘中的下水井、路灯等符号。 例1、下水井的绘制 (defun c:xsj() (command "circle" "0,0" 0.5) (command "line" "-0.5,0" "0.5,0" "") (command "line" "0,-0.5" "0,0.5" "") ) 3、循环控制语句 例2、绘制同心圆

autocad lisp教程

Lisp教程 一.Lisp基础知识 二.对话框基础 一.基本知识 第1节 -------------------------------------------------------------------------------- 基本知识 AutoLISP是一种针对扩充及自订AutoCAD函数机能而产生,以LISP为基础的程序设计语言.LISP本身于50

目的是令使用者充份利用AutoCAD进行开发,直接增加及修改AutoCAD指令. AutoLisp语言建基于普通的LISP语言上,并扩充了许多适用于CAD的特殊功能而形成. 是一种能以直译方式(不须先行编译)亦可于AutoCAD内部执行的直译性程序语言. 程序容易学习及撰写,程序即使出错亦不会对操作系统(如DOS,WINDOWS)有不良影响. 数据及程序均统一以串行(List)结构表示. 可直接调用几乎全部的AutoCAD命令. 既具备一般高级语言的基本结构和功能,亦有一般高级语言没有的强大图形处理能力. 内建于AutoCAD应用程序,不须另行购买;亦不须使用特定的编辑器或开发环境. 可配合AutoCAD提供的PDB,建立DCL(Dialog Control Language)文件创建对话框. 缺点: 执行速度较ObjectArx(旧称ARX,以C或C++程序开发,取代以前的ADS)程序慢;原程序不易保护;对低阶的硬件数据不易存取. 第2节 -------------------------------------------------------------------------------- 函数(Function) 在AutoLISP程序语言中所有的成份都是以函数的形式出现,AutoLISP程序就是顺序执行连串的函数.函数的运行过程就是对函数的求值(结果)过程;函数的基本语法如下: (函数名称参数1 参数2....) e.g. (PRINC "AutoLISP Programming") 每一个完整的函数必须包在一对小括号( )内,左边为开括号,右边为关括号;如有若干数量的开括号,则一定有同等数量的关括号对应. 左边开括号后紧随函数名称. 函数名称与参数之间,或参数与参数之间须最少留一个空格. 函数可有一个或多个参数(也可能没有参数),视该函数而定. 函数名称不分大小写,即大小写字母视为相同. 第3节 -------------------------------------------------------------------------------- 数据型态(Data Type) 整数(INT) 没有小数字的数值,32位有号数,范围从+2,147,483,647到-2,147,483,648 实数(REAL) 带小数字的数值,以倍精度浮点格式储存(最少14位小数) e.g. 12.5 当数值在1与-1之间时,必须加上前导零 e.g. 0.05 可以科学记号表示: 在E或e后加上次方值 e.g. 4.1e-6 字符串(STR) 一般文字,其前后必须加上双引号" e.g. "AutoCAD" 控制字符或脱逸码必须为小写,且须在字符前加上反斜线\ e.g. "\AutoCAD" 像素名称(ENAME) 是指定给图文件内对象的指针(Pointer,为16进位的数字卷标) e.g. 像素名称在图文件内是唯一的,不会重复 对象的像素名称只在目前作业中有效,再开启图档时,会指定新的像素名称予该对象 档案(FILE) 以OPEN函数所开启档案的指针,作为其它函数(读写该档案)的自变量 选集(PICKSET)

LISP语言教程

LISP语言教程 作者:牛魔王 — 上次修改时间: 2007-03-22 13:13 Scheme 语言是LISP语言的一个方言(或说成变种),它诞生于1975年的MIT,对于这个有近三十年历史的编程语言来说,它并没有象C++,java,C#那样受到商业领域的青睐,在国内更是显为人知。但它在国外的计算机教育领域内却是有着广泛应用的,有很多人学的第一门计算机语言就是Scheme语言。Scheme 语言概要 Author:宋国伟吉林省德惠市信息中心 Date:2003 年12 月01 日 Scheme 语言是LISP语言的一个方言(或说成变种),它诞生于1975年的MIT,对于这个有近三十年历史的编程语言来说,它并没有象C++,java,C#那样受到商业领域的青睐,在国内更是显为人知。但它在国外的计算机教育领域内却是有着广泛应用的,有很多人学的第一门计算机语言就是Scheme语言。 作为Lisp 变体,Scheme 是一门非常简洁的计算语言,使用它的编程人员可以摆脱语言本身的复杂性,把注意力集中到更重要的问题上,从而使语言真正成为解决问题的工具。本文分为上、下两部分来介绍scheme 语言。一.Scheme语言的特点

Scheme 语言是LISP语言的一个方言(或说成变种),它诞生于1975年的MIT,对于这个有近三十年历史的编程语言来说,它并没有象C++,java,C#那样受到商业领域的青睐,在国内更是显为人知。但它在国外的计算机教育领域内却是有着广泛应用的,有很多人学的第一门计算机语言就是Scheme语言。 它是一个小巧而又强大的语言,作为一个多用途的编程语言,它可以作为脚本语言使用,也可以作为应用软件的扩展语言来使用,它具有元语言特性,还有很多独到的特色,以致于它被称为编程语言中的"皇后"。 下面是洪峰对Scheme语言的编程特色的归纳: ?词法定界(Lexical Scoping) ?动态类型(Dynamic Typing) ?良好的可扩展性 ?尾递归(Tail Recursive) ?函数可以作为值返回 ?支持一流的计算连续 ?传值调用(passing-by-value) 术运对 ?算算相独立 本文的目的是让有编程基础(那怕是一点点)的朋友能尽快的掌握Scheme语言语规则读发现经Scheme语言了,那么我的的法,如果您在完本文后,自己已会用 目的就达到了。

HTML语言入门教程

语言入门教程(一) ?什么是HTML语言 HTML(HyperText MarkUp Language)是使用特殊标记来描述文档结构和表现形式的一种语言,由W3C(World Wide Web Consortium)所制定和更新。我们可以用任何一种文本编译起来编辑HTML文件,因为它就是一总纯文本文件。 ?HTML语言的基本结构 下面我们来看一小段HTML语言的代码,来了解HTML语言的基本结构: HTML语言的基本结构 HTML(HyperText MarkUp Language)是使用特殊标记来描述文档结构和表现形式的一种语言。 将这一小段代码粘贴至文本文件中,然后选择“另存为”,将文件的后缀名改为.htm或者.html即可,然后再所在的目录下就可看到一个IE的图标,名字就是你所存的文件名称。 …… …… 这是声明HTML文件的语法格式。每一个HTML文件,都必须以开头,以结束…… …… 这是文件头声明的语法格式。在这之内的所有文字都属于文件的文件头,并不属于文件本体。

…… …… 这是声明文件标题的语法格式。在这之中写下的所有内容,都将写在网页最上面的标题栏中。 …… …… 这是声明文件主体的语法格式。在者之间写下的内容都是文件的主体,也就是说将会被显示在客户区之中。 注意:几乎每一种HTML语言的语法都是以<>开头,以结束。在编辑HTML语言过程中,也可以使用注释。语法格式为:。就好像C语言中的/* …… …… */ 一样,中间的内容只是解释说明,并不被编译器所编译。 HTML语言的基本单位 1. 长度单位 长度单位可以用来定义水平线、表格边匡、图像等对象的长、宽、高等一系列属性,同时也可以用来定义这些对象在页面上的位置等属性,用来描述页面上可能遇到的各种长度。 长度的表示方法有两种:绝对长度和相对长度。他们的单位都是像素(pixel)和百分比(%),像素代表的是屏幕上的每个点,而百分比代表的是相对于客户区的多少。下面我们就以水平线的宽度为例,说明这两种表示方法。 HTML语言的长度表示 HTML(HyperText MarkUp Language)是使用特殊标记来描述文档结构和表现形式的一种语言。



在文本编译器中编译,改变网页的大小,就会看到这两者表示长度方法的不同。

lisp功能函数

一、数学运算功能函数 1.l(十数值数值…)返回:累计实数或整数数值 1.2(一数值数值…)返回:差值 1.3(* 数值数值…)返回:所有数值乘积 1.4(/ 数值数值…)返回:第一个数值除以第二个以后数值的商 1.5(l十数值)返回:数值十l l. 6(1—数值)返回:数值一l l.7(abs 数值)返回:数值的绝对值 1.8(atan 数值)返回:反正切值 1.9(cos 角度)返回:角度的余弦值,角度值为弧度 1.10(exp 数值)返回:数值的指数 1.11(expt 底数指数)返回:底数的指数值 1.12(fix 数值)返回:将数值转换为整数值 1.14(gcd 数值1 数值2)返回:两数值的最大公因数 1.15(log 数值)返回:数值的自然对数值 1.16(max 数值数值…)返回:数值中的最大值 1.17(min 数值数值…)返回:数值中的最小值 1.18 pi 常数∏,其值约为3.1415926 1.19(rem 数值1数值2)返回:M数值的相除的余数 l.20(sin 角度)返回:角度的正旋值,角度值为弧度 1.21(sqrt 数值)返回:数值的平方根 二、检验与逻辑运算功能函数 2.l(= 表达式1 表达式2)比较表达式1是否等于式2,适用数值及字符串2.2 (/= 表达式1 表达式2)比较表达式1是否大于等于表达式2 2.3(<表达式1 表达式2) 比较表达式1是否<小于表达式2

2.4(<= 表达式1 表达式2)比较表达式1是否<一小于等于表达式2 2.5(>表达式1 表达式2)比较表达式1是否>大于表达式2 2.6(>= 表达式1 表达式2)比较表达式1是否大于等于表达式2 2.7 (~数值)返回:数值的位not值,(1的补码) 2.8 (and 表达式1 表达式2…)返回:逻辑and的结果 2.9(boole 函数整数整数…)返回:位式布尔运算 2.10(eq 表达式1 表达式2)比较表达式1与表达式2是否相同,适用列表比较(实际相同) 2.11(equal 表达式1表达式2[差量])比较表达式1与表达式2是否相同,差量可省略(内容相同) 三、转换运算功能函数 3.l(angtof 字符串[模式])返回:角度值的字符串转成实数 3.2(angtos 角度[模式[精度]])返回:角度转成的字符串值 3.3(atof 字符串)返回:字符串转成实数值 3.4 (atoi 字符串)返回:字符串转成整数值 3.5 (cvunit 数值原始单位转换单位)返回:数值转换单位后的值转换根据acad.nut文件 3.6(distof 字符串[模式])返回:根据模式将字符串转成实数值 3.7(itoa 整数)返回:整数转成字符串 3.8(rtos 数值模式[精度])返回:实数转成字符串 3.9 (trans 点原位置新位置[位移])返回:转换坐标系统值 四、列表处理功能函数 4.1 (append 列表列表……)结合所有列表成一个列表 4.2(assoc 关键元素联合列表)根据关键元素找寻联合列表中关系信息 4.3 (car 列表)返回列表中的第一个元素,通常用来求X坐标

html入门教程适合初学者

希望可以帮到大家 一、HTML基本概念 什么是HTML文件? ?HTML的英文全称是Hypertext Marked Language,中文叫做“超文本标记语言”。?和一般文本的不同的是,一个HTML文件不仅包含文本内容,还包含一些Tag,中文称“标记”。 ?一个HTML文件的后缀名是.htm或者是.html。 ?用文本编辑器就可以编写HTML文件。 这就试写一个HTML文件吧! 打开你的Notepad,新建一个文件,然后拷贝以下代码到这个新文件,然后将这个文件存成first.html。 Title of page This is my first homepage. This text is bold

要浏览这个first.html文件,双击它。或者打开浏览器,在File菜单选择Open,然后选择这个文件就行了。 示例解释 这个文件的第一个Tag是,这个Tag告诉你的浏览器这是HTML文件的头。文件的最后一个Tag是,表示HTML文件到此结束。 在和之间的内容,是Head信息。Head信息是不显示出来的,你在浏览器里看不到。但是这并不表示这些信息没有用处。比如你可以在Head信息里加上一些关键词,有助于搜索引擎能够搜索到你的网页。 在之间的内容,是这个文件的标题。你可以在浏览器最顶端的标题栏看到这个标题。 在和之间的信息,是正文。 在之间的文字,用粗体表示。顾名思义,就是bold的意思。 HTML文件看上去和一般文本类似,但是它比一般文本多了Tag,比如,等,通过这些Tag,可以告诉浏览器如何显示这个文件。 HTML元素(HTML Elements) ?HTML元素(HTML Element)用来标记文本,表示文本的内容。比如body, p, title 就是HTML元素。 ?HTML元素用Tag表示,Tag以<开始,以>结束。 ?Tag通常是成对出现的,比如。起始的叫做Opening Tag,结尾的就叫做Closing Tag。 ?目前HTML的Tag不区分大小写的。比如,和其实是相同的。HTML元素(HTML Elements)的属性

AUTOLISP详细讲解

AutoLISP详细讲解 关于AutoLISP AutoLISP是由Autodesk公司开发的一种LISP程序语言(LISP是List Processor的缩写)。第一篇关于LISP的参考文献是由John McCarthy在1960年4月的《ACM通讯》中发表的。 除了FORTRAN和COBOL,大多数在六十年代早期开发出来的语言都过时了,可是LISP 却生下来,并且已经成为人工智能(AI)的首选程序序言。AutoLISP解释程序位于AutoCAD 软件包中,然而AutoCAD R2.17及更低版本中并不包含AutoLISP解释程序,这样,只有通过AutoCADR2.18及更高版本才可以使用AutoLISP语言。 AutoCAD软件包中包含大多数用于产生图形的命令,但仍有某些命令末被提供。例如,AutoCAD中没有在图形文本对象内绘制矩形及作全局改变的命令。通过AutoLISP,你可以使用AutoLISP程序语言编制能够在图形文本对象内绘制矩形或作全局选择性改变的程序。事实上,可以用AutoLISP编制任何程序,或把它嵌入到菜单中,这样定制你的系统会取得更高的效率。 现在,已经有数以百计的第三方软件开发人员使用AutoLISP语言编制各种应用程序软件包,例如,本文作者开发了一个名为SMLayout的软件包,用它可以产生各种复杂几何图形的平面布局图,这些几何图形包括管道的交叉部、过渡都、圆柱、弯管接头、圆锥以及罐顶。目前社会上非常需要AutoLISP程序员为应用软件及客户菜单的开发提供顾问。 在本章中,我们假定读者已经熟悉了AutoCAD命令及AutoCAD的系统变量。但是,在开始学习AutoLISP时,却并不需要你是一位AutoCAD或编程专家。同时,本章还假定读者并无编程方面的知识。如果你熟悉任何一种编程语言,那么学习AutoLISP就会很容易。对各种函数的评细探讨以及对例题的逐步讲解会使你学起来很有兴趣。本章讨论常用的AutoLISP函数以及它们S程序编制中的应用。对于本章中未涉及的函数,请参阅Autodesk 公司的《AutoLISP程序员参考手册》。AutoLISP对硬件没有任何特殊要求。如果系统能够运行AutoCAD,那么同样也可以运行AutoLISP。AutoLISP程序可以使用任何文本编辑器进行编制。 数学运算 任何编程语言都提供数学函数。在AutoLISP中,同样提供了编程以及数学计算所需的大部分数学函数,你可以使用AutoLISP对数字进行加、减、乘、除运算,还可以得到以弧度表示的角度的正弦值、余弦值及反正切值等。使用AutoLISP还可以进行许多其他计算。这一节主要讨论AutoLISP程序语言支持的常用数学函数。 1.加法 格式(+num1num2num3…) 此函数(+)计算加号(+)右边所有数字的和(+num1num2num3…)。这些数字可以是整数或实数。如果均为整数,则和为整数;如果均为实数,则和为实数。但是如果既有整数又有实数,则和为实数。如下所示,在前两个例子中,所有数字均为整数,所以结果是

养成良好的AutoLISP书写习惯

养成良好的AutoLISP书写习惯 众所周知,Lisp是一种表结构语言,括号必须成对出现,在调试时往往为遗漏了一个括号大费周折,所以,养成一个好的编程习惯是学好Lisp所必须的。 ⑴选择一个较好的编辑器,这是一个基本条件,建议使用Visual Lisp编辑器或Lisplink 等专用编辑器,此类编辑器可以对函数突出显示。 ⑵按Lisp(DCL)专有格式书写,并经常对程序进行“格式化”,及时发现语法错误,并有利于调试是查找错误。 ⑶使用自定义函数,并辅助以适当得注释,在较大程序中按功能使用自定义函数可以使得程序条理化。 autolisp的入门教程+autolisp函数! Lisp是一门历史悠久的语言,全名叫LISt Processor,也就是“表处理语言”,它是由John McCarthy于1958年就开始设计的一门语言。和Lisp同时期甚至更晚出现的许多语言如Algo 等如今大多已经消亡,又或者仅仅在一些特定的场合有一些微不足道的用途,到现在还广为人知的恐怕只剩下了Fortran和COBOL。但唯独Lisp,不但没有随着时间而衰退,反倒是一次又一次的焕发出了青春,从Lisp分支出来的Scheme、ML等语言在很多场合的火爆程度甚至超过了许多老牌明星。那么这颗常青树永葆青春的奥秘究竟在哪里呢? 如果你只接触过C/C++、Pascal这些“过程式语言”的话,Lisp可能会让你觉得十分不同寻常,首先吸引你眼球(或者说让你觉得混乱的)一定是Lisp程序中异常多的括号,当然从现在的角度来讲,这种设计的确对程序员不大友好,不过考虑到五六十年代的计算机处理能力,简化语言本身的设计在那时算得上是当务之急了。 Lisp的基本语法很简单,它甚至没有保留字(有些语言学家可能对这一点有异议,别怕,我听你们的),它只有两种基本的数据,仅有一种基本的语法结构就是表达式,而这些表达式同时也就是程序结构,但是正如规则最简单的围棋却有着最为复杂的变化一样,Lisp使用最基本的语言结构定义却可以完成其它语言难于实现的、最复杂的功能。 废话少说,现在我们就来看看Lisp语言中的基本元素。 Lisp的表达式是一个原子(atom)或表(list),原子(atom)是一个字母序列,如abc;表是由零个或多个表达式组成的序列,表达式之间用空格分隔开,放入一对括号中,如: abc () (abc xyz) (a b (c) d) 最后一个表是由四个元素构成的,其中第三个元素本身也是一个表。 正如算数表达式1+1有值2一样,Lisp中的表达式也有值,如果表达式e得出值v,我们说e返回v。如果一个表达式是一个表,那么我们把表中的第一个元素叫做操作符,其余的元素叫做自变量。

HTML语言入门教程

语言入门教程(一) 第一课基础 Html是英文 HyperText Markup Language 的缩写,中文意思是“超文本标志语言”,用它编写的文件(文档)的扩展名是.html或.htm,它们是可供浏览器解释浏览的文件格式。您可以使用记事本、写字板或 FrontPage Editor 等编辑工具来编写Html文件。Html语言使用标志对的方法编写文件,既简单又方便,它通常使用<标志名>来表示标志的开始和结束(例如标志对),因此在Html文档中这样的标志对都必须是成对使用的。 当我们畅游Internet时,我们透过浏览器所看到的网站,是由HTML (HyperText Markup Language) 语言所构成。HTML ( 超文件标记语言 ) 是一种建立网页文件的语言,透过标记式的指令 (Tag),将影像、声音、图片、文字等连结显示出来。 HTML标记是由 < 和 > 所括住的指令,主要分为 : 单标记指令、双标记指令 ( 由 < 起始标记 >,< / 结束标记 >所构成 ) 。HTML网页文件可由任何文本编辑器或网页专用编辑器编辑,完成后 ( 以 .htm

.html 为文件后缀保存 ) 将HTML网页文件由浏览器打开显示,若测试没有问题则可以放到服务器 (Server) 上,对外发布信息。 HTML文件基本架构 文件开始 标头区开始 ... 标题区 标头区结束 本文区开始 本文区内容 本文区结束 文件结束 网页文件格式。 标头区 : 记录文件基本资料,如作者、编写时间。 标题区 : 文件标题须使用在标头区内,可以在浏览器最上面看到标题。 <BODY> 本文区 : 文件资料,即在浏览器上看到的网站内容。 注意事项</p><h2>HTML语言基础练习题</h2><p>如对你有帮助,请购买下载打赏,谢谢! 第一部分:基础词汇 1、单词 head,头body,身体block,块inline,一行内width,宽度height,高度image,图像title,标题parent,父亲blank,空白的table,表格row,行character,字符 column,列 caption,说明文字 list,列表 form,表单 type,类型 input,输入 text,文本 password,密码 value,值 select,选择 option,选项 textarea,文本域 submit,提交 button,按钮 reset,重置 action,动作 method,方法 target,目标 left,左 right,右 center,中 top,上 bottom,下 2、词语缩写 术语:HTML,HyperText Markup Language,超级文本标记语言 术语:URL,Uniform Resoure Locator,统一资源定位器 术语:HTTP,Hyper Text Transfer Protocol,超文本传输协议 术语:WWW,World Wide Web,万维网 术语:IP,Internet Protocol,网络互连协议 属性:src,source,源 属性:href,hypertext reference,超文本引用 属性:id,identification,身份证、唯一标识 属性:class,类别 属性:title,标题、字幕 属性:style,样式 标签:a,anchor,锚或超链接 标签:div,division,部分区域 标签:ul,unordered lists,无序列表 标签:ol,ordered lists,有序列表 标签:img,image,图像 标签:p,paragraph,段落 标签:meta,metadata,元数据、描述信息的数据 第二部分:HTML基本结构(以html5为例) <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>页面标题 页面元素及内容部分 第三部分:看页面效果图,写出HTML代码 1、当鼠标光标移动至段落上时,要求显示字幕信息“我是段落”。

我是一级标题

这是一个段落 2、有一幅鲜花图片,名称为“flower.jpg”,假设图片与网页文件在同一个文件夹内,设置鲜花图片的高度为85px,宽度为100px,并要求实现鼠标指针停留在图片上时,显示字幕“鲜花”。

lisp函数

函数大全 一、数学运算功能函数 1.l(十 数值 数值…)返回:累计实数或整数数值 1.2(一 数值 数值…)返回:差值 1.3(* 数值 数值…)返回:所有数值乘积 1.4(/ 数值 数值…)返回:第一个数值除以第二个以后数值的商 1.5(l十 数值)返回:数值十l l. 6(1— 数值)返回:数值一l l.7(abs 数值)返回:数值的绝对值 1.8(atan 数值)返回:反正切值 1.9(cos 角度)返回:角度的余弦值,角度值为弧度 1.10(exp 数值)返回:数值的指数 1.11(expt 底数指数)返回:底数的指数值 1.12(fix 数值)返回:将数值转换为整数值 1.14(gcd 数值1 数值2)返回:两数值的最大公因数 1.15(log 数值)返回:数值的自然对数值 1.16(max 数值 数值…)返回:数值中的最大值 1.17(min 数值 数值…)返回:数值中的最小值 1.18 pi 常数∏,其值约为3.1415926 1.19(rem 数值 1数值 2)返回:M数值的相除的余数 l.20(sin 角度)返回:角度的正旋值,角度值为弧度 1.21(sqrt 数值)返回:数值的平方根 二、检验与逻辑运算功能函数 2.l(= 表达式1 表达式2)比较表达式1是否等于式2,适用数值及字符串 2.2 (/= 表达式1 表达式2)比较表达式1是否大于等于表达式2 2.3(< 表达式1 表达式2) 比较表达式1是否<小于表达式2 2.4(<= 表达式1 表达式2)比较表达式1是否<一小于等于表达式2 2.5(> 表达式1 表达式2) 比较表达式1是否>大于表达式2 2.6(>= 表达式1 表达式2) 比较表达式1是否大于等于表达式2 2.7 (~ 数值)返回:数值的位 not值,(1的补码) 2.8 (and 表达式1 表达式2…)返回:逻辑and的结果 2.9(boole 函数 整数 整数…)返回:位式布尔运算

LISP语言教程

LISP语言教程 作者:牛魔王—上次修改时间: 2007-03-22 13:13 Scheme 语言是LISP语言的一个方言(或说成变种),它诞生于1975年的MIT,对于这个有近三十年历史的编程语言来说,它并没有象C++,java,C#那样受到商业领域的青睐,在国内更是显为人知。但它在国外的计算机教育领域内却是有着广泛应用的,有很多人学的第一门计算机语言就是Scheme语言。 Scheme 语言概要 Author: 宋国伟吉林省德惠市信息中心 Date: 2003 年 12 月 01 日 Scheme 语言是LISP语言的一个方言(或说成变种),它诞生于1975年的MIT,对于这个有近三十年历史的编程语言来说,它并没有象C++,java,C#那样受到商业领域的青睐,在国内更是显为人知。但它在国外的计算机教育领域内却是有着广泛应用的,有很多人学的第一门计算机语言就是Scheme语言。 作为Lisp 变体,Scheme 是一门非常简洁的计算语言,使用它的编程人员可以摆脱语言本身的复杂性,把注意力集中到更重要的问题上,从而使语言真正成为解决问题的工具。本文分为上、下两部分来介绍 scheme 语言。 一.Scheme语言的特点 Scheme 语言是LISP语言的一个方言(或说成变种),它诞生于1975年的MIT,对于这个有近三十年历史的编程语言来说,它并没有象C++,java,C#那样受到商业领域的青睐,在国内更是显为人知。但它在国外的计算机教育领域内却是有着广泛应用的,有很多人学的第一门计算机语言就是Scheme语言。 它是一个小巧而又强大的语言,作为一个多用途的编程语言,它可以作为脚本语言使用,也可以作为应用软件的扩展语言来使用,它具有元语言特性,还有很多独到的特色,以致于它被称为编程语言中的"皇后"。 下面是洪峰对Scheme语言的编程特色的归纳: ?词法定界(Lexical Scoping) ?动态类型(Dynamic Typing) ?良好的可扩展性 ?尾递归(Tail Recursive) ?函数可以作为值返回 ?支持一流的计算连续

文本预览