DOSLib是一个Auto Lisp和Visual L isp可调用的函数库,它提供了Windows操作系统和DOS命令行函数给AutoCAD。它是以AutoCAD ARX应用程序方式编写的。DOSLib通过提供以下函数扩充了Auto Lisp和Visual Lisp程序语言。
1 驱动器函数
(dos_chkdsk [drive])
返回当前驱动器或指定驱动器的磁盘空间统计表。使用rtos函数可将返回值转换为字符串。返回一个表,包含有三项数据:总的磁盘空间,已用磁盘空间,未使用磁盘空间。
(dos_drive [drive])
返回当前驱动器或切换当前驱动器到指定驱动器。
(dos_drivep drive)
检查驱动器是否存在,存在返回T,否则返回nil。
(dos_drives)
返回可用驱动器列表。
(dos_drivetype [drive])
返回指定驱动器的类型,是可移动的、固定的、CD-ROM、RAM磁盘,还是网络驱动器。
(dos_filesys [drive])
返回指定驱动器的文件系统,是FAT、FAT32、NTFS、HPFS、CDFS,还是网络驱动器。
(dos_format drive)
显示一个Windows格式化对话框,允许用户格式化磁盘或软盘。
(dos_label [drive [label]])
返回或更改指定磁盘的卷标。
(dos_serialno [drive])
返回指定驱动器的序列号。
2 路径函数
(dos_absolutepath path_from path_to)
创建一个绝对路径,将相对路径转换到绝对路径。
(dos_compactpath path maxchars)
把一个路径切短到一定的字符数。
(dos_fullpath path)
将一个局部路径转换为完整有效的路径。它不像dos_makepath函数,dos_fullpath可在路径中使用 .\\ 和 ..\\ 。
(dos_ispathrelative path)
查找一个路径,并且检查路径是否是相对的。
(dos_ispathroot path)
分析一个路径,测定它是否是根目录。
(dos_ispathsameroot path1 path2)
比较两个路径,测定它们是否在同一个目录。
(dos_ispathunc path)
确定一个路径是否是一个有效的可以用于服务器或者共享路径的UNC通用命名公约。
(dos_ispathurl path)
检查一个给定路径,并确定是否是一个有效的可以用于服务器或者共享路径的UNC通用命名公约。
(dos_longpath path)
转换一个短路径名到一个长路径名。
(dos_makepath drive directory filename extension)
创建一个单独的路径,它由驱动器字母、目录路径、文件名和文件扩展名组合而成。
(dos_path)
返回由PATH命令或SET PATH语句设置的代表当前搜索路径的一个列表。
dos_pathbackslash path [T])
在一个路径字符串中加入或者删除一个反斜杆。
(dos_pathextension path [extension])
添加、修改或者删除路径字符串的扩展名。
(dos_pathquotes path [T])
在一个路径字符串中加入或者删除一个双引号。
(dos_relativepath path_from path_to)
创建一个文件或者文件夹,相对其他文件或者文件夹的相对路径,这个路径不必是完全资格的,但它们必须有一个相同的前缀,否则这个函数将失败并返回nil。
(dos_shortpath path)
转换一个长路径名到一个短路径名。
(dos_splitpath path)
将完整的路径断开成四个部分,该函数返回一个包含四个部分的表。
dos_uncpath
把路径或文件名转变为UNC路径或文件名。
3 目录函数
(dos_chdir path)
更改当前目录到指定目录。该函数可更改任何驱动器上的当前目录。它不能用于更改当前驱动器。
(dos_deltree path)
删除一个目录及其所有的子目录。
(dos_dirattrib [pathspec [bits]])
返回目录属性或通过位码形式设置目录属性。
(dos_dirp path)
判断目录是否存在,存在返回T,否则返回nil。
(dos_dirtree [path])
返回目录和其子目录的列表。
(dos_getdir [title [path [message [T]]]])
显示一个Windows的“浏览文件夹”对话框窗口。
(dos_mkdir path)
创建一个新的目录,只有路径的最后部分可命名新的目录。
(dos_pwdir [drive])
返回当前驱动器或指定驱动器的当前目录。
(dos_rendir old_path new_path)
重命名一个存在的目录。
(dos_rmdir path)
删除一个空目录。
(dos_specialdir item)
得到一个特定目录的路径。
(dos_subdir [path [T]])
返回当前目录中或指定目录中找到的子目录的列表。该函数只是个路径相关函数,它的返回值不包含尾随的双反斜杠(\\)。
(dos_sysdir)
返回Windows系统目录的路径。该系统路径包含有如Windows库、驱动程序、字体文件等文件。
(dos_tempdir)
返回被指定为存放临时文件的目录路径。
(dos_windir)
返回Windows目录的路径。Windows目录包含如Windows基础应用程序、初始化文件和帮助文件等文件。
4 文件函数
(dos_attrib [filespec [bits]])
返回文件属性,或通过位码形式设置文件属性的值。
(dos_copy source destination)
复制一个或多个文件。该函数可用于从一个目录中复制文件到另外的目录中,或从一个驱动器中复制到其他驱动器中。
(dos_delete filespec)
删除存在的文件。
(dos_dir [filespec [format]])
返回一个包含在当前目录或指定目录中找到的文件列表。
(dos_dos2unix source destination)
转换一个DOS类型文本文件为UNIX类型文本文件。
(dos_encrypt filename password)
使用指定的密码加密或解密文件。
(dos_file filename)
返回一个包含文件的详细文件信息的列表。
(dos_filedate filespec)
返回包含文件名及(AutoCAD)日历的列表。(使用rtos和substr或dos strleft函数从AutoCAD日历中来提取元素。)
(dos_filep filename)
检查文件的存在。
(dos_filesize filespec)
返回包含文件名和文件大小信息的列表。
(dos_find [filespec [format]])
递归地搜索文件的所有实例。
(dos_getfiled title path filter)
显示一个Windows公用文件打开对话框,允许单选。
(dos_getfilem title path filter)
显示Windows公用文件打开对话框,允许多文件选择。
(dos_getfilenav title default ext flags)
显示一个AutoCAD风格的文件选择对话框。
(dos_move source [destination])
将两个或者多个文件合成一个文件。
(dos_move source destination)
移动文件到另外的位置。该函数可用于将一个文件从一个目录移动到另外的目录中,或从一个驱动器移动到另外的驱动器中。
(dos_openp filename)
返回文件的打开状态。函数用于网络环境中。DOSLib通过试图以独占共享访问方式打开文件来判断文件是否已经打开。
(dos_recent [filename])
增加或清除Windows最近使用的文档列表。
(dos_rename old-filename new-filename)
重命名一个存在的文件。不可以用这个函数重命名多个文件。
(dos_search filename [path])
沿指定路径搜索目标文件。
(dos_tempfile)
为临时文件创建一个名字。
(dos_touch filespec [date [time]])
设置文件最后写入的日期和时间。
(dos_unix2dos source destination)
将UNIT类型文本文件转换为DOS类型文本文件。在文本文件中DOS和UNIT系统使用不同的方法来表示行结束信息。DOS,还有Windows各版本均使用了回车/换行符对(CR/LF),而UNIT只使用了LF字符。
5 打印函数
(dos_getprn)
返回当前或缺省的Windows打印机。(dos_printers)
返回安装Windows打印机的列表。这些打印机均通过Windows控制面板安装。
(dos_setprn printername)
设置当前或缺省的Windows打印机。打印机名称必须是通过dos_printers函数返回的打印机名称。
(dos_spool filename printername)
缓存或打印一个文件到Windows打印机。该缓存文件必须为未经处理的打印机格式。
6 配置函数
(dos_getini section entry filename [default])
从Winodws样式初始化(INI)文件的指定区域中返回一个字符。该初始化文件必须具有以下格式:
[section]
entry=string
…
(dos_regaddkey hive key)
添加一新的键值到Windows注册表。如有必要,这个函数在指定的路径里创建全部的键值。
(dos_regdel key [name])
从Windows注册表中删除一个键值或主键。这个函数也将删除任一子键。
(dos_regaddkey hive key subkey)
从Windows注册表移除一个键。这个函数也将删除任一子键。
(dos_regdelval hive key name)
从Windows注册表移除一个键值。
(dos_regenumkey hive key)
从Windows注册表中列举指定的键。
(dos_regenumkey hive key)
从Windows注册表中列举指定的键名。
(dos_regget key [name])
搜索一个字符串或是从注册表中枚举值名。
(dos_reggetint hive key name)
搜索一个Windows注册表的整数值或REG_DWORD。
(dos_reggetstr hive key name)
搜索一个Windows注册表的字符串值或REG_SZ。
(dos_regenumkey hive key name)
返回一个Windows注册表输入的数值类型。
(dos_regkey key)
从Windows注册表中枚举指定的值名。
(dos_regset key [name [value]])
设定一个字符串键值或添加一个主键到Windows注册表。
(dos_regsetint hive key name int-value)
修改一个Windows注册表里主键的整数值或REG_DWORD。
(dos_regsetstr hive key name str-value)
为Windows注册表的主键设置一个字符串数值或REG_SZ。
(dos_setini section entry string filename)
复制字符串到Windows样式初始化(.INI)文件的指定区域中。
初始化文件必须为以下格式:
[section]
entry=string
…
7 进程函数
(dos_command command [show])
运行一个内部命令。内部命令是操作系统的命令。
(dos_execute command [show])
执行一个外部程序。PATH环境变量可用于查找要执行的程序。
(dos_exewait command [show])
执行一个外部程序,然后等待终止后再返回控制调用的应用程序。
(dos_processes [T])
返回正在运行的过程任务的列表。
(dos_shellexe file parameters [operation [show]])
打开或打印一个指定的文件。该文件可以是可执行文件或文档文件。
8 用户界面函数
(dos_checklist title prompt assoc-list [T])
显示带有检查样式列表框的可调整尺寸的Windows对话框。可用于切换对象或设置的状态。
(dos_combolist title prompt list [default])
显示带有组合样式列表框的可调整尺寸的Windows对话框。可用于从列表中选择一个项目或输入字符串值。
(dos_editbox title prompt [default])
显示带有多行编辑控制的可调整尺寸的Windows对话框。可用于为文本编辑段落,文本也可以从外部文件中被引入到对话框。
(dos_editlist title prompt list)
显示带有可编辑列表框的可调整尺寸的Windows对话框。可添加或删除列表中的项目,也可更改列表的排列顺序。
(dos_getcancel title message) (dos_getcancel T) (dos_getcancel)
显示由一条信息及一个取消按钮组成的无模式对话框。因为该对话框为无模式,可将其用于执行可被用户中断的长过程。
(dos_getcolor title [default])
显示一个Windows通用的颜色选择对话框,用于选择红绿蓝(RGB)颜色值。
(dos_getint title prompt [flags [default [max [min]]]])
与LISP的getint函数等价的Windows对话框。
(dos_getpassword title message [default [length]])(www.xing528.com)
与LISP的getstring函数等价的Windows对话框。对话框显示一个密码样式的编辑控制器。
(dos_getprogress title message maxvalue [T])
(dos_getprogress abs/-rel)
(dos_getprogress T)
(dos_getprogress)
显示一个由一条信息、一个进度条和一个可选的取消按钮组成的无模式对话框。因为该对话框为无模式,可将其用于执行可被用户中断的长过程。
(dos_getreal title prompt [flags [default [max [min]]]])
等同于LISP的getreal函数的Windows对话框。(实际数字是双精度浮点值,精度提供最少14位有效数字。值可以被表示为可在e或E后有指数的科学表示法,如0.0000041等于4.1e-6。)
(dos_getstring title prompt [default [length]])
等同于LISP的getstring函数的Windows对话框。
(dos_htmlbox title address [width height])
在一个可调整尺寸的对话框中显示一个网页。
(dos_listbox title prompt list)
显示带有单选列表框的可调整尺寸的Windows对话框。
(dos_msgbox text title button icon [duration])
创建、显示或操作一个Windows消息框或对话框。信息框包含一个程序定义信息和标题,以及任意预先定义的图标和按钮组合。还有一个可选的控制消息框自动关闭的维持时间。
(dos_msgboxchk text title button icon default regkey)
显示一个“不要显示这个对话框”的消息框。
(dos_msgboxex text title button-list icon)
创建、显示或操作一个扩展信息框或对话框。信息框包含一个程序定义信息和标题,以及自定义按钮。
(dos_multilist title prompt list [indices])
显示带有多选列表框的可调整尺寸的Windows对话框。
(dos_popupmenu menu-items [item-modes])
显示一个自定义、上下文弹出菜单。这个弹出菜单可以在任何地方出现,并且可以通过单击鼠标左键或右键解除。
(dos_proplist title prompt assoclist)
显示一个带有可编辑属性列表框的可调整尺寸的Windows对话框。
(dos_splash filename duration [T])
显示一个多线程的Windows位图弹出屏幕。位图文件必须是Windows位图(BMP)。位图图像可以是24位(1670万色)色。
(dos_traywnd title text width height [operation [duration]])
显示一个与MSN Messenger风格通知窗口相似的弹出托盘窗口。
(dos_waitcursor [T])
9 字符串函数
(dos_strcase string [T])
将一个字符串里的所有字符转换大小写。
(dos_strcat [string [string] ...])
返回一个连接多个字符串的字符串。
(dos_strchar string index [char])
返回或设置一个给定位置的字符。
(dos_strcompare string1 string2 [T])
比较两个字符串。
(dos_strdelete string index count)
从一个字符串中删除一个或者几个字符。
(dos_strfind string substring [index])
在一个大字符串中查找一个字符或子字符串。
(dos_strfindoneof string charset)
查找字符串中符合charset的第一个字符位置。
(dos_strformat format arg1 arg2 ...)
把一个字符串的格式改成类似C语言中sprintf函数的格式。
(dos_strformatcurrency number [num_digits [leading_zero [decimal_sep [thousands_sep[currency_sym]]]]])
把一个数字变成货币格式的字符串。
(dos_strformatnumber number [num_digits [leading_zero [decimal_sep [thousands_sep]]]])
把数字变成字符串。
(dos_strincluding string charset)
获取包含在charset中的字符的第一段字符串。
(dos_strinsert string index chars)
在字符串的给定位置插入一个字符或子字符串。
(dos_strischar [char [bits]])
根据一定的条件检验一个字符的类型。
(dos_strleft string count)
得到字符串的某位置以左的子字符串。(同Basic的LEFT$函数。)
(dos_strlength string)
返回字符串中的字符数目。
(dos_strmatch string wildcard)
按照通配符匹配字符串。
(dos_strmid string index [count])
根据个数和位数截取字符串中的一段。(同Basic的MID$函数。)
(dos_strremove string char)
在字符串中移去指定字符。
(dos_strreplace string oldchars newchars [T])
把指定字符用其他字符替代。
(dos_strreverse string)
将字符串中字符反向。
(dos_strreversefind string char)
在一个字符串中找特定字符,从末尾开始。
(dos_strright string count)
得到字符串的某位置以右的子字符串。(同Basic的RIGHT$函数。)
(dos_strtokens string tokens [T])
按照某些符号标记把字符串转变为表。
(dos_strtrim string [chars])
从一个字符串中切掉开头和末尾部分。
(dos_strtrimleft string [chars])
切掉字符串的开头指定部分。
(dos_strtrimright string [chars])
切掉字符串的末尾指定部分。
10 AutoCAD函数
(dos_acadmem)
返回AutoCAD内存统计数据。
(dos_acitorgb aci-value)
转换AutoCAD软件颜色到RGB颜色。
(dos_arxlist [T])
返回加载的arx应用程序列表。
(dos_closeall)
关闭全部打开的AutoCAD图形文件。
(dos_cmdline [T])
返回AutoCAD命令行或历史窗口的文本。
(dos_curvearea entity)
返回闭合曲线实体的面积。
(dos_dwgpreview title path [T])
(dos_dwgpreview title path-list [T])
显示图形和它们的略图预览图像的列表。
(dos_dwgver filename)
返回AutoCAD图形文件的版本。
(dos_extractprevie w filename)
从活动文档中提取预览位图到一个位图文件。
(dos_hatcharea entity)
返回填充对象的面积。
(dos_hideobjects entity-name)
(dos_hideobjects selection-set)
隐藏一个或多个AutoCAD实体。隐藏的实体可以通过dos_showobjects函数或关闭重起文件而显示或取消隐藏。
(dos_hlstorgb hue luminance saturation)
转换HLS颜色到RGB格式。
(dos_isbreak)
检查控制台中断。
(dos_isinsidecurve curve point)
检验一点是否位于一封闭平面曲线内。
(dos_istextscr )
检验AutoCAD文本屏幕是否打开或可见。
(dos_isvlide)
检验Visual LISP IDE是否打开。
(dos_layerlistbox title prompt [bits])
在一可调整大小的Windows对话框显示AutoCAD图层列表。
(dos_linetypebox [default [T]])
显示AutoCAD的线型选择对话框。
(dos_lisplist [T])
返回加载Auto Lisp/Visual Lisp文件的列表。
(dos_massprops entity)
返回3D实体的质量属性。
(dos_plinecentroid entity)
返回一封闭平面多义线的质心。
(dos_progbar message maxval ue)
(dos_progbar abs/-rel)
(dos_progbar)
操纵AutoCAD状态栏的进度条。
(dos_rgbtoaci red green blue)
(dos_rgbtoaci rgb)
转换RGB颜色到AutoCAD颜色。
(dos_rgbtohls red green blue)
(dos_rgbtohls rgb)
转换RGB颜色到HLS格式。
(dos_saveall)
保存所有打开的AutoCAD图形文件。
(dos_show method)
控制AutoCAD的显示窗口。
(dos_showobjects entity-name)
(dos_showobjects selection-set)
(dos_showobjects)
显示或取消隐藏一个或多个AutoCAD实体。可以通过使用dos_hideobjects函数隐藏实体。
(dos_xreflist [filename])
返回外部参考文件的列表。
11 DOSLib函数
(dos_about)
(dos_demandload [val])
返回或设置DOSLib的按需加载方法。
(dos_help [function])
返回DOSLib函数列表,显示有效的DOSLib函数列表。
(dos_version)
返回DOSLib版本号。
12 系统及其他函数
(dos_adminp)
决定当前的用户是否有管理人权利。(dos_beep [type])
播放Windows波形声频文件。声频文件的声音类型由登录在注册表的SOUNDS部分来识别。如果系统不能播放指定的警告声音,dos_beep函数将播放系统的缺省声音。如果该函数不能播放缺省的声音,dos_beep将通过使用计算机喇叭产生标准的蜂鸣。
(dos_capslock [T])
切换<Caps Lock>(大写锁定)键。
(dos_cdate format)
返回一个格式化的日期/时间字符串。
(dos_clipboard [string])
返回或设置Windows剪贴板的字符串。
(dos_computer [name])
返回或设置当前系统的计算机名称。当它由注册表初始化时,该名称会在系统启动时确定下来。更改后只有在系统下次启动时才生效。
(dos_date [date])
返回当前系统日期或更改当前系统日期为指定的日期。
(dos_guidgen)
创建一个GUID,一个随机的唯一的128位整数。
(dos_hostname)
返回系统本地DNS(域名服务器)主机名称。
(dos_htmlhelp filename [index/topic])
显示一个HTML帮助文件内容。(开启HTMP帮助,并且传递应用程序附加的表明自然状态的帮助请求数据。)
(dos_ipaddress)
返回本地TCP/IP地址的列表。
(dos_ispoweruser)
检查当前用户的权力状态。
(dos_macaddress)
返回系统的网卡MAC地址。
(dos_mem)
返回包含有关当前可用内存的信息列表。该函数返回有关物理及虚拟内存的信息。使用rtos函数来转换返回值为字符串。
(dos_numlock [T])
切换<Num Lock>(数字锁定)键的状态。
(dos_pause duration)
按指定秒数暂停一个函数或表达式的执行。
(dos_random)
返回一个伪随机数。
(dos_scrolllock [T])
切换<Scroll Lock>键的状态。
(dos_sortlist list)
将字符串、实数或整数列表进行排序。
(dos_speaker frequency duration)
通过PC喇叭播放声音。
(dos_time [time])
返回当前系统时间或更改当前系统时间为指定的时间。
(dos_username)
返回当前线程的用户名。该名称为当前登录系统的用户。
(dos_ver)
返回操作系统的版本。
(dos_wav filename)
插入Windows波形音频文件。
(dos_winhelp filename [index/topic])
显示Windows帮助文件的索引或主题。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。