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

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

Как изъять текст введенной команды в Autocadе

Ответ
Поиск в этой теме
Непрочитано 30.10.2008, 13:34 #1
Как изъять текст введенной команды в Autocadе
Nordek
 
Регистрация: 11.09.2008
Сообщений: 386

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


...ух ты, 0:11 не в мою пользу,... че, никто не знает?....
... 0:14 ...

Последний раз редактировалось Nordek, 30.10.2008 в 13:54.
Просмотров: 4781
 
Непрочитано 30.10.2008, 14:11
#2
Baldares


 
Регистрация: 17.10.2008
Саратов
Сообщений: 426


раз, раз... сова вызывает филина
Проверка прошла успешно.
На этом форуме дельфийцев не водиться.
Продолжаю пинговать...
Baldares вне форума  
 
Автор темы   Непрочитано 30.10.2008, 14:13
#3
Nordek


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


... Эт чё, я валет шоль, а где водятся, а почему здесть не водятся - где енто написано?.....
Nordek вне форума  
 
Непрочитано 30.10.2008, 14:29
#4
Кулик Алексей aka kpblc
Moderator

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


Дельфийцев здесь очень мало (из опыта). И практически гарантирую вопрос: "а на фига отслеживать ком.строку? Неужели нельзя сделать без этого?"
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 30.10.2008, 14:29
#5
AlexV

Инженер
 
Регистрация: 02.10.2008
С-Пб
Сообщений: 3,686


Это зверь, конечно, более редкий, чем лиспер или вба-шник. Но безусловно на здешних тропах встречается, хотя редко - главное не спугнуть! (DEM, например, создает что-то связанное со спецификацией на Delphi где-то здесь: http://forum.dwg.ru/showthread.php?t=25650). Но он вроде тоже начинающий.
AlexV вне форума  
 
Автор темы   Непрочитано 30.10.2008, 14:33
#6
Nordek


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


Кулик Алексей aka kpblc, а это и твой вопрос тоже? Ну надо, чтоб по факту прохождения в автокаде команды отрисовки примитива(в командной строке), в делфях запускалась процедура некой обработки этого примитива.... ну как-то так.
Nordek вне форума  
 
Автор темы   Непрочитано 30.10.2008, 14:41
#7
Nordek


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


lispеры, vbaшники......не тот я язык в школе учил.......
Nordek вне форума  
 
Непрочитано 30.10.2008, 14:48
#8
ShaggyDoc

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


Ctrl-C из текстового окна.
ShaggyDoc вне форума  
 
Непрочитано 30.10.2008, 14:53
#9
AlexV

Инженер
 
Регистрация: 02.10.2008
С-Пб
Сообщений: 3,686


Цитата:
Сообщение от ShaggyDoc Посмотреть сообщение
Ctrl-C из текстового окна.
Не созданы мы для легких путей.
И эта повадка у наших...Делфей...
AlexV вне форума  
 
Автор темы   Непрочитано 30.10.2008, 14:55
#10
Nordek


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


ShaggyDoc, оч смешно...
Nordek вне форума  
 
Непрочитано 30.10.2008, 14:57
#11
AlexV

Инженер
 
Регистрация: 02.10.2008
С-Пб
Сообщений: 3,686


Цитата:
lispеры, vbaшники......не тот я язык в школе учил.......
А что учил, Delphi? Да ладно, немалая часть здесь присутствующих в школе кроме русского и английского/немецкого ничего не учила. (имеется в виду, языков)
AlexV вне форума  
 
Автор темы   Непрочитано 30.10.2008, 15:00
#12
Nordek


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


Цитата:
Сообщение от AlexV Посмотреть сообщение
Не созданы мы для легких путей.
И эта повадка у наших...Делфей...
...да я б и рад мож не в делфях, но изучать синтаксис и се(или си)мантику других языков так влом, ктоб знал....

...а нука vbaшники, нука раскажите как на духу, как бы вы в VB это сделали, а я переиначу мож....
Nordek вне форума  
 
Непрочитано 30.10.2008, 15:00
#13
ShaggyDoc

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


Цитата:
Сообщение от Nordek Посмотреть сообщение
lispеры, vbaшники......не тот я язык в школе учил.......
И енто был явно не русский язык... Сначала
Цитата:
как можно изъять, считать, отследить, ну или что-то подобное, строчку введенную в командной строке Автокада, чтобы затем использовать ее в Делфях...
Вот и ответ - "считать" - Ctl-C. "Использовать" - Ctrl-V. Прям в "делфя" и втыкай. А если
Цитата:
чтоб по факту прохождения в автокаде команды
так это уже совершенно иное. Садись учить другой язык - Delphi. Там узнаешь, что какой-то "факт" - это событие. События генерируются программами, в том числе AutoCAD. Их перечень строго определенный. А какие именно имеются - изучай объектную модель AutoCAD. Разумеется, там нет таких глупостей, как "факт прохождения" каких-то буковок.
ShaggyDoc вне форума  
 
Автор темы   Непрочитано 30.10.2008, 15:01
#14
Nordek


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


Цитата:
Сообщение от AlexV Посмотреть сообщение
А что учил, Delphi? Да ладно, немалая часть здесь присутствующих в школе кроме русского и английского/немецкого ничего не учила. (имеется в виду, языков)
...не тот КОМПИЛЯТОР, ладно....
Nordek вне форума  
 
Непрочитано 30.10.2008, 15:03
#15
Кулик Алексей aka kpblc
Moderator

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


К №6: Nordek, я не знаю, как это реализовать на Delphi, но алгоритм я бы сделал таким:
1. Получить метку последнего примитива
2. Запустить команду на выполнение. Пока системная переменная cmdactive <> 0, ждать. Тут возможны свои подводные камни, но пока о них не будем
3. Если cmdactive = 0, то команда завершилась. Получаем месту последнего имеющегося примитива и сравниваем ее с полученной в п.1. Если они не равны, то выполняем свои действия.
А что за примитив собираешься создавать?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 30.10.2008, 15:18
#16
Nordek


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


Цитата:
Сообщение от ShaggyDoc Посмотреть сообщение
И енто был явно не русский язык... Сначала

Вот и ответ - "считать" - Ctl-C. "Использовать" - Ctrl-V. Прям в "делфя" и втыкай. А если

так это уже совершенно иное. Садись учить другой язык - Delphi. Там узнаешь, что какой-то "факт" - это событие. События генерируются программами, в том числе AutoCAD. Их перечень строго определенный. А какие именно имеются - изучай объектную модель AutoCAD. Разумеется, там нет таких глупостей, как "факт прохождения" каких-то буковок.
К столбу придраться - примернр тоже самое, конкретно же спросил "как", знаешь не знаешь, я понял, что ответ скорее всего не получу, буду копаться сам значит - схема отработаная..., а писать, что не по русски че-то, и давать словарные определения моих фраз...это пардон, пи..ками меряться, а этим я заниматься не намерен.
Nordek вне форума  
 
Автор темы   Непрочитано 30.10.2008, 15:42
#17
Nordek


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


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
К №6: Nordek, ...А что за примитив собираешься создавать?
Уже написал .ехе, который отрисовывает определенные контуры, довольно сложные, по считанным координатам габаритных прямоугольников с листа акада, процедура отрисовки происходит по нажатии кнопки на форме .ехе - шника, а для этого надо постоянно прыгать с приложения на Автокад и обратно, ну вроде того, что:
нажал кнопку на форме->выбрал 2 точки на листе автокада->контур с рамкой и штампом отрисовывается...(далее повтор). Вот хочу написать выполнение процедуры button1.click по условию ввода в командной строке соответственно команды определенной, которую и будет ждать делфи...повтор последней введенной команды по нажатию пробела или Enter значительно ускорило бы работу, как там всё на самом деле будет происходить, пока не знаю, пока встал вопрос #1...
Nordek вне форума  
 
Непрочитано 30.10.2008, 15:51
#18
Кулик Алексей aka kpblc
Moderator

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


Как бы лично я поступал: По щелчку на кнопке основное приложение скрывается и активизируется AutoCAD. Через объектную модель выполняется запрос точек, с возможным отловом ошибок ввода. После получения обеих точек обратно активизируется собственное приложение.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 30.10.2008, 16:09
#19
Nordek


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


Ну это все равно не так удобно, как если бы работать только в Autocad и использовать процеруры приложения, написанного в Delphi, в идеале, чтоб его - приложения, и видно то не было...
Nordek вне форума  
 
Непрочитано 30.10.2008, 16:34
#20
Елпанов Евгений

программист
 
Регистрация: 20.12.2005
Москва
Сообщений: 1,439
Отправить сообщение для Елпанов Евгений с помощью Skype™


Цитата:
Сообщение от Nordek Посмотреть сообщение
Ну это все равно не так удобно, как если бы работать только в Autocad и использовать процеруры приложения, написанного в Delphi, в идеале, чтоб его - приложения, и видно то не было...
Не, в идеале, чтоб все было внутри автокада, т.е. без внешних приложений!
А по поводу других языков, могу предложить свое решение внутри акада, но на лиспе
Видимо, я правильный язык учил...

Код:
[Выделить все]
(defun c:Record (/)
;; By ElpanovEvgeniy
;; Начало было положено 2005-11-18
;; http://www.caduser.ru/cgi-bin/f1/board.cgi?t=22492WX
;; продолжение:
;; http://www.theswamp.org/index.php?topic=9446.0;all
 (defun padout (word len / spaces)
  (repeat (- len (strlen word))
   (setq spaces (cons 32 spaces))
  ) ;_  repeat
  (strcat word (vl-list->string spaces))
 ) ;_  defun
 (vlr-remove-all)
 (defun RecordCommands (a1 a2 / f)
  (write-line
   (strcat
    "Command: "
    (padout (car a2) 9)
    "\t"
    (menucmd "M=$(edtime,$(getvar,date),MO/DD/YYYY\tHH:MM\t)")
    (substr (getvar "loginname") 1 7)
    "\t"
    (getvar "dwgprefix")
    (getvar "dwgname")
   ) ;_  strcat
   (setq f (open "D:\\RecordCommands.txt" "a"))
  ) ;_  write-line
  (close f)
 ) ;_  defun
 (vlr-command-reactor
  nil
  '((:vlr-commandended . RecordCommands))
 ) ;_  vlr-command-reactor
 (princ "\n*** --------- Recording Commands --------- ***")
 (princ)
)
Елпанов Евгений вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Как изъять текст введенной команды в Autocadе

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как с помощью vba скопировать текст vasyavip Программирование 13 30.10.2008 13:11
как прочитать автокадовский текст??? pwm58 AutoCAD 7 17.10.2008 13:52
Как перенести текст из AutoCAD'a в MS Word? sear_ch AutoCAD 4 12.01.2004 20:50
Подскажите как построить кривую с помощью команды SPLiNE, к boban Программирование 1 02.11.2003 19:58
Как распечатать 3D-объект в AutoCAD'е? Kirill AutoCAD 4 01.09.2003 12:42