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

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

Использование чужого кода в своих программах

Ответ
Поиск в этой теме
Непрочитано 01.09.2013, 15:06 #1
Использование чужого кода в своих программах
Golem-iq
 
студент
 
Москва
Регистрация: 03.03.2012
Сообщений: 50

Доброго времени суток!

Пишу на LISP.
Хочу попробовать дать свою программу проектировщикам на предприятие. Предприятие государственное, поэтому AutoCAD у них лицензионный. Возникает вопрос, смогут ли они пользоваться моей программой? (Сейчас бесплатно).

Основная часть программы написана мной, но есть один кусок кода в виде отдельного файла, который я нашёл на данном форуме. Он позволяет осуществлять передачу значения переменной между AutoCAD и Excel из конкретной ячейки в переменную (и наоборот). Файл называется InetExcel.fas. Чьё это творение я найти не могу, и условия распространения файла тоже не знаю. А написать свою замену не получается.

Если кто может помочь с передачей именно значения между AutoCAD и Excel, будьте добры помогите. На форуме есть примеры с передачей всей таблицы, с её связыванием, а именно считывание/передача одного значения не найду.

Вот листинг кода для передачи / приёма в эксель:
Код:
[Выделить все]
 (defun C:EXM ( / DESRNG EXCELAPP FILEPATH NEXTRNG SELRNG SHT SHTNUM WBK stroka colon)
  (setq FilePath (getfiled	"Выберите файл с прайсами :"
		 (getvar "dwgprefix")
			 "xlsx"
			 16
	         )
  )

  (setq ShtNum (getstring t "\nВведите имя листа <Лист1>: \n"))
  (if (eq ShtNum "")
    (setq ShtNum "Лист1")
  )
  (setq ExcelApp (vlax-get-or-create-object "Excel.Application"))
  (vla-put-visible ExcelApp :vlax-true)
  (setq Wbk (vl-catch-all-apply 'vla-open (list (vlax-get-property ExcelApp "WorkBooks") FilePath)))
  (vlax-invoke-method Wbk 'Activate)
  (setq Sht (vl-catch-all-apply 'vlax-get-property (list (vlax-get-property Wbk "Sheets") "Item" ShtNum)))
  (vlax-invoke-method Sht "Activate")

  ;; <действия в файле>
  (IN_WRITE-EXCEL 3 23 1000)
  (setq el1 (car (IN_READ-EXCEL 3 19 Param)))

  (vl-catch-all-apply 'vlax-invoke-method (list Wbk "Close" :vlax-true))
  (vl-catch-all-apply 'vlax-invoke-method (list ExcelApp "Quit"))
  (mapcar
    (function (lambda (x)
		(if (not (vlax-object-released-p x))
		  (vlax-release-object x)
		)
	      )
    )
    (list DesRng NextRng SelRng Sht Wbk ExcelApp); обязательно в обратном порядке
  )
  (setq	DesRng nil
	NextRng nil
	SelRng nil
	Sht nil
	Wbk nil
	ExcelApp nil
  )
  (gc)
  (gc)
  (gc)
  (prin1)
)

Вот ссылка на сам файл:
http://yadi.sk/d/giKeXlZ_54bK8


функции IN_WRITE-EXCEL и IN_READ-EXCEL для меня тёмный лес. Кто-нибудь может их раскрыть?

IN_WRITE-EXCEL X Y Z - записывает в конкретную ячейку значение
X - номер строки
Y - номер столбца
Z - значение

IN_READ-EXCEL X Y Z - считывает значение из конкретной ячейки
X - номер строки
Y - номер столбца
Z - значение
Просмотров: 8281
 
Непрочитано 01.09.2013, 19:06
#2
Дима_

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


Цитата:
Сообщение от Golem-iq Посмотреть сообщение
На форуме есть примеры с передачей всей таблицы, с её связыванием, а именно считывание/передача одного значения не найду.
Откройте для себя гугл и научитесь искать не примеры не автолиспе, а функционал (API) той технологии которую Вы подразумеваете использовать (из лиспа получить данные excel можно как используя ActiveX модель, так и через истоник данных ODBC).
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
 
Непрочитано 01.09.2013, 20:21
#3
maratovich


 
Регистрация: 12.07.2009
г. Самара
Сообщений: 2,437
Отправить сообщение для maratovich с помощью Skype™


Цитата:
Сообщение от Golem-iq Посмотреть сообщение
Возникает вопрос, смогут ли они пользоваться моей программой? (Сейчас бесплатно)
1. Где Вы видели лисп программу ?
2. Лиспом пользоваться запросто, даже если у Вас хватит сил зарегистрировать в Роспатент с предоставлением кода, просто меняется половина кода на свои закарючки и всё.
3. Бесплатно сейчас - значит бесплатно всегда.
4. Покажите мне хоть один платный лисп.
5. Если хотите делать платное, то делайте изначально.
Цитата:
Сообщение от Golem-iq Посмотреть сообщение
Чьё это творение я найти не могу, и условия распространения файла тоже не знаю. А написать свою замену не получается.
С такими вещами лучше не связываться, в один прекрасный момент Вас могут попросить.... и будет обидно. Даже если найдёте и Вам скажут, что бесплатно, автор никогда не даст Вам эксклюзивные права, а значит в любой момент может объявить о том, что его разработка платная и стоит больше чем Ваша программа.
Вообще если делать что то платное, то надо менять язык, хотябы на VB6.
maratovich вне форума  
 
Непрочитано 01.09.2013, 21:05
#4
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от maratovich Посмотреть сообщение
хотябы на VB6.
ну-ну...
Цитата:
Сообщение от Википедия
В середине 1998 — вышла Visual Basic 6.0. После этого Microsoft резко изменила политику в отношении языков семейства Basic. Вместо развития Visual Basic, был создан абсолютно новый язык Visual Basic .NET, первая версия которого появилась в 2001. Это принципиально новый язык, имеющий, помимо синтаксиса, очень мало схожего с VB 6.0; и отличаясь от него так же сильно, как в своё время VB отличался от QBASIC. VB.NET сразу же занял место VB в Visual Studio, и на этом развитие классического Visual Basic остановилось.
@Golem-iq,
т.о., если сам себе не враг, то однозначно не VB6.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 01.09.2013, 21:16
#5
maratovich


 
Регистрация: 12.07.2009
г. Самара
Сообщений: 2,437
Отправить сообщение для maratovich с помощью Skype™


Цитата:
Сообщение от hwd Посмотреть сообщение
т.о., если сам себе не враг, то однозначно не VB6.
Напугал ежа голой ...ой!
Цитата:
Резюме
Visual Basic команда стремится к "It Just Works" совместимость для Visual Basic 6.0 приложений на Windows Vista, Windows Server 2008 R2, включая Windows 7 и Windows 8.
Цель Visual Basic команды состоит в том, что Visual Basic 6.0 приложений, работающих на Windows XP, также будут работать на Windows Vista, Windows Server 2008, Windows 7 и Windows 8. Как указано в этом документе, основные среды выполнения Visual Basic 6.0 будет поддерживаться в течение полного срока службы Windows Vista, Windows Server 2008, Windows 7 и Windows 8, что в пять лет основной поддержки следуют пять лет расширенной поддержки.
http://msdn.microsoft.com/en-us/vstudio/ms788708
Пока жив Уи́льям Ге́нри Гейтс III - VB6 никогда не загнётся (любимая игрушка).
Да и после этого проги работать будут всегда, а кода с примерами в интернете больше чем каких либо.
maratovich вне форума  
 
Непрочитано 01.09.2013, 21:23
#6
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


@maratovich,
Ты не ощущаешь никакой разницы между такими понятиями как "поддержка" и "развитие"? VB6 не развивается и развиваться уже не будет. Этого более чем достаточно для того, чтобы не тратить время на изучение языка, всё ещё подключенного к аппарату искусственного дыхания. Тем более, что существует его более продвинутый потомок, который как раз таки успешно развивается.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 01.09.2013, 21:33
#7
maratovich


 
Регистрация: 12.07.2009
г. Самара
Сообщений: 2,437
Отправить сообщение для maratovich с помощью Skype™


1. В VB6 есть всё необходимое, даже к LT цепляется.
2. Лисп тоже доживает своё, давайте все бросим писать на нём.
3. Я ответил человеку на его вопрос, и предложил наиболее оптимальный вариант для его уровня и возможностей.
4. Если у автора появятся вопросы - он спросит.
5. Заканчивай флудить.
maratovich вне форума  
 
Непрочитано 01.09.2013, 21:34
#8
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Offtop:
Цитата:
Сообщение от maratovich Посмотреть сообщение
5. Заканчивай флудить.
вот чья бы корова мычала...


Offtop:
Цитата:
Сообщение от maratovich
2. Лисп тоже доживает своё, давайте все бросим писать на нём.
"Лиспы" - они бывают разные, если ты этого не знаешь...


Offtop:
Цитата:
Сообщение от maratovich
предложил наиболее оптимальный вариант для его уровня и возможностей
ну-ну, оценщик...
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:

Последний раз редактировалось hwd, 01.09.2013 в 21:40.
hwd вне форума  
 
Автор темы   Непрочитано 01.09.2013, 21:42
#9
Golem-iq

студент
 
Регистрация: 03.03.2012
Москва
Сообщений: 50


Цитата:
Сообщение от maratovich Посмотреть сообщение
1. Где Вы видели лисп программу ?
2. Лиспом пользоваться запросто, даже если у Вас хватит сил зарегистрировать в Роспатент с предоставлением кода, просто меняется половина кода на свои закарючки и всё.
3. Бесплатно сейчас - значит бесплатно всегда.
4. Покажите мне хоть один платный лисп.
5. Если хотите делать платное, то делайте изначально.

С такими вещами лучше не связываться, в один прекрасный момент Вас могут попросить.... и будет обидно. Даже если найдёте и Вам скажут, что бесплатно, автор никогда не даст Вам эксклюзивные права, а значит в любой момент может объявить о том, что его разработка платная и стоит больше чем Ваша программа.
Вообще если делать что то платное, то надо менять язык, хотябы на VB6.
1. Странный вопрос, я привык называть то что пишется на каком-либо языке программирования "программой", без отхода в сторону надстройка это или же целый пакет приложений. Возможно это не правильное мышление, но под LISP-программой я понимаю загружаемый в AutoCAD файл, который добавляет функциональности. Если проще надстройка. (Вообще не суть важно, вроде...)
2. Согласен.
3. То же есть большая доля правды.
4. Вроде таких не видел, но вопрос не взбунтуется ли автор, что я просто взял и без спросу использовал его труд. Ему может просто быть обидно
5. Возьму мысль на вооружение
Golem-iq вне форума  
 
Непрочитано 01.09.2013, 21:55
#10
maratovich


 
Регистрация: 12.07.2009
г. Самара
Сообщений: 2,437
Отправить сообщение для maratovich с помощью Skype™


Цитата:
Сообщение от Golem-iq Посмотреть сообщение
Возьму мысль на вооружение
Это будет верный вариант.
Однажды я сам попал, сделал программу бесплатно для своего отдела (экономила кучу бабок директору), ну а когда он меня с ЗП кинул и я ушел, прога осталась (хоть и чистил компы перед уходом). Разные ситуации в жизни бывают. Зато жизнь учит.
А нормальную защиту на Лисп не поставить, даже на dll очень сложно, поэтому нужен exe файл.
И если сделаете платной, то можете сразу и лицензию и авторские права сделать.
Я тоже долго думал, и пришел к выводу - делаю программы платные, с нормальной защитой, но стоят они 100-300 руб. чтобы каждый мог себе позволить, а тем более контора для которой Вы хотите делать программу.
maratovich вне форума  
 
Автор темы   Непрочитано 01.09.2013, 22:01
#11
Golem-iq

студент
 
Регистрация: 03.03.2012
Москва
Сообщений: 50


Цитата:
Сообщение от maratovich Посмотреть сообщение
Это будет верный вариант.
Однажды я сам попал, сделал программу бесплатно для своего отдела (экономила кучу бабок директору), ну а когда он меня с ЗП кинул и я ушел, прога осталась (хоть и чистил компы перед уходом). Разные ситуации в жизни бывают. Зато жизнь учит.
А нормальную защиту на Лисп не поставить, даже на dll очень сложно, поэтому нужен exe файл.
И если сделаете платной, то можете сразу и лицензию и авторские права сделать.
Я тоже долго думал, и пришел к выводу - делаю программы платные, с нормальной защитой, но стоят они 100-300 руб. чтобы каждый мог себе позволить, а тем более контора для которой Вы хотите делать программу.
А на чём пишите?
Golem-iq вне форума  
 
Непрочитано 01.09.2013, 22:04
#12
maratovich


 
Регистрация: 12.07.2009
г. Самара
Сообщений: 2,437
Отправить сообщение для maratovich с помощью Skype™


Цитата:
Сообщение от Golem-iq Посмотреть сообщение
А на чём пишите?
VB6
мои творения
maratovich вне форума  
 
Автор темы   Непрочитано 01.09.2013, 22:07
#13
Golem-iq

студент
 
Регистрация: 03.03.2012
Москва
Сообщений: 50


Цитата:
Сообщение от maratovich Посмотреть сообщение
Благодарю. Подумаю над переходом на VB6, но всё же сейчас у меня есть практически готовый проект на LISP, пусть и написанный моими кривыми руками, а VB6 я даже не изучал...
Golem-iq вне форума  
 
Непрочитано 01.09.2013, 22:12
1 | #14
maratovich


 
Регистрация: 12.07.2009
г. Самара
Сообщений: 2,437
Отправить сообщение для maratovich с помощью Skype™


Цитата:
Сообщение от Golem-iq Посмотреть сообщение
а VB6 я даже не изучал...
Берёте код VBA (его куча на форуме), вставляете в VB6 и он работает, практически никакой разницы.
А Бейсик (он же VB6) насколько я понимаю, в школах ещё не перестали преподавать. Если что пишите в личку.
maratovich вне форума  
 
Автор темы   Непрочитано 01.09.2013, 22:12
#15
Golem-iq

студент
 
Регистрация: 03.03.2012
Москва
Сообщений: 50


Цитата:
Сообщение от maratovich Посмотреть сообщение
Берёте код VBA (его куча на форуме), вставляете в VB6 и он работает, практически никакой разницы.
А Бейсик (он же VB6) насколько я понимаю, в школах ещё не перестали преподавать. Если что пишите в личку.
хорошо, благодарю
Golem-iq вне форума  
 
Непрочитано 01.09.2013, 22:37
#16
gomer

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


Offtop: У меня как-то после запуска программы написанной на vb6, skiin3, отказывался запускаться автокад2008, так что не все так гладко, как кажется
ТС, вам всего лишь нужно, поднять свой анубис с места и покопаться в объектной модели Экселя, чтобы добавить пару строк в свою программу и забыть о чужом коде
gomer вне форума  
 
Автор темы   Непрочитано 01.09.2013, 23:05
#17
Golem-iq

студент
 
Регистрация: 03.03.2012
Москва
Сообщений: 50


Цитата:
Сообщение от gomer Посмотреть сообщение
Offtop: У меня как-то после запуска программы написанной на vb6, skiin3, отказывался запускаться автокад2008, так что не все так гладко, как кажется
ТС, вам всего лишь нужно, поднять свой анубис с места и покопаться в объектной модели Экселя, чтобы добавить пару строк в свою программу и забыть о чужом коде
поднимал и пытался, плохо выходит пытался.
Golem-iq вне форума  
 
Непрочитано 01.09.2013, 23:44
#18
Дима_

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


Цитата:
Сообщение от maratovich Посмотреть сообщение
Вообще если делать что то платное, то надо менять язык, хотябы на VB6.
Цитата:
Студентов, ранее изучавших Бейсик, практически невозможно обучить хорошему программированию. Как потенциальные программисты они подверглись необратимой умственной деградации...
Э.В. Дейкстра
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
 
Непрочитано 02.09.2013, 10:17
#19
Do$

AutoCAD/Civil3D LISP/C#
 
Регистрация: 15.08.2008
Санкт-Петербург
Сообщений: 1,701
Отправить сообщение для Do$ с помощью Skype™


Цитата:
Сообщение от maratovich Посмотреть сообщение
4. Покажите мне хоть один платный лисп.
А почему бы и нет? Показывать не стану, придется поверить на слово: платные разработки на голом (авто-,вижуал-) лиспе я делал. Встречались мне и различные модульные части в виде vlx в платных приложениях. Так что это вполне реально.
Цитата:
Сообщение от maratovich Посмотреть сообщение
2. Лисп тоже доживает своё
Это из области домыслов, мифов и легенд. Если говорить про встроенный в автокад лисп, то альтернативы ему нет.
__________________
Толковый выбор приходит с опытом, а к нему приводит выбор бестолковый. (The Mechanic)
Do$ вне форума  
 
Непрочитано 02.09.2013, 10:25
#20
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Offtop:
Цитата:
Сообщение от Do$ Посмотреть сообщение
Цитата:
Это из области домыслов, мифов и легенд. Если говорить про встроенный в автокад лисп, то альтернативы ему нет.
Не обращай внимания : maratovich в очередной раз путает белое с пушистым: то "поддержку" с "развитием", а теперь "развитие" с "доживанием". Хотя, ладно бы он сам путался (ему можно), но печально, что эту лапшу он вешает тем, кто "не в теме" и те это "кушают"...
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Использование чужого кода в своих программах

Реклама i


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Какой язык перспективен для инженера-конструктора с условием The_Mercy_Seat Программирование 705 17.03.2021 14:19