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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Можно ли передать из PHP в AutoLISP одновременно несколько переменных

Можно ли передать из PHP в AutoLISP одновременно несколько переменных

Ответ
Поиск в этой теме
Непрочитано 01.09.2015, 11:30 #1
Можно ли передать из PHP в AutoLISP одновременно несколько переменных
granit201z
 
Проектировщик
 
Камышин
Регистрация: 17.08.2014
Сообщений: 118

Обращаемся к PHP скрипту. В этом скрипте создаем некоторые переменные, например $aaa; $bbb; $vvv. Как передать теперь значения этих aaa, bbb, vvv таким образом, чтобы они попали в Lisp именно как aaa, bbb, vvv без (setq aaa...) и т.д. То есть присвоить им значения в php, а иметь к ним доступ из AutoLISP
Просмотров: 2902
 
Непрочитано 01.09.2015, 12:03
#2
trir


 
Регистрация: 18.12.2010
Сообщений: 5,057


как взаимодействует PHP и AutoLISP?
trir вне форума  
 
Автор темы   Непрочитано 01.09.2015, 13:02
#3
granit201z

Проектировщик
 
Регистрация: 17.08.2014
Камышин
Сообщений: 118


Цитата:
как взаимодействует PHP и AutoLISP?
Как организовать работу c сервером средствами AutoLISP и php.
granit201z вне форума  
 
Непрочитано 01.09.2015, 13:35
#4
trir


 
Регистрация: 18.12.2010
Сообщений: 5,057


как конкретно вы это делаете?!
trir вне форума  
 
Непрочитано 01.09.2015, 15:04
#5
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588


Нда... почти год прошел, а воз и ныне там.
В той теме которую вы начали ранее и которую Вы указали в сообщении 3, есть ссылка, на то, как выполнять запрос к серверу и получить от него некоторый файл. Специалистом в лисп не являюсь, но ИМХО, Вам никто не мешает на стороне сервера сформировать lisp программу и скачав этот файл просто запустить его в среде автокада, понятно, что у вас появятся некоторые локальные или глобальные переменные, вот и пользуйтесь ими. Хотя, я бы за такое не только по рукам бил и такую программу ни в коем случае не запускал бы!

Путь номер 2.
Напишите на .net свою лисп функцию по общению с инетом, делов то.
Boxa вне форума  
 
Автор темы   Непрочитано 01.09.2015, 17:20
#6
granit201z

Проектировщик
 
Регистрация: 17.08.2014
Камышин
Сообщений: 118


Спасибо, Boxa.

А зачем скачивать файл? Его нельзя запустить на выполнение из php скрипта? То есть AutoLisp запустил выполнение php при помощи vk_DownloadFile, а в свою очередь php запустил своими php-ми методами Lisp, лежащий на этом же сервере. Будет ли у этих 2-х Lispов общее именное пространство, т.е. будет ли считаться, что 2-й лисп просто одна из ф-ий 1-го лиспа?

Путь № 2 для меня не приемлем, поскольку мои познания в программировании очень скудны, чтобы изъясняться с компьютером на нескольких языках программирования
granit201z вне форума  
 
Непрочитано 01.09.2015, 17:35
#7
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588


Цитата:
Сообщение от granit201z Посмотреть сообщение
А зачем скачивать файл? Его нельзя запустить на выполнение из php скрипта? То есть AutoLisp запустил выполнение php при помощи vk_DownloadFile, а в свою очередь php запустил своими php-ми методами Lisp, лежащий на этом же сервере. Будет ли у этих 2-х Lispов общее именное пространство, т.е. будет ли считаться, что 2-й лисп просто одна из ф-ий 1-го лиспа?
Я вообще ничего не понял из написанного, разверните пожалуйста и если не сложно картинку нарисуйте кто куда и что должен передать и откуда получить и где и что у них должно объединиться.
Boxa вне форума  
 
Автор темы   Непрочитано 01.09.2015, 17:48
#8
granit201z

Проектировщик
 
Регистрация: 17.08.2014
Камышин
Сообщений: 118


Цитата:
Я вообще ничего не понял из написанного, разверните пожалуйста и если не сложно картинку нарисуйте кто куда и что должен передать и откуда получить и где и что у них должно объединиться.
Заходим в Автокад. Нажимаем сервис-приложения-загружаем некоторое lisp приложение (оно и является моим 1-м лиспом). И вот оно работает работает и на некотором этапе через функцию vk_DownloadFile, которую мне когда-то посоветовал Vov.Ka, 1-й лисп обращается к некоторому php скрипту, расположенному у меня на сайте. И дальше начинает выполняться этот php скрипт. После некоторых вычислений, он возвращает их итог - текстовую строку в мой 1-й лисп и успешно закрывается. А вот вопрос в том, что если из этого php я запущу 2-й лисп, который расположу на своем сервере - будет ли он взаимодействовать с 1-м?
granit201z вне форума  
 
Непрочитано 01.09.2015, 17:53
#9
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588


Цитата:
Сообщение от granit201z Посмотреть сообщение
А вот вопрос в том, что если из этого php я запущу 2-й лисп, который расположу на своем сервере - будет ли он взаимодействовать с 1-м?
Прежде чем отвечать на этот вопрос, настоятельно рекомендую Вам закачать к себе на сайт лисп программу и попытаться ее запустить.

А вообще, поясните цель всего этого, для понимания.
Boxa вне форума  
 
Автор темы   Непрочитано 01.09.2015, 21:47
#10
granit201z

Проектировщик
 
Регистрация: 17.08.2014
Камышин
Сообщений: 118


Лисп 1:

Код:
[Выделить все]
 (defun c:site ( / )


  (vl-load-com)

  (setq actdoc (vla-get-ActiveDocument (vlax-get-acad-object)))
  (setq obj (vla-get-ModelSpace actdoc))


(defun vk_DownloadFile (RemoteFileName LocalFileName / objHTTP Result)
  (if (setq objHTTP (vlax-create-object "WinHTTP.WinHTTPRequest.5.1"))
    (progn (setq Result	(vl-catch-all-apply
			  (function
			    (lambda ()
			      (vlax-invoke-method
				objHTTP	"Open" "GET" RemoteFileName :vlax-false)
			      (vlax-invoke objHTTP "Send")
			      (if (= (vlax-get-property objHTTP "Status") 200)
				(vlax-get-property
				  objHTTP
				  (if LocalFileName
				    "ResponseBody"
				    "ResponseText"
				  )
				)
			      )
			    )
			  )
			)
	   )
	   (vlax-release-object objHTTP)
	   (if (and Result (not (vl-catch-all-error-p Result)))
	     (if LocalFileName
	       (vk_WriteBinStream Result LocalFileName)
	       Result
	     )
	   )

    ) ; END progn

  ) ; END if

) ; END defun


(setq pr (vk_DownloadFile "http://mysite.ru/siteee.lsp?aaa=5&bbb=4" nil))

(print vvv)


)

Лисп 2, который на сайте siteee.lsp:

Код:
[Выделить все]
 (lambda (aaa bbb)



(setq vvv (* aaa bbb))

(print "VVV")
(print vvv)



)

Не сработало
granit201z вне форума  
 
Непрочитано 02.09.2015, 00:34
#11
gomer

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


Цитата:
Сообщение от granit201z Посмотреть сообщение
Лисп 2, который на сайте siteee.lsp:
а он точно на сайте?
gomer вне форума  
 
Непрочитано 02.09.2015, 09:00
#12
trir


 
Регистрация: 18.12.2010
Сообщений: 5,057


Получаем от сервера код и выполняем его функцией eval
должно работать, хотя не селён в lisp'е...

Цитата:
Команда: (eval (read "(setq vvv (* 3 5))"))
15

Последний раз редактировалось trir, 02.09.2015 в 09:06.
trir вне форума  
 
Автор темы   Непрочитано 02.09.2015, 10:28
#13
granit201z

Проектировщик
 
Регистрация: 17.08.2014
Камышин
Сообщений: 118


Цитата:
Прежде чем отвечать на этот вопрос, настоятельно рекомендую Вам закачать к себе на сайт лисп программу и попытаться ее запустить.
Попытался - не получилось. Обратился в службу поддержки

Разговор со службой поддержки хостинга:

Цитата:
09:42:05 Дмитрий Пшеченко: Здравствуйте! Чем я могу вам помочь?
09:46:35 я: здравствуйте. У меня на сайте размещен некоторый скрипт php, и когда моя программа, запущеная на моем локальном компе обращается к этому скрипту - он начинает выполняться. Я попробовал написать аналогичный скрипт на языке autolisp. поместил его на сайт. Прога к нему обращается, но в ответ лишь получает текстовое содержимое этого скрипта, так, как если бы у этого файла со скриптом было бы разрешение file.txt. то есть код не выполняется
09:47:53 Дмитрий Пшеченко: В какой паке находится скрипт?
09:49:09 я: указал папку

файл со скриптом называется siteee.lsp
09:53:47 Дмитрий Пшеченко: Скорее всего, этот скрипт не запустится.
09:53:55 Дмитрий Пшеченко: Минуту, дополнительно проверю.
09:54:54 Дмитрий Пшеченко: Не будет работать точно на хостинге.
09:55:57 я: а почему?
09:56:55 Дмитрий Пшеченко: Этот язык не предназначен для веб-разработок.
10:00:04 я: простите, а можно список языков, скрипты на которых будут работать?
10:00:52 Дмитрий Пшеченко: Такого списка у меня нет. Тут можете посмотреть базовую информацию: https://ru.wikipedia.org/wiki/%D0%92...BD%D0%B8%D0%B5
granit201z вне форума  
 
Непрочитано 02.09.2015, 10:32
#14
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588


Цитата:
Сообщение от trir Посмотреть сообщение
Получаем от сервера код и выполняем его функцией eval
должно работать, хотя не селён в lisp'е...
Я примерно то же самое написал в 5, однако это поможет если при написании программы предусмотреть такую возможность... в противном случае ничего не получится.
Цитата:
Сообщение от granit201z Посмотреть сообщение
Лисп 2, который на сайте siteee.lsp:
И с помощью чего Вы его запускали на сайте? У Вас на сервере автокад установлен или лисп интерпретатор?

Цитата:
Сообщение от granit201z Посмотреть сообщение
09:56:55 Дмитрий Пшеченко: Этот язык не предназначен для веб-разработок.
думается мне что Дмитрий несколько не прав, однако именно на его хостинге работать не будет, т.к. именно на его хостинге интерпретатора нет.
А вообще лисп для web можно использовать (http://habrahabr.ru/post/131586/)

Последний раз редактировалось Boxa, 02.09.2015 в 10:42.
Boxa вне форума  
 
Непрочитано 02.09.2015, 10:36
#15
trir


 
Регистрация: 18.12.2010
Сообщений: 5,057



нет ничего невозмножного
http://www.linux.org.ru/news/linux-general/3736607

Цитата:
(defquote '(
Любая достаточно сложная программа на C или Фортране содержит заново написанную, неспецифицированную, глючную и медленную реализацию половины языка Common Lisp
)
— '(Филип Гринспен))
http://clacklisp.org/

Последний раз редактировалось trir, 02.09.2015 в 10:49.
trir вне форума  
 
Непрочитано 02.09.2015, 20:45
#16
Дима_

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


Цитата:
Сообщение от granit201z Посмотреть сообщение
Разговор со службой поддержки хостинга:
Я давно так не ржал - в копию на юмор!
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Можно ли передать из PHP в AutoLISP одновременно несколько переменных

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разработка ПОС, искусство проектирования Tyhig Технология и организация строительства 117 25.11.2021 17:38
Какой язык перспективен для инженера-конструктора с условием The_Mercy_Seat Программирование 705 17.03.2021 14:19
Можно ли открыть одновременно несколько окон с с инструментальными панелями tequillka AutoCAD 13 05.05.2015 08:05