飞雪神光 发表于 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"
_$

页: 1 2 [3] 4
查看完整版本: 难题求教!让字符串成为一个变量