Реклама i
Стань нашим партнером - зарабатывай с нами!
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Удаление файла после его загрузки

Удаление файла после его загрузки

Ответ
Поиск в этой теме
Непрочитано 19.11.2008, 02:27
Удаление файла после его загрузки
+Alex+
 
Архитектура
 
Регистрация: 05.03.2005
Сообщений: 96

Здравствуйте!
Есть такая задача:
В Автокад загружается короткая программа (сценарий), после завершения прописанных операций файл этой программы нужно удалить.
Но пока выполняется эта программа, удалить файл нельзя (он занят).
Можно ли как-то удалить его после, притом что команду на удаление прописать внутри самого файла?
Просмотров: 7965
 
Автор темы   Непрочитано 19.11.2008, 16:26
#21
+Alex+

Архитектура
 
Регистрация: 05.03.2005
Сообщений: 96


Да, нечто подобное. Только вариант не создать для AddLine, или я незнаю как, документации почти нет, а методом тыка не находится.
Файл сейчас удаляется методами Sketchup, После завершения сеанса подключения к Автокаду, но способ несколько некрасивый, возможны ошибки, например, если Автокад не отвечает(юзер задумался, что делать дальше) и файл нельзя удалить. Это тоже решаемо, просто мне хотелось узнать как проще.
+Alex+ вне форума  
 
Непрочитано 19.11.2008, 16:38
#22
Кулик Алексей aka kpblc
Moderator

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


По поводу AddLine и прочего - см.справку самого AutoCAD'a. Там, правда, все время идет обращение к ThisDrawing, но это не проблема
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 19.11.2008, 16:51
#23
+Alex+

Архитектура
 
Регистрация: 05.03.2005
Сообщений: 96


Я знаю,
...но столько нюансов, буду копать дальше.
+Alex+ вне форума  
 
Непрочитано 19.11.2008, 17:00
#24
Кулик Алексей aka kpblc
Moderator

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


Да там из нюансов только одно - OCS (системы координат объектов). С ними могут быть приличные проблемы, а так-то все просто достаточно...
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 19.11.2008, 17:19
#25
+Alex+

Архитектура
 
Регистрация: 05.03.2005
Сообщений: 96


Самая сложность обеспечение быстроты преобразований. Далеко не все возможно получить сразу, приходится пересчитывать всю модель, а это лишнее время.
Те же координаты, кстати. По- разному ухищряясь свел вычисления к минимуму.
Вот где сложности!
+Alex+ вне форума  
 
Непрочитано 19.11.2008, 17:36
#26
Sleekka

-
 
Регистрация: 24.07.2005
Москва
Сообщений: 1,335


Код:
[Выделить все]
(defun test ()
  (alert "Программа загружена!")
  (if (findfile "c:\\test.lsp")
    (progn
      (alert "Файл найден")
      (vl-file-delete "c:\\test.lsp")
      ) ;_ end of progn
    (alert "Файл не существует")
    ) ;_ end of if
  ) ;_ end of defun

(vlax-invoke-method (vla-get-activedocument (vlax-get-acad-object)) 'sendcommand "(test) ")
И еще раз сначала - вот так у меня работает.
Sleekka вне форума  
 
Непрочитано 20.11.2008, 00:38
#27
Кулик Алексей aka kpblc
Moderator

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


У меня нет SketchUp'a, так что мало чем помочь могу
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 20.11.2008, 01:15
#28
Sazanoff_e

А я тут это...погулять вышел...
 
Регистрация: 28.03.2007
Москва - от слова Моск?
Сообщений: 227
<phrase 1=


Ребят, зажигалка есть? курить очень хочется...
Стока словов умных, шо пипец...

__________________
Рожденный проектировать ГОСТов не читает. (с)Туманов А.А.

Последний раз редактировалось Кулик Алексей aka kpblc, 20.11.2008 в 01:39.
Sazanoff_e вне форума  
 
Непрочитано 20.11.2008, 08:45
#29
Makswell

Инженер-строитель
 
Регистрация: 15.08.2007
Киров
Сообщений: 2,204


Sleekka, у меня не работает...
Makswell вне форума  
 
Непрочитано 20.11.2008, 10:13
#30
CB

Конструирование в области нефтеразведки
 
Регистрация: 10.02.2006
Гомель
Сообщений: 321


>+Alex+
Можешь привести пример файла, который нужно удалять?
CB вне форума  
 
Автор темы   Непрочитано 20.11.2008, 12:53
#31
+Alex+

Архитектура
 
Регистрация: 05.03.2005
Сообщений: 96


Цитата:
>+Alex+
Можешь привести пример файла, который нужно удалять?
это обыкновенный lisp файл- программа.
+Alex+ вне форума  
 
Непрочитано 20.11.2008, 14:02
#32
Александр Ривилис

программист, рыцарь ObjectARX
 
Регистрация: 09.05.2005
Киев
Сообщений: 2,408
Отправить сообщение для Александр Ривилис с помощью Skype™


.lsp или .vlx?
Александр Ривилис вне форума  
 
Автор темы   Непрочитано 20.11.2008, 15:04
#33
+Alex+

Архитектура
 
Регистрация: 05.03.2005
Сообщений: 96


Это Lsp файл содержащий как правило 1-2 временных функций.
+Alex+ вне форума  
 
Непрочитано 20.11.2008, 15:27
#34
Александр Ривилис

программист, рыцарь ObjectARX
 
Регистрация: 09.05.2005
Киев
Сообщений: 2,408
Отправить сообщение для Александр Ривилис с помощью Skype™


Большой файл (в Кб)?
Александр Ривилис вне форума  
 
Автор темы   Непрочитано 20.11.2008, 15:39
#35
+Alex+

Архитектура
 
Регистрация: 05.03.2005
Сообщений: 96


Размер разный, от 10 кб и выше. Более 300 кб - это редкость. А вообще размер зависит от количества перебрасываемой информации.
+Alex+ вне форума  
 
Непрочитано 20.11.2008, 15:45
#36
Александр Ривилис

программист, рыцарь ObjectARX
 
Регистрация: 09.05.2005
Киев
Сообщений: 2,408
Отправить сообщение для Александр Ривилис с помощью Skype™


Каким образом этот lsp-файл загружается в AutoCAD и затем производится попытка удаления?
Александр Ривилис вне форума  
 
Непрочитано 20.11.2008, 15:52
#37
Sleekka

-
 
Регистрация: 24.07.2005
Москва
Сообщений: 1,335


Цитата:
Sleekka, у меня не работает...
Плохо, но главное чтобы у автора работало.
Ну может быть так. если голый 2008 кад то он сразу (vl-load-com) не делает.
Код:
[Выделить все]
(defun test ()
(vl-load-com)
  (alert "Программа загружена!")
  (if (findfile "c:\\test.lsp")
    (progn
      (alert "Файл найден")
      (vl-file-delete "c:\\test.lsp")
      ) ;_ end of progn
    (alert "Файл не существует")
    ) ;_ end of if
  ) ;_ end of defun

(vlax-invoke-method (vla-get-activedocument (vlax-get-acad-object)) 'sendcommand "(test) ")
Sleekka вне форума  
 
Автор темы   Непрочитано 20.11.2008, 15:52
#38
+Alex+

Архитектура
 
Регистрация: 05.03.2005
Сообщений: 96


Sendcommand.
А удаляется, как только освободится, sketchup-ом
+Alex+ вне форума  
 
Автор темы   Непрочитано 20.11.2008, 15:58
#39
+Alex+

Архитектура
 
Регистрация: 05.03.2005
Сообщений: 96


Да, собственно говоря, все работает и так. А вот, что не находится более красивый способжалко.
+Alex+ вне форума  
 
Непрочитано 20.11.2008, 16:57
#40
CB

Конструирование в области нефтеразведки
 
Регистрация: 10.02.2006
Гомель
Сообщений: 321


>+Alex+
Я не зря задавал вопрос про временный lsp-файл, т.к. не понятно одно - это функция или набор строк кода? К примеру на диске С существует файл test.lst такого содержания:
Код:
[Выделить все]
;;;здесь идет выполняемый код, например
(setq a 10)
(setq b 20)
;;;здесь мы пытаемся уничтожить файл, но увы...
(if (findfile "c:\\test.lsp")
  (progn
     (if (vl-file-delete "c:\\test.lsp")
      (alert "Файл уничтожен!")
      (alert "Файл занят!")
    ) ;_ end of if
  ) ;_ end of progn
  (alert "Файл не существует")
) ;_ end of if
Загружаем файл : (load "c:\\test.lsp") и видим, что он естественно занят и не удаляется. Но, неужели программа, которая умеет создавать lsp-файл, умеет его загружать, не может сделать набор кода - функцией, т.е. добавить в начало (defun $temp (), а в конец закрывающую скобку? и после загрузки файла (load "c:\\test.lsp") выполнить эту функцию: ($temp).
Код:
[Выделить все]
(defun $temp ()
;;;здесь идет выполняемый код, например
(setq a 10)
(setq b 20)
;;;здесь мы пытаемся уничтожить файл
 (if (findfile "c:\\test.lsp")
  (progn
      (if (vl-file-delete "c:\\test.lsp")
      (alert "Файл уничтожен!")
      (alert "Файл занят!")
    ) ;_ end of if
  ) ;_ end of progn
  (alert "Файл не существует")
) ;_ end of if
)
CB вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Удаление файла после его загрузки

Размещение рекламы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ЮМОР 2006 =) Perezz!! Разное 1122 04.01.2007 00:46
БРЕД СИВОЙ КОБЫЛЫ Kryaker Разное 1876 29.12.2006 23:41
Как добавить в файл чертежа его имя (файла) ? Shura AutoCAD 7 02.12.2003 18:03