Autolisp Работа с текстовым файлом в сборке vlx/fas/prv
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Autolisp Работа с текстовым файлом в сборке vlx/fas/prv

Autolisp Работа с текстовым файлом в сборке vlx/fas/prv

Ответ
Поиск в этой теме
Непрочитано 08.06.2014, 11:33 #1
Autolisp Работа с текстовым файлом в сборке vlx/fas/prv
mikls
 
Регистрация: 01.12.2013
Сообщений: 25

При работе с обычным lisp файлом для записи в файл использовалась команда вида (setq FILE (open fullpath "w")), где fullpath - это полный путь к текстовому файлу в формате txt. Но при загрузки сборки vlx/fas/prv, в которую был добавлен текстовый файл, программа перестала работать, так как по указанному пути текстового файла нет (данный файл находится в сборке). Как правильно указать путь к файлу в данном случае? И еще вопрос: будут ли сохраняться изменения в текстовом файле внутри сборки или перезаписанный текстовый файл хранится где-то в другом месте?
Просмотров: 4964
 
Непрочитано 08.06.2014, 12:43
1 | #2
nolte

спринклеры, сантехника
 
Регистрация: 26.01.2010
Сообщений: 190
Отправить сообщение для nolte с помощью Skype™


во во тоже ломаю голову над этим, прибавь еще DCL файл (куда то надо его положить дабы диалог запустить). пока что теория моя следующая: положить в корневой каталог автокада, или посмотреть в настройках пути файлов, предположить и проверить, что одинаковы для разных версий када и перенести туда TXT и DCL файлы, прописав их в лиспе предварительно. Весь вопрос путь этот правильный или нет пока что не проверял это только теория, если кто может высказаться по этому поводу сэкономит нам с mikls уйму времени.
__________________
Знание лисп: со справочником Н. Полещука
nolte вне форума  
 
Непрочитано 08.06.2014, 13:04
1 | #3
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,839


Если dcl и менять его не подразумевается, то просто положить в сборку, внешние файлы - только по полному пути (и они там физически должны быть), либо в прописанных путях поиска по умолчанию. Есть еще вариант (который с моей точки зрения предпочтительный, например для dcl), это создавать их в "разрешенном месте" предварительно самим-же лиспом.
з.ы. а вобще я против dcl...
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
 
Автор темы   Непрочитано 08.06.2014, 14:06
#4
mikls


 
Регистрация: 01.12.2013
Сообщений: 25


Да, если текстовый файл физически лежит в какой-то папке, и в лиспе прописан этот путь, то все работает. Но только не понимаю какой тогда смысл класть в сборку текстовый файл, если все-равно работаю с другим файлом? Просто хотелось скрыть текстовый файл от просмотра, а получается можно в сборку положить только lisp-файл, а в папку со сборкой (или другую папку заранее прописав в лиспе путь к ней) скопировать тестовый файл.
mikls вне форума  
 
Непрочитано 08.06.2014, 15:42
#5
Andrey_13

Инженер-проектировщик РЗА, ПА, ВК
 
Регистрация: 06.02.2014
Екатеринбург
Сообщений: 32


Цитата:
Сообщение от Дима_ Посмотреть сообщение
з.ы. а вобще я против dcl...
А какую вы предлагаете альтернативу для создания диалоговых окон?
Andrey_13 вне форума  
 
Непрочитано 08.06.2014, 15:51
#6
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


Текстовые файлы можно внедрять в vlx-приложение и читать оттуда, но тогда их нельзя будет изменить. Использование относительных путей позволяет использовать файлы из подпапок. Тут проблема скорее в организации, чем в лиспе...
gomer вне форума  
 
Непрочитано 08.06.2014, 16:12
#7
nolte

спринклеры, сантехника
 
Регистрация: 26.01.2010
Сообщений: 190
Отправить сообщение для nolte с помощью Skype™


gomer,
если я включил DCL в сборку, то вопрос как к ней обратиться какой путь прописАть
__________________
Знание лисп: со справочником Н. Полещука
nolte вне форума  
 
Непрочитано 08.06.2014, 16:36
#8
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,839


Цитата:
Сообщение от Andrey_13 Посмотреть сообщение
А какую вы предлагаете альтернативу для создания диалоговых окон?
Их множество и в зависимости от задачи что-то может быть более, менее удобней - пути решения есть opendcl (я его правда не разу не использовал), можно через связку COM, можно через импорт Net/Arx функций-оберток, можно просто через запуск стороннего exe файла - который "отвечает" подключившись через тот-же com обратно автокаду (здесь плюс, что регестрировать ничего не надо - только exe'шник найти), либо отвечает через какие-нибудь более "олдскульные" вещи типа реестра или файла (ихмо это если совсем туго с автокадом). На сейчас я пользуюсь "своей внутренней" сырой недоделкой вызова классов из .Net библиотек (любых, только чтоб версия Net и версия автокада совпадали - такой аналог импорта системных vla...), в том числе и WinForms например.
то notle - по моему просто имя_файла.dcl - в сборке он сам найдет.
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
 
Непрочитано 08.06.2014, 16:58
#9
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


Цитата:
Сообщение от nolte Посмотреть сообщение
какой путь прописАть
Никакой, просто имя файла с расширением. В таком случае автокад будет искать сначала внутри vlx-модуля, а уж потом на диске
gomer вне форума  
 
Непрочитано 08.06.2014, 16:59
#10
nolte

спринклеры, сантехника
 
Регистрация: 26.01.2010
Сообщений: 190
Отправить сообщение для nolte с помощью Skype™


Проверю (осталось только dcl и лисп к нему дописать ). Спасибо
__________________
Знание лисп: со справочником Н. Полещука
nolte вне форума  
 
Непрочитано 08.06.2014, 17:04
#11
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,839


Цитата:
Сообщение от nolte Посмотреть сообщение
Проверю (осталось только dcl и лисп к нему дописать
Молодец повеселил!
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
 
Непрочитано 08.06.2014, 17:47
#12
Andrey_13

Инженер-проектировщик РЗА, ПА, ВК
 
Регистрация: 06.02.2014
Екатеринбург
Сообщений: 32


Цитата:
Сообщение от Дима_ Посмотреть сообщение
Их множество и в зависимости от задачи что-то может быть более, менее удобней
Как вариант иногда стоит вообще обойтись без диалога, использовав getint, getkword и т. п. функции.
Andrey_13 вне форума  
 
Автор темы   Непрочитано 08.06.2014, 18:05
#13
mikls


 
Регистрация: 01.12.2013
Сообщений: 25



С текстовым файлом такой вариант почему-то не работает (FILE nil).
mikls вне форума  
 
Непрочитано 08.06.2014, 20:36
1 | #14
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,404


Как пример работы с dcl без предоставления dcl: http://autolisp.ru/2010/03/15/dcl-dialogs-create/
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 09.06.2014, 00:13
#15
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
пример работы с dcl без предоставления dcl
как по мне, от лукавого эта писанина, зачем, если диалог особой ценности не несет, да и не всегда можно писать на диск, куда хочешь
gomer вне форума  
 
Непрочитано 09.06.2014, 09:21
#16
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,404


В %temp% можно писать всегда. Иначе 90% программ работать просто не будут.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 09.06.2014, 15:46
#17
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
В %temp% можно писать всегда. Иначе 90% программ работать просто не будут.
Это если есть место на диске ...
gomer вне форума  
 
Непрочитано 09.06.2014, 15:52
1 | #18
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,404


Ага, и если есть компьютер
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 09.06.2014, 17:25
#19
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


Был у меня один случай, когда программа (тв-плейр) отказывалась работать, оказалось она сама накидала в темп гигабайтные файлы по самое не хочу и ей банально не хватало места для слива
gomer вне форума  
 
Непрочитано 09.06.2014, 18:05
#20
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,404


gomer, ты собираешься на dcl писать диалоги размером в несколько гигов? Ну ты даешь
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 09.06.2014, 18:51
#21
ShaggyDoc

Thượng Tá Quân Đội Nhân Dân Việt Nam
 
Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372


Если говорить про внедрение текстовых файлов в VLX, то в этом нет никакого смысла. Да, теоретическая возможность есть. При этом фактически текстовый файл просто "прикопируется" в конце VLX. Точно также можно, например, командой copy "прикомпилировать" данные к EXE. Но толку от этого мало.

Данные в файлах надо хранить отдельно - чтобы их можно было изменять. Никакой "защиты" этих текстов нет. Точно так же незачем компоновать в VLX и DCL-файлы. Это только лишние хлопоты для себя. Какие могут быть "секреты" в DCL?

И если отбросить всю эту "прикомпоновку", то остается FAS-файл. Вот в нем есть большой смысл. Это и защита кода и увеличение производительности. Защита кода - от "обезьяны с гранатой", чтобы не "улучшали". Но квалифицированный специалист всегда и без вскрытия кода напишет такую же программу, а скорей всего еще лучше. Ну, если конечно в коде не запрятана какая-то уникальная формула - "тады ой".

Конечно, DCL безнадежно устарел. Альтернатив полно (см. #8). Замечу, что OpenDCL (на мой взгляд) самый тупиковый путь, да его уже и забросили. Не стоит тратить время на изучение дополнительных оболочек с неизвестной перспективой - лучше уж освоить оригинал. Считается "модным" .NET - так и осваивайте эту платформу.
ShaggyDoc вне форума  
 
Непрочитано 09.06.2014, 20:59
#22
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


А, спорить с вами бесполезно... Замечу, что OpenDCL уже доступен для автокад 2015, не смотря на финансовые затруднения. Раннее была анонсирована поддержка zwcad.
gomer вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Autolisp Работа с текстовым файлом в сборке vlx/fas/prv



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Совместная работа над файлом. R AutoCAD 21 23.06.2017 14:08
Акты скрытых работ Витос Прочее. Архитектура и строительство 324 05.03.2015 12:24
SW 2011: работа в сборке Creator SolidWorks 2 20.07.2012 10:05
AutoLISP: Работа с реакторами Supermax LISP 37 03.08.2010 09:17
Одновременная работа с файлом AutoCad 2006 andrey25 AutoCAD 21 10.11.2008 09:34