飞雪神光
发表于 2023-12-12 12:49:36
xiaocainiao 发表于 2023-12-12 12:27
这种不行的、之前有朋友说过这种方法、用这种方法的结果始终都是"红线"
你不在 注册表里写入信息他永远返回的是nil还有你注意看 readzc 后面的col 是带单引号的
e2002
发表于 2023-12-12 15:07:35
如何读写注册表并变量赋值,如何组织数据,楼主先想清楚后再写比较好。
kozmosovia
发表于 2023-12-12 15:11:44
不是组织数据问题,是语言表达问题,说了这么多,问问题都没说清楚是啥问题。
xiaocainiao
发表于 2023-12-13 10:40:30
xiaocainiao 发表于 2023-12-12 10:36
我现在就是有很多这样的代码、每次都是重复的、比较乱、所以想搞一个自定义函数
Null函数我知道的、经常用、我这个只是一个示例、就是想知道能不能搞成自定义函数
xiaocainiao
发表于 2023-12-13 10:43:08
start4444 发表于 2023-12-12 12:47
换个思路会不会简单点
(defun READZC (key mrz /)
(cond ((= key "col") (if (setq col (vl-registry-re ...
其实我就是想研究一下注册表里面的主键、能不能搞成自变量的形式、研究了好久没找到方法
xiaocainiao
发表于 2023-12-13 11:08:56
e2002 发表于 2023-12-12 15:07
如何读写注册表并变量赋值,如何组织数据,楼主先想清楚后再写比较好。
不好意思、应该是我没表达清楚
(defun READZCB (col /)
(setq col (vl-registry-read "HKEY_CURRENT_USER\\Software\\num\\" "col"))
)
我就是想让 (READZCB la)的结果等于下面这个
(setq la (vl-registry-read "HKEY_CURRENT_USER\\Software\\num\\" "la"))
xiaocainiao
发表于 2023-12-13 11:11:23
kozmosovia 发表于 2023-12-12 15:11
不是组织数据问题,是语言表达问题,说了这么多,问问题都没说清楚是啥问题。
(defun READZCB (col /)
(setq col (vl-registry-read "HKEY_CURRENT_USER\\Software\\num\\" "col"))
)
我就是想让 (READZCB la)这个表达式的运行结果等同于下面这个
(setq la (vl-registry-read "HKEY_CURRENT_USER\\Software\\num\\" "la"))
这样说不知道能不能理解
start4444
发表于 2023-12-13 12:06:33
xiaocainiao 发表于 2023-12-13 11:11
(defun READZCB (col /)
(setq col (vl-registry-read "HKEY_CURRENT_USER\\Software\\num\\" "col"))
...
感觉你没搞清楚自定义函数参数,假如现在 READZCB 这个函数已经成功了,那你实际应该是怎么用的,写一小段出来看看就很清楚要的效果了
xiaocainiao
发表于 2023-12-13 12:29:37
start4444 发表于 2023-12-13 12:06
感觉你没搞清楚自定义函数参数,假如现在 READZCB 这个函数已经成功了,那你实际应该是怎么用的,写一小 ...
(READZCB la)
(READZCB col)
(READZCB lts)
实际就是这样用啊、不过自定义函数里面的内部不止是一段代码、还有其他的内容、我是为了让大家看懂、就放了最主要这个
llsheng_73
发表于 2023-12-13 13:20:48
本帖最后由 llsheng_73 于 2023-12-14 13:09 编辑
(defun READZC(str val / va)
(set(read str)
(if(setq va(vl-registry-read "HKEY_CURRENT_USER\\Software\\NUM\"" str))
va val))
)
_$ (defun READZC(str val)
(set(read str)
(if(set(read str)(vl-registry-read "HKEY_CURRENT_USER\\Software\\NUM\"" str))
str val))
)
READZC
_$ la
nil
_$ col
nil
_$ (READZC "col"1)
1
_$ col
1
_$ (READZC"la""图层1")
"图层1"
_$ la
"图层1"
_$(vl-registry-write "HKEY_CURRENT_USER\\Software\\NUM\"" "la""图层2")
"图层2"
$ (READZC"la""图层1")
"图层2"
_$ la
"图层2"
_$