文档详情

LISP文件加载设置.pdf

发布:2025-02-17约5.1千字共4页下载文档
文本预览下载声明

下面开始编写初始化LISP程序。这里,我们创建一个LISP程序,命名为:Loadtbox.lsp,这

个程序将负责把菜单、主程序等加载到系统中。

以下是这个Loadtbox.lsp的写法。我尽量在注释中解释:

;;首先定义初始化函数

(defunInittboxApplication(/

;;内部函数

GetMyApplicationPathGettboxPath

strParseStrUnParse

tbox_AddSupportPathLoad_tboxMenu

tbox_placemenu

;;局部变量

tbox_cmdecho_save

)

;;;取得本程序的路径.

;;;文件路径从注册表中读取,这些信息由安装程序负责写入注册表

;;;

(defunGetMyApplicationPath(AppID)

(vl-registry-read

(strcat

HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\

AppID

_is1

)

InnoSetup:AppPath

)

)

(defunGettboxPath()

(GetMyApplicationPathLisp工具箱)

)

;;;解析字符串为表(函数来自明经通道转载)

;;;

(defunstrParse(StrDelimiter/SearchStrStringLenreturnnchar)

(setqSearchStrStr)

(setqStringLen(strlenSearchStr))

(setqreturn())

(while(StringLen0)

(setqn1)

(setqchar(substrSearchStr11))

(while(and(/=charDelimiter)(/=char))

(setqn(1+n))

(setqchar(substrSearchStrn1))

);_endofwhile

(setqreturn(cons(substrSearchStr1(1-n))return))

(setqSearchStr(substrSearchStr(1+n)StringLen))

(setqStringLen(strlenSearchStr))

);_endofwhile

(reversereturn)

);_endofdefun

;;;反解析表为字符串(函数来自明经通道转载)

;;;

(defunStrUnParse(LstDelimiter/return)

(setqreturn)

(foreachstrLst

(setqreturn(strcatreturnDelimiterstr))

);_endofforeach

(substrreturn2)

);_endofdefun

;;;添加支持文件搜索路径

;;;

;;;note:第二个参数如果为真,插

显示全部
相似文档