Ahankhah 发表于 2022-7-6 09:15:57

如何区分只读

大家好,
怎么可能发现任何图形由于被另一个图形打开而处于只读状态,而不打开它?

Lee Mac 发表于 2022-7-6 09:22:02

我能想到的最好方法是搜索DWL文件:
 
(findfile "<Filename>.dwl")

Ahankhah 发表于 2022-7-6 09:24:41

谢谢李,一如既往:)。

irneb 发表于 2022-7-6 09:27:46

但它并不总是有效的。在某些情况下(例如,如果AC崩溃),它不会删除此文件。另一种选择是使用open功能测试其是否可以打开:;;; Test if file is already opened by someone / is set to be read-only
(defun FileOpenTest (filename / f)
(if (setq f (open filename "a"))
   (progn (close f) t)
)
)

Dipali 发表于 2022-7-6 09:29:09

“whohas”提供的信息不需要搜索

MSasu 发表于 2022-7-6 09:33:33

@irneb:由于您试图以文本模式打开文件,因此这不会受到文件状态的影响(打开或不被其他应用程序打开)。无论参数文件的状态如何,例程都将返回T。
而且,我真的一点也不喜欢用这种方式打开二进制文件。。。
 
当做
米尔恰

MSasu 发表于 2022-7-6 09:37:36

我担心OP正在寻找一种以编程方式获取信息的方法——WHOHAS命令不能在命令提示符下使用。然而,它从这些DWL文件中获取信息。
 
当做
米尔恰

Ahankhah 发表于 2022-7-6 09:40:32

 
irneb,非常感谢。它工作得很好。

Ahankhah 发表于 2022-7-6 09:44:08

 
Mircea,irneb编写的代码很好用。

Ahankhah 发表于 2022-7-6 09:45:11

 
迪帕洛,
正如Mircea提到的,不幸的是,whohas对程序员不友好。
页: [1] 2
查看完整版本: 如何区分只读