marc578 发表于 2022-7-6 10:36:10

创建txt文件时出现问题

您好,我在创建*时遇到了一个问题。txt文件并在其上写一行简单的代码。
我的Autolisp函数有以下代码:
 
(定义c:prueba4()
(setq f(打开“AAA.txt”“w”))
(写行“Hi friend”f)
(关闭f)
)
 
我做了一个*。txt文件之前,我没有问题创建它(这是一个类似的文件)。
我在我的办公电脑上进行了探索,它工作得很好,但当我回到家,试图将上面的代码作为一个新文件编写时,我做不到。
 
因此,我决定修改和更改文件中已经正常工作的一些文本,但新修改的代码没有设置,因此我总是有相同的原始文本。
 
谁会有同样的不便?
 
当做

David Bethel 发表于 2022-7-6 10:48:56

我首先添加一个调试类型调用,以查看文件是否已打开:
 
(defun c:prueba4()
(setq f(open "AAA.txt" "w"))
(prin1 (type f))
(write-line "Hi friend" f)
(close f)
)
 
 
它应该在命令行中显示文件
 
 
可能是具有该名称的文件被锁定打开,或者符号被覆盖
 
-大卫

ReMark 发表于 2022-7-6 10:58:53

您是否使用ASCII文本编辑器(如记事本)编写lisp例程?
 
当你完成键入例程时,是否在关闭文件之前保存文件?
 
您是否将原始lisp例程加载到AutoCAD中并对其进行了测试?它起作用了吗?

marc578 发表于 2022-7-6 11:08:29

您好,谢谢您的及时回复。该程序可以工作,但唯一的事情是AutoCAD将文件创建到模板文件夹(C:\Documents and Settings\Marco\Configuración local\Datos de programa\Autodesk\AutoCAD 2007\R17.0\chs\Template),我不知道为什么,因为在它将文件创建到“我的文档”文件夹之前。
 
有谁知道AutoCAD为什么这样做(我不会改变其选项中的任何想法)?如何告诉AutoCAD将所有文件创建到“我的文档”文件夹中?

lpseifert 发表于 2022-7-6 11:13:04

试试类似的东西

(setq f(open "C:\\Documents and Settings\\Marco\\My Documents\\AAA.txt" "w"))

Lt Dan's l 发表于 2022-7-6 11:19:23

这肯定会帮到我。谢谢大家

BIGAL 发表于 2022-7-6 11:30:05

只是一个提示,在文件名中看到双\\一旦使用名称中带有空格的目录,在某些情况下,Autocad将停止读取文件名,因此始终使用\\。我提到它是因为这里的许多其他示例可能只使用一个反斜杠,你会想知道为什么在尝试时它不起作用。
 
脚本尤其使用空格作为返回按钮。
 
VBA可以正常工作,只是在lisp中有一些时候不工作。

marc578 发表于 2022-7-6 11:41:48

谢谢你的帮助,它终于工作得很好了。
页: [1]
查看完整版本: 创建txt文件时出现问题