Создание лог-файла для LISP

Автор Тема: Создание лог-файла для LISP  (Прочитано 18408 раз)

0 Пользователей и 3 Гостей просматривают эту тему.

Тема содержит сообщение с Решением. Нажмите здесь чтобы посмотреть его.

Оффлайн Пашин ЕвгенийАвтор темы

  • ADN PRO
  • *
  • Сообщений: 662
  • Карма: 12
  • Skype: pashin.evgeniy
Создание лог-файла для LISP
« : 24-11-2015, 07:49:34 »
Доброе утро!

Подскажите как грамотно создать лог-файл для LISP-функции, в котором должна быть информация:

Название файла должно содержать в себе Имя компьютера и дату в формате __ДДММГГГГ_ЧЧММСС, то есть Имя_компьютера__ДДММГГГ_ЧЧММСС.txt.
Внутри файла:
1) Дата: ДД-ММ-ГГГГ
2) Имя пользователя: #####
3) Имя компьютера: #####
4) Начало функции: ЧЧ:ММ:СС
5) Имя функции: «Вставка стандартного блока»
6) Конец функции: ЧЧ:ММ:СС

Буду признателен за помощь.

Цель: генерировать лог-файл для LISP - функции.


Что я делаю не так?

Код - Auto/Visual Lisp [Выбрать]
  1. (setq str1 "Дата создания:"); как определить?
  2. (setq str2 "Имя компьютера:"); как определить?
  3. (setq str3 "Имя пользователя:"); как определить?
  4. (setq str4 "Начало:"); как определить?
  5. (setq str5 (strcat str2 "__" str1 "_" str4)); имя файла
  6. (setq str6 (strcat "\\server-1\SAPR_report\" str5 ".txt")); полный путь к файлу
  7. (setq myFile (open str6 "w"))
  8. (write-line str1 myFile)
  9. (write-line str2 myFile)
  10. (write-line str3 myFile)
  11. (write-line str4 myFile)
  12. (close myFile)
« Последнее редактирование: 24-11-2015, 08:20:25 от Пашин Евгений »

Оффлайн Владимир Шу

  • ADN Club
  • *****
  • Сообщений: 624
  • Карма: 158
    • ПГСу Бложик
Re: Создание лог-файла для LISP
« Ответ #1 : 24-11-2015, 08:28:03 »
Посмотрите тут: http://adn-cis.org/forum/index.php?topic=2580.0 , возможно появиться пара идей как получить имя компьютера и имя пользователя.

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Создание лог-файла для LISP
« Ответ #2 : 24-11-2015, 09:31:22 »
Цитировать
Command: (setq comp (getenv "COMPUTERNAME")) "RIVILISAN"
Command: (setq user (getenv "USERNAME")) "Rivilis-AN"
Command: (setq sdate (rtos (getvar "CDATE") 2 6)) "20151124.082957"
Думаю, что этой информации предостаточно.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Пашин ЕвгенийАвтор темы

  • ADN PRO
  • *
  • Сообщений: 662
  • Карма: 12
  • Skype: pashin.evgeniy
Re: Создание лог-файла для LISP
« Ответ #3 : 24-11-2015, 09:36:19 »
Думаю, что этой информации предостаточно.

Увы, Александр Наумович, не достаточно!

Lisp-функция не работает:
Код - Auto/Visual Lisp [Выбрать]
  1. (setq username (getenv "username"))
  2. (setq copname (getenv "computername"))
  3. (setq sdate (rtos (getvar "CDATE") 2 6))
  4. (setq str5 (strcat copname "__" sdate))
  5. (setq str6 (strcat "\\server-1\SAPR_report\" str5 ".txt"))
  6. (setq myFile (open str6 "w"))
  7. (write-line username myFile)
  8. (write-line copname myFile)
  9. (close myFile)


Файл как не формировался, так и не хочет. Даже если задаю локальный путь, а не сетевой, то все равно кочевряжится.

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Создание лог-файла для LISP
« Ответ #4 : 24-11-2015, 09:37:51 »
Lisp-функция не работает:
Кто не работает? Куда не работает? Какие сообщения выдаёт?
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Отмечено как Решение Пашин Евгений 24-11-2015, 11:44:12

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Создание лог-файла для LISP
« Ответ #5 : 24-11-2015, 09:40:29 »
А это что за ерунда:
Код - Auto/Visual Lisp [Выбрать]
  1. (setq str6 (strcat "\\server-1\SAPR_report\" str5 ".txt"))
В lisp обратные слэши (как и в C/C++/C#) нужно дублировать. Т.е.:
Код - Auto/Visual Lisp [Выбрать]
  1. (setq str6 (strcat "\\\\server-1\\SAPR_report\\" str5 ".txt"))
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Пашин ЕвгенийАвтор темы

  • ADN PRO
  • *
  • Сообщений: 662
  • Карма: 12
  • Skype: pashin.evgeniy
Re: Создание лог-файла для LISP
« Ответ #6 : 24-11-2015, 09:40:32 »
Кто не работает?

Я запускаю из lisp-редактора, но никакой реакции, кроме "'VLIDE" не получаю.

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Пашин ЕвгенийАвтор темы

  • ADN PRO
  • *
  • Сообщений: 662
  • Карма: 12
  • Skype: pashin.evgeniy
Re: Создание лог-файла для LISP
« Ответ #8 : 24-11-2015, 09:45:16 »
Запускаю построчно в командной строке Автокада - работает!

Код - Auto/Visual Lisp [Выбрать]
  1. (setq username (getenv "username"))
  2. (setq copname (getenv "computername"))
  3. (setq sdate (rtos (getvar "CDATE") 2 6))
  4. (setq str5 (strcat copname "__" sdate))
  5. (setq str6 (strcat "\\\\server-1\\SAPR_report\\" str5 ".txt"))
  6. (setq myFile (open str6 "w"))
  7. (write-line username myFile)
  8. (write-line copname myFile)
  9. (close myFile); чем-то ему последняя строка не угодила

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Создание лог-файла для LISP
« Ответ #9 : 24-11-2015, 09:51:03 »
Запускаю построчно в командной строке Автокада - работает!
Так что еще нужно?
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Пашин ЕвгенийАвтор темы

  • ADN PRO
  • *
  • Сообщений: 662
  • Карма: 12
  • Skype: pashin.evgeniy
Re: Создание лог-файла для LISP
« Ответ #10 : 24-11-2015, 10:18:19 »
Так что еще нужно?

Приношу извинения, только последняя строка не работает.

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Создание лог-файла для LISP
« Ответ #11 : 24-11-2015, 10:19:41 »
Приношу извинения, только последняя строка не работает.
Как это выглядит? Если последняя строка не сработает, то и файл не появится или он будет пустой.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Пашин ЕвгенийАвтор темы

  • ADN PRO
  • *
  • Сообщений: 662
  • Карма: 12
  • Skype: pashin.evgeniy
Re: Создание лог-файла для LISP
« Ответ #12 : 24-11-2015, 10:22:14 »
Как это выглядит? Если последняя строка не сработает, то и файл не появится или он будет пустой.

Выводит nil. А файла и нет вовсе. Я думал, что сначала он где-то в памяти формируется, и лишь потом сохраняется в указанной папке. Даже подумал, что с определенной задержкой это происходит. Видимо, нет.

Что мешает ему (lisp-коду) сохраниться?

; error: bad argument type: streamp nil

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Создание лог-файла для LISP
« Ответ #13 : 24-11-2015, 10:36:48 »
Если myfile равно nil то или путь к файлу ошибочный или нет прав на запись. Проверяй.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Пашин ЕвгенийАвтор темы

  • ADN PRO
  • *
  • Сообщений: 662
  • Карма: 12
  • Skype: pashin.evgeniy
Re: Создание лог-файла для LISP
« Ответ #14 : 24-11-2015, 10:41:50 »
нет прав на запись.

Запись у всех пользователей есть. Проверено! От каждого пользователя идет сохранения отчетов в эту папку.

путь к файлу ошибочный

Путь к папке 100% верный. Я же программно создаю в ней файлы.